|GNU project, an example for developing open source softwares, for the sake of freedom|
|Richard Stallman, the person behind GNU|
- The freedom to run the program, for any purpose (freedom 0).
- The freedom to study how the program works, and change it to make it do what you wish (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help your neighbor (freedom 2).
- The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
Companies like (RedHat, Novell and Canonical) depend heavily on open source software and they can still survive and grow. Instead of selling the software that they produce, they sell the services that they provide with the software. By services I mean, maintenance service, technical support among others.
Would you believe that, most of the big companies have their open source programs, either directly or indirectly, Google has Android, Chromium browser and Chromium OS. Apple has WebKit the engine behind Safari and Chrome (and Chromium) browsers. Nokia has Qt framework and together with Intel work on MeeGo And finally, Oracle has MySQL, Java, Netbeans and OpenOffice.org among others.
Free and open source software, is not some unachievable goal, it is already here, if you look at Ubuntu's software center you can see the impressive number of the good free and open source softwares there. Someone like me, uses almost no proprietary software and I lack basically no software.
Practically speaking, it is quiet easy to gain money by programming for open source software, you can put a donation button somewhere on your website, and the good people around the world will make you happy! You may be surprised, but a project like Wikipedia is run by donations only!!
Last but not least, when a programmer uses a software and see it lacks some feature that he needs deadly, most likely he will download the source code, study the code, add the feature, commit the code back to the repository, and as a result everyone will get the same functionality. That is why, open source is from everyone and to everyone.