Wizzup?
2010-06-14 20:02:00
So what is all this babble about Open Source? Let's start off with a little historical story.
At the very beginnings of computer science, (when the computers were as large as you entire living room) researches were the only ones with access to computers. Researches (as they always do), shared their research and source code. Of course there was some rivalry about who was the first to built a specific computer or feature; but once they had finished their system, it was made public. This way people all over the world could reach the research paper, and do more research based upon those papers. This is the appropriate way to do science and science is (up till now) still using this system. There are literally millions of thesis and papers freely available to read. (Although some require that you are a student or member of the university)
Then, when the hardware became much smaller, the idea of having a computer in every house slowly started to become realistic. I'm not accurately going over the exact time line nor historical events, but there were some operating systems that could run on those computers, and do basic tasks).
A few years later, Bill Gates started Microsoft, and did something surprising (I'm not sure if he was the first to do this, but he's definitely a co-inventor in my eyes); he decided NOT to show the world his code. His strategy turned out to be quite a success from the economic point of view. (IOW: He got lots of money) Soon other companies picked this strategy up, and the closed source strategy became the standard for many companies, up till today.
Basically this meant much more rivalry, and even though the computer industry is still booming up to today - less research was shared by companies and more of them started doing the same stuff - in parallel. Universities and researchers still share their research and source code.
In order to counter this movement, some hackers (no, that's not crackers) created a very restrictive license (the GPL), that basically allowed you to use their code only if you kept the full source open, AND licensed it under the same license.
In my opinion this license also removes a small piece of your freedom, namely, the choice to share your code with everyone regardless what they do with it.
OK, so I'm a bit tired of writing history stories and I'm not sure how historically correct my little story is, but it should give you the general idea.
So why is this a problem? The closed source strategy turned out to be successful, what is the problem? The problem lies in that fact that closed source quickly conquered the personal computer industry. Now the problem with closed source isn't just a moral one (not sharing information), but more problems arise.
As products of companies become more popular, so becomes the desire to find holes in the system, to break the system. Curiosity is what brought mankind and science this far, and it is what will take us much further. So what happens if people break a system that is used all over the world? They could tell the company, and the closed source company can secretly issue a fix to address this problem. Or… the group (or person) who found the bug abuse the hole in system to cause a lot of damage.
This problem is applies to open source software as well. However; open source software is often much more secure. Everyone can look at it, find bugs, send in patches, and the leak is fixed. With companies that maintain a closed source strategy, this is not the case. In real life situations, you will also very often see that the person who found the hole in the software will issue a patch to an open community, but will not necessarily tell the company about it. Whether this a moral question or just the case that most open source software isn't as widespread as the closed source software remains open, but I personally think it is combination of both.
So we covered a security issue. But what about our freedom? Can we see what the program actually does? Can we change the behaviour of the program? (IAW: can we modify it?) Can we use the program for whatever purpose we like? Can we fix the program if it does not work? Are we allowed to share it with our (close) friends, like we can with books?
No, we cannot do any of this. (Sharing is possible, but not legal)
This imposes a serious breach upon our freedom. You may be used to it, but imagine you're not allowed to share books with friends, and whoever publishes the book keeps track of who reads it, where, and when. This is basically what DRM (Digital Rights Manament) does. (A policy strongly followed by Apple) The company decides and monitors whatever you (can) use.
In the light of recent events: the appstore on the iPhone is controlled purely by Apple. They decide what gets in, and what does not. On a more recent topic, Apple claims to be for the open web, but they have still not put any open codec in their browser, nor in quicktime. (no VP8, no Theora, no Vorbis)
If I recall correctly, the appstore also does allow any app that even remotely contains erotic material.
Another downside to closed source is the following - and I'd like you to consider this very carefully - that there is no way to ``revive'' an old program / project, without rewriting it from scratch. If the sole developer of a project loses its interest or can no longer maintain the project for whatever reason, it simply dies off. And if the program had a community based around it, the community will simply die with it. If there's a large community based around a closed source program, there's a fat chance that the community will have little say about decisions that are to be taken around the project, and this leads to obvious problems.
There are some other downsides to closed source, but I'm not going to cover them (now, anyway).
I wanted to cover one last part specifically; and that is the effect closeness has on a community. In my opinion it is very important that a community is open about it's opinions and decisions. Without openness, people will become suspicious (which is their good right) and curious why certain decisions are taken. Obviously it is not possible at all times to share all information, but information should be handed out as much as possible. This is probably not directly related to Open Source, but it is to openness so I though I'd put it out in here. If you want to comment on this specifically, please do so in this section.
If I have assumed correctly some of you will think that this post is aimed at a specific person - or at a specific event - but it is not. Closed Source is (in my opinion) anyway a huge problem in the world today. My opinions on this subject are probably very one sided, thus my interest in other opinions. There are other problems I have with this world currently, but it doesn't seem like the right thread to post them here now anyway. (Perhaps I will go write a long post on one of those subjects somewhere else, on a new thread later)
I also have the intention of teaching some of you a bit about open source software and my reasons for liking it. I'd love to discuss this subject with you guys and girls, and I hope you give it a good thought. Looking forward to the comments and reactions.
Wizz