3rd Article

From ADempiere
Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.

Philosophical Tenets of Open Source (Part 1) by Alexandre & Frederick Tsang Mang Kin (Posterita)


In this article and the forthcoming ones, we will try to examine briefly some of the philosophical tenets of open source. This should help you better understand what is open source and why people do it. So let us start...


1/ "Everyone Together Is Smarter than Your Group Alone"


Making the source code available is in fact an open invitation to the world to help on your project. And hopefully, if it attracts sufficient interest, some volunteers will opt to collaborate on your project by testing it, using it, criticising its design, suggesting new functionalities and even donating funds. The sum of all these people using your software will encompass a wide and diverse range of experience and expertise ranging from end users, testers, implementors to developers. If we can use an analogy, it will be as if a book you wrote is being proofread by thousands of people, thus giving you new ideas and correcting typos. There is a chance that you will be publishing a great book.... For a software, the same rationale applies: Numbers matter...the larger and the more active the community is, the better your software will be. "Innovation happens elsewhere": not all the smart people sit in your office. So if you can get help from those bright persons, why shouldn't you?


2/ “Open Source Requires an Open Development Process”


It might be tempting to think that you can do an open source project just by posting publicly your source code. Let us go back to our book example, if you just let people view your copy and never integrate their ideas nor their corrections, is this an open source approach? By any means, the answer must be a resounding no because open source requires an open development process. There must be no distinction between external and internal people to your company. When trying to reach decisions, the democratic debates can be noisy and quite passionate at times. But eventually and normally, the bazaar reaches a consensus. In exchange, you will build incredible loyalty and a desire to move forward with a shared vision from the whole community. If you don't, and you think you will be able to say: “sorry guys, whether you like it or not, that is just the way it is gonna be”. This will amount to a suicide! The community will fork your project: it will take the code that was freely available (By the way, that was the reason why people join the project in the first place) and start a new one. An example: the management of Compiere ERP/CRM alienated its community by refusing contributions (such as bug fixing), by changing its business model, and by refusing to listen to its members. The community posted an open debate inviting Compiere to respond and propose a solution to the satisfaction of all. However, as Compiere did not change any of its positions, a fork was created. As a result, by embracing fully an Open Development Process, Adempiere Bazaar is now one of the leading open source project on sourceforge.net.