Open Vs Closed Vs Proprietary
Stefan asked me to rant on this issue, and so here it is:
First of all, “closed” is not the same “proprietary”. I don’t like proprietary technologies, especially when it comes to hardware, because I believe open standards can create a more homogeneous computing experience (if every manufacturer is following them that is). For example, I prefer all my gadgets to charge and exchange data by using a mini-usb connector, rather than the various proprietary solutions in existence today. For the user, it is simply one less thing to worry about if he loses his charging cable, and for the hardware accessory manufacturer it’s one less license fee to pay.
When it comes to open source vs closed source though, I am indifferent. I see computing is as a tool, created by the very need of doing our jobs easier. If I was to be presented and had to choose between two applications with the exact same feature-set and usability, one open source and one closed source, I would pick the open sourced one. Being open source has an added value, but it is NOT a feature.
If the closed source version had one major feature that I needed, and was more stable, I would pick the closed source version — provided that the price was right. For example, between Photoshop and The Gimp, there is no contest, I would buy Photoshop. But between MSN Messenger and Gaim, I would prefer Gaim (multi-protocol). Between IE7 and Firefox, I would prefer Firefox (better interface). But between OE and Thunderbird, I would prefer OE (more stable and less of a data corruptor). What I mean is that first I look to find an app that does my job best, and only later I check if it’s OSS or closed source — as an afterthought.
Also, there is a difference on how software is being developed and tested in the OSS world compared to the commercial space. Yes, there are badly written Windows software out there, but there are powerful tools in the Windows space to help the (less-than-mighty) random developer to create a usable application. Besides, 90% of the Widows users use that specific and mature 1% of well-known apps (e.g. Nero, Trillian, iTunes) and so they rarely have stability problems with them. On Linux, this is not the case. Just the other night we tried to use Eclipse with my JBQ, and it was a terrible usability experience. We had to go from 20 hoops just to debug our little program, let alone that the whole environment is just one big front-end rather than an “integrated” DE — at first it tries to debug… libc before it tries to debug your actual binary. And when we tried to use Anjuta instead, gdb wouldn’t work at all because apparently the 2.6.19 kernel has broken gdb (the bug is fixed on 2.6.20-pre). Which brings me to the point of how poorly OSS software is tested usually. It is absolutely and utterly *unacceptable* to have releases of kernels that break fundamental software like gdb. And all that trouble, just within 20 minutes of using Linux! Sure, there are well-tested OSS apps out there, like Apache, Asterisk, PostgreSQL, but these are not the norm! Most desktop third party applications that I see posted on gnomefiles for example, I can crash with my eyes closed!
I also advocate that some software is so expensive and difficult to write that their companies must not only charge a big fee for them, but also keep the source code tightly closed in order to keep out potential competitors. It is their right to protect their intellectual property, their right to choose the format they want their product to be distributed on (with source or not) and most importantly, their responsibility to their shareholders to make as much money as they can. You can’t blame software houses and individual developers for keeping the source code closed in order to try to make an additional buck, when the economic system is designed this way. If you don’t like this reality, write to your congressman to try and change the economic system of your country.
Now, there are reasons why you want a software stack and especially firmwares to be open sourced. For example, if we all had the Qualcomm source and firmware code, we would have found out long ago that FBI and CIA can listen to us even if our cellphones are turned off. There are privacy implications by some closed source software, and I am not talking about the casual buffer overflow that usually springs up every other day just because most programmers are not used to write secure software, but about popular software that it’s been modified on purpose to work against its users. For me, open source has a real value when it can protect me against malicious intends from corporations or even the government. I don’t care much about isolated incidents/attacks initiated by a Joe Hacker against my PC (a usual issue on Windows PCs for the unitiated), but I do care about modifying election results, being spied on by my own government, or corporations creating a full digital profile of me and then selling it or using it against me. These are the cases where OSS can outshine closed source (if it can’t outshine it in a product comparison basis) as these violations against me wouldn’t be possible because I would know about them and consciously decide to not use the problematic software. Open source as “the source is open, let’s fix this bug” is only practical for 1% of the users who happen to also be programmers. For the rest, it’s only useful as a privacy safeguard; and I am not sure if this is a good-enough reason to have Joe User switch over from Windows to Linux or from his Qualcomm phone to the Greenphone (and I am not even sure that the Greenphone does not use the Qualcomm stack in its low-levels). Users also need application features, stability, speed and ease of use, you see.
In conclusion, I just choose whichever does the job best and offers the the best level of protection and price point. I compare software the same way I compare two brands of cheese, or two brands of jeans. That is all.