When you’re making the software that is based on some open source code it’s crucially important to participate in a life of the community. Why?
First of all let’s remember why have we decided to be dependent on some OSS at the first place. Well, it’s better than making all from scratch because the other great programmers have already done all the work for us. Since this software are being used by some amount of people, the developers have probably fixed many bugs. In many cases the code that is created in opensource has some kind of code standard and is covered with some amount of unit tests. If the community is big and the projects this cored is used in are important – than someone have already thought about the security as wel. The reuse of that code is saving us a lot of money.
This code is evolving – the developers add a lot of new features, make the software faster and more beautiful. So when we’re using the open source code as a platform for our projects we’re trying hard not to patch it too much because we want to use all these updates. This is also very understandable.
So what about the original thesis? We’re making money here, why do we have to answer the newbie questions on the forums, figuring out the mistakes in the mailing lists, improving documentation and sponsoring the events that are related to that software? I’ll try to offer my opinion.
Fist of all: the more people are interested in the software – the more people eventually participate in its creation. And as I have demonstrated earlier, we consider the open source developers as our employees that create the great code, but we don’t have to pay them anything. Of course we need more of them to come.
Secondly – the more people are interested in software and intensively use it – the more bugs they report. Those are our free testers, and because of that we also want to open our own code.
Thirdly – when the software is popular it’s easier to find the hackers and wizards who can work as our employees. The more those guys on a market – the more opportunities for us to chose.
How the software become popular? Well, it has to be good and usable, have good documentation, have the community that can answer any question. You can also promote it with the advertisement and the events. As you can see it’s now the full circle.