Free software. In many ways it is an unfortunate term to describe what most people today know as open source software. Although the term is intended to convey the idea of freedom, it is often misunderstood as meaning ‘free of cost’. And while most open software is indeed available free of charge, there are still costs associated with implementing any software in a business. Open source software’s real value is not that it is cheaper than other alternatives, though that is more often than not the reality, it is that it offers a set of values that proprietary does not.
Open source software is based on a few important principles which ensure freedom for users. In his excellent bee-keeper model of professional open source software, James Dixon outlines the principles that guide successful open source projects:
Open source software projects thrive on feedback and communication. Not just users reporting bugs, but users also being able to track progress on those reports. Open source also allows users to see the source code, review it and even modify it. It also provides forums and other community interface points where users can offer advice, feedback and even criticise the software. Not many organisations are ready for this level of user involvement with their product and yet, without openness it is nearly impossible to develop a community around a software project.
Open source also thrives on transparency. This can take the form of published roadmaps for future releases, public defect tracking systems, public documentation on current and future plans and regular communication with the community about problems, obstacles and direction. Transparency is allied to openness but is not the same thing. Transparency allows outsiders to see what is going on inside. Openness allows those users to participate in the process.
Early and often
There is a mantra in the open source world: release early and release often. Unlike most proprietary software organisations which wait until they feel they have a perfect product to release, open source developers release software code as soon as they can. Doing this ensures that the community is able to test the software and assist in finding and fixing problems. The result is a dynamic and rapid development environment that turns out stable and full-featured software that has been well-tested.
Every generation has different expectations, says Dixon, from finding knowledge in a book, to finding it on the internet, to actually being able to contribute to knowledge through things such as Wikipedia. Open source software is no different. Users expect a high degree of openness and transparency and expect to be able to contribute to projects.
What is important about open source software, says Dixon, is that all of the principles combine to create success. Each one entails a leap of faith but ultimately they are all required to ensure that an open source software project is successful. Simply giving someone a free evaluation licence or allowing them to only view the source code doesn’t have the same disruptive power of open source done properly.