Understanding Opensource

Cameron Riley originally posted this on the Apache Jakarta website. As that project has been retired, it now appears here.

With the opensource system, if you find any deficiency in the project, the onus is on you to redress that deficiency. Opensource projects provide you with the means and mechanism to not only remove inadequecies in any part of the project but also to improve the project. Without this positive feedback loop an opensource project dies. Opensource doesn't improve by advocacy, mindshare, or by having 10 million users; it improves by participation and contributions from the user community.

What that boils down to is, if you see something wrong and do nothing about it, the opensource system hasn't failed you. You have failed the opensource system.

So if I am missing a needed feature in a project and I do nothing about it, it is my own fault for not getting off my lazy arse and taking advantage of the participation opensource allows. One of the things that really annoys me is the continual slagging of some of the other opensource projects that get more media time. It is okay slagging a proprietary product since you often have no other way of getting your neck into the user-development feedback loop. But slagging an opensource project is ignorant. The whole mechanism exists to empower the user. If there is something that would cause that person to slag a project then it means enough to them to do something about it. In simpler words, fix it! :)

As a rule marketers count bodies lol. With a proprietary product, if I like it, the only way I am allowed to participate in its improvement is by buying it. The more I buy, the more likely it is to be successful and provide me with something stable and persistent in the future to develop and deploy with. The more users who buy the proprietary product, the more the company providing it can improve that product. This includes not only the cost of the development but all the other stuff that goes with it, like profit, marketing, etc. So my buying dollars don't directly go to the improvement of that product. Even so, having lots of users is good for a proprietary product's future.

Using Apache Turbine as an opensource example, its continued improvement and success is directly proportional to the participation of its user community. If I contribute something to Turbine, 100% of my "something" has gone to improve Turbine, rather than a tiny percentage of the purchase price I paid for a proprietary product. One contributing user in an opensource project is worth 10,000 sold units of a proprietary product, in terms of the amount and value of improvements that would result.

For the above reason, "more users" isn't important in opensource. In our example, every Turbine user has their own reasons for using it. But contributing and participating are definitely important for the improvement of any opensource project.

Copyright 2024, The Apache Software Foundation, Licensed under the Apache License, Version 2.0.
Apache® and the Apache feather logo are trademarks of The Apache Software Foundation...