Open Source Myths: Freedom
17 Feb 2007Today's open-source myth: Open-source software gives you freedom
Some does, some does not. Most people usually look at the software from the user's point of view. Typical users of open source software were computer geeks in last years. This kind of people usually does not have any problem writing complex configuration files, browsing mailing lists and even reading the source code in order to make the software work. But these are not typical computer users. In fact, there may be less than 5% of such users on the Internet today (how I've got that data?). Then let's look at the open-source software from the point of view of not-entirelly-informed user's majority.
Let's review the freedom that a normal user has:
- User can download and try open-source software at a low cost (but not for free, see my previous article) and can choose if he want to use it or not. That's some freedom. But you can get this with commercial software also. No special freedom here.
- User is allowed to see the source code of the software. But what he really can do? Users usually does not understand computer programming. The source code will be absolute gibberish to them. What a right is good for, if you cannot use it? No extra freedom here.
- User is allowed to modify the source code of the software and re-distribute it. Ha! Most users cannot distinguish Cobol source code from Java. How are they going to modify the software? And if they do, it is better if they do no distribute that. No freedom here.
- Open-source software cannot be "taken back". Once opened, the jinn cannot go back into the bottle. That looks like an advantage. But ... if author decides not to support the software anymore, it will usualy die (except for qmail, which is not usable anyway). Users cannot continue the development of the software. User's cannot choose, they need to accept the decision of developer's community. No freedom for users here.
- ... well, that seems to be all. Anything that I've missed?
On the other hand, there would be no open-source software if there are no open-source developers. For the open-source software to exist it is very important to keep the attention of developers. So how the "open-source freedom" looks from the point of view of developers?
- Developers can download open-source components and use them in their own code. But there are limitations. Most open-source licenses require only to give credit to original developers, which is fine. But some are really drastic. Let's look at the GNU General Public License (GNU GPL). This license enforces developers to accept the terms of the license also for all code that is "based on" a code licensed under GNU GPL. Imagine that I've spend several months in a garage developing some really cool thing. I've used just one simple GPL-licensed library there. If I would like to distribute the code, I must distribute it under the terms of GNU GPL. What kind of freedom is that?
- Developers can look at the source code of the open-source componets. That is fine. I can try to spend my free time (read: nights) to look for a bug in the code open-source that I'm hitting (see my one of my previous posts). I must admit that this is an advantage and and also a freedom. But regarding fixing that bug, see below.
- Developers can modify and re-distribute the code. Now, it is fine with most open-source licenses. Except for GNU GPL. If you want to modify and re-distribute anything that is based on GPL code, you have no choice. I would not really like if some freeloader will sue my company just because I'm using Linux loadable modules in my project (it is in legal gray zone whther a code that uses Linux loadable modules is "based on" GPL-licensed Linux kernel code). The freedom to modify and re-distribute the code is very limited here.
- Open-source software cannot be "taken back". If you base your code on some open-source component, nobody can tell you that you cannot use it now. But if a development of an open-source component stops, you have only two choices: switch to different component (which is the same as with commercial components) or support the discontinued open-source component yourself. While such support is usually impractical, the sole possibility that you can do it gives you a bit of freedom. Some extra freedom here.
To conclude, it looks like there is no additional freedom for users when they use open-source code. It is much better for developers, as far as they do not use GPL-licensed code. But, beware. The sole statement that the software is open-source and that you do not need to pay to get it does not mean that it is free. There is no such thing as a free lunch.