From COKS - Open Source Center - Slovenia
Open source for absolute beginners
Perhaps you have already heard about open source software and you can't quite believe that it offers a way to use software for free. Perhaps you have heard that open source is a movement espoused by men (and some women!) sporting beards and sandals. Perhaps you have simply no idea what it is and you want to find out more. Whatever your motivations, it's always a good time to start learning about free and open source software.
1. What is open source software?
Ask what the main defining characteristic of open source software is and most people will tell you It's free! Whilst this is usually true it is not the defining characteristic. The key to understanding the meaning of open source software lies in the licence. You may not have even been aware that virtually all software comes with a licence. That's because software is copyright material. The licence is needed to let you know what you can do with the software. Open source software is always software that has been released under a licence that has been certified by the Open Source Initiative (OSI). These licences are certified to meet the criteria of the Open Source Definition. The criteria include granting of the right to freely redistribute the software, access to the source code, and the permission to modify that source code and distribute the modified version of the software. Of course licensing issues may not be of any particular interest to you. For open source software, however, these are crucial because only the licence gives you, as a receiver of the software, the permission laid out in the Open Source Definition. So is it free or not? Nothing in an OSI-approved licence prohibits anyone from charging for a particular piece of open source software. However, this rarely happens. Since the licence enables anyone to redistribute the software freely, any customer could make a million copies and just give them away. Charging a licence fee for open source software just isn't a practical way to make money. But yes, there are other ways to make money with software than merely charging a fee to let people use it. The important thing to note is that the low cost of acquiring open source software is a by-product of the licence and not a criteria for such a licence. There are others as well.
2. Is free software the same as open source software?
Yes and no. The expression free software is championed by the Free Software Foundation (FSF). Free here always means free in the sense of freedom, not in the sense of having no monetary cost. It was coined long before the expression open source software came along. In the same way that the OSI is the arbiter of open source definition, the Free Software Foundation is the maintainer of the Free Software Definition. However, it is entirely possible that a licence can be deemed free by the FSF at the same time as being certified as open source by the OSI. Indeed, the best known free software licence, the GNU General Public License is also an OSI-certified licence. One final point. Do not be mislead if you come across the term freeware. This is not open source software. It is also not free software (in the FSF sense). It is merely software with no financial cost. Again, this term comes from an earlier era. It is much deprecated these days.
3. How does the open source world work?
Why would anyone want to give away the software program that they have sweated blood and tears over? And how do they give it away? Moreover, what happens after the software has been released to all and sundry? Who looks after it and produces new and improved versions? These questions divide into a consideration of open source as a software development methodology, and the notion of open source communities. OSS Watch has a number of briefing notes exploring aspects of how the open source world works.
3.1. Open source development
Open source is developed by a number of people who may have no connection to one another apart from their interest in the open source project. Consequently, the software development methodologies adopted are not the same as those found in closed source development projects. The first major difference is in the roles that people play within the development process. There are no "managers" in the sense of someone capable of delegating tasks to others, each team member takes on whatever tasks they need to in order to make the software suitable for their needs. However, the development process is far from chaotic, there are mechanisms in place to ensure that each developers changes are in keeping with the needs of other users an developers. A second, key area for open source development is the need to involve users within the development process. One common way of doing this is to encourage new users to assist with parts of the development process, such as creating project documentation, user testing, requirements analysis and use case design.
Since open source is developed by a group of individuals with a shared interest in the project this community of users and programmers is key to the advancement of any open source project. The following documents look at various aspects of community in open source.