Posts Tagged ‘Open Source Software’

Why We Open Source Our Programs

پێنج شه‌ممه‌, شوبات 10th, 2011
Hello guys,


It has been a while since I last posted something to my blog, that was due to me working intensively on my master thesis. I promise once I am done with the thesis, I will post my experience about it.


The other day, I got an email from one computer science student, asking me:
“I want to know why somebody would like to work free for the development of Oss softwares? Who provide the money to open source contributors? What is their profit to give their own developed software’ source code to others freely.”

I must confess, this is the most frequently asked question about free and open source programs. Seriously, what makes those developers spend their valuable time, on some free and open source programs? Why don’t they get employed in some software company and work there for a good salary? Or, simply put some price on their programs and put them on the web, to collect some easy money!


There are so many goals behind developing for free and open source programs, starting from doing it for the sake of freedom to doing it as part of business. Yes, you can still do your business with open source programs, like a bunch of companies do.


GNU project, an example for developing open source softwares, for the sake of freedom

A project like GNU (and other related projects, like: GNOME, GIMP and others) are all done by community and for the community, there is not only a single person behind them, there are no companies behind them, they are done by the community, and you can see their footprints simply everywhere.


When Richard Stallman started the free software movement, he was an employee at the MIT institute, but his morals didn’t allow him to continue like that, and made him one very unforgettable personality in the history of the computer, he started the first step towards the free world and the free society! You can read his essays by following this link.


Richard Stallman, the person behind GNU

When Ghandi started the revolution in India, he wasn’t aiming for good money to get when his mission is completed, but he simply fought for freedom! Freedom is the thing that everyone should fight for. Egyptians are protesting and leaving their works to get freedom.


It is immoral, when you write a program and sell it to someone, then tell him, if you lend it to your neighbor, I sue you! Or, if you wanted to change the code the way you want, you have to pay me more (even though, the customer might be able to add it on his own)! Or, you have to 100% trust that I am not phishing you, and the software that I wrote for you has no back doors.


Freedom, in software is (from: http://www.gnu.org/philosophy/free-sw.html):

  1. The freedom to run the program, for any purpose (freedom 0).
  2. 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.
  3. The freedom to redistribute copies so you can help your neighbor (freedom 2).
  4. 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.

It is not a shame to collect money by programming, I would say it is a good practice too. Developers need money, in order to be able to continue developing their programs. There are plenty of ways to collect money while you are developing for free and open source software programs.


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.


Cheers!

Share