Sunday 28 June 2009

Are you Free Software or Open Source? Trusted or Treacherous?

I came across this interesting interview with Richard Stallman, the lead developer of the GNU operating system and one of the founders of the Free Software Movement. What I found interesting is that the story behind Linux and GNU actually represent two completely different ideologies that essentially produced the same outcome: that of software for free use/distribution/modification.

GNU is socially-motivated: it was created with the "goal of liberating cyberspace" from non-free software, based on four essential user freedoms. The first step needed for the Free Software Movement was to create an operating system, and so, from 1983-1992, Stallman and thousands of others hacked one out based on the non-free Unix platform, calling it GNU, which stands for "GNU is not Unix". (Stallman later comments on the obvious contradiction of needing non-free software in order to create free software, prompting the interviewer to point out Ghandi's similar dilemma when he asked, in his Hind Swaraj, "How can one argue against western civilization using a printing press and writing in English'?)

According to Stallman, Linus Torvalds was motivated to create his Linux kernel "in order to amuse himself and learn". He ended up making the kernel that would allow GNU to run--the missing piece that the GNU team needed (theirs was not getting very far, it seems). "Torvalds never agreed with our ideas. He was not a proponent of the ethical aspects of our ideas or a critic of the antisocial nature of non-free software. He just claimed that our software was technically superior to particular competitors."

And so, the GNU+Linux operating system was born, but everyone just calls it Linux. To Stallman, the name abbreviation represents two short-comings: the first fails to acknowledge the the thousands of people who started the project and did the majority of the grunt work, and who therefore deserve a share of the credit, and the second one undercuts the fight for freedom on which the initiative was based. According to Stallman, "Today tens of millions of users are using an operating system that was developed so they could have freedom -- but they don't know this, because they think the system is Linux and that it was developed by a student 'just for fun'...You cannot rely on accidents to defend freedom. Accidents can sometimes help, but you need people who are aware and determined to do this".

And so it was that by 1996 there was a split in the community on goals: the Free Software side was campaigning for the freedoms of the individual user, creating a superior product in the process, and the Open Source camp was driven to use the intelligence of crowd-outsourcing to create a superior product.

Essentially, the superiority of the product was as a positive by-product for the GNU/Free Software movement that upheld its ideals of freedom, whereas for Torvalds and the Open Sourcers, the superiority of the product was itself the goal.

In the case of operating systems, both sides can have their cake and eat it too. No one has to sacrifice any principals to get what they want. Would one have happened without the other? Are they two sides of the same coin?

The last third of the interview puts everything in a much larger persepective that minimizes the the differences between Free vs. Open Source ideologies relative to their similarities. Both are fighting proprietariness, encoded in the large machinery of patent laws and governement regulations. An analysis of Linux in 2004 showed that it violates 283 different US software patents. The US outlawed a free software program called DECSS that plays DVDs, and is pressuring other countries to do the same. And then there's "treacherous computing", or "trusted computing", depending on which side you are on. Apparently, the XBox produced by Microsoft (and now replaced by the XBox 360) is a mini-example: it prevents users from installing any software without Microsoft authorization. Stallman paints a pretty grim picture:

The technical idea underlying treacherous computing is that the computer includes a digital encryption and signature device, and the keys are kept secret from you. Proprietary programs will use this device to control which other programs you can run, which documents or data you can access, and what programs you can pass them to. These programs will continually download new authorization rules through the Internet, and impose those rules automatically on your work. If you don't allow your computer to obtain the new rules periodically from the Internet, some capabilities will automatically cease to function.

Programs that use treacherous computing will continually download new authorization rules through the Internet, and impose those rules automatically on your work. If Microsoft, or the US government, does not like what you said in a document you wrote, they could post new instructions telling all computers to refuse to let anyone read that document. Each computer would obey when it downloads the new instructions. Your writing would be subject to 1984-style retroactive erasure. You might be unable to read it yourself.


Is this a real possibility? Will a free hardware movement led by hardware engineers become necessary to sustain free/open software? Or, at the end of the day, will superiority of the product be the ultimate decidor?

Disclaimer: this post was written while booted in Windows.

No comments:

Post a Comment