- Chapter 2 of Free Software Free Society (Chapter 2), referred to as FSFS
- Richard M. Stallman Wikipedia article, referred to as WRMS
- For Want of a Printer (from Free As in Freedom), referred to as FAIF
- A Fan of Freedom : Thoughts on the Biography of RMS, referred to as AFOF
- Eric S Raymond Wikipedia article, referred to as ESR
- Bruce Perens Wikipedia article, referred to as BP
- Linus Torvalds Wikipedia article, referred to as LT
- Miguel De Icaza Wikipedia article (mentioned in class), referred to as MDI
He begins by discussing what the GNU project is, which is essentially a collection of Unix compatible tools that you would expect to find in a proprietary UNIX package that are free (as in freedom), although they also can be acquired for free as well. It was designed to be compatible with Unix because in RMS' eyes at the time of writing UNIX was the most popular and decent operating system around, and so it was designed to capture a large user base. However, it also has capabilities not found in UNIX (such as support for long file names).
The reason why he founded the GNU project was because he didn't believe in End User License Agreements (EULAs), Non-disclosure agreements (NDAs), and other legal instruments designed to limit people's access and freedom in using software (source code or otherwise). The GNU project was originally designed to be a drop in replacement for the proprietary tools that were out there that built such walls that limited one's freedoms, and ideally to create a world where one does not need to rely on proprietary software, a view which other open source advocates do not entirely believe in, as we will see with some of the other readings.
Stallman argues that programmers are unhappy about the current state of software, where the proprietary rights of some commercial software operations force them to be in conflict with fellow programmers and users instead of being an ally. He argues that through the GNU project, and other free software projects, the goal is to change the system to one where you have a community of developers and users who can freely interact with the source code (implementation) of software, making changes they feel are needed.
He then goes on to state that people can help the project by donating hardware so that GNU can be tested on and supported as much hardware as possible, as early as possible. However, as we have seen in the previous day's reading this philosophy isn't fully shared with hardware companies, with many companies making the specifications and technical documentation of their hardware proprietary. This in turn, makes it difficult for people in the GNU, and for that matter FOSS community to deliver support for new and/or exotic hardware. One could argue that this is detrimental to many hardware companies, as being able to support as many different environments means a potentially larger number of customers who would be interested in using their hardware. In addition, having open source developers write the drivers and support into their system means that they receive this benefit, with little work/resources spent on the hardware manufacturer's side.
He also mentions that the GNU project needs developers working part-time on the project to ensure that development goals can be reached within time. He raises an interesting paradox that has been observed in the free software community: it is one of the few software development communities that can scale up to a large number of developers working on a given project, while at the same time requiring little administration and co-ordination. This of-course, is atypical of what you would find in a proprietary software company, where co-ordination and administration is the only way to tame the many code cowboy (see the Peopleware Papers by Larry Constantine for more information on this reference). However, he provides insight on how this incredible feat in software project management can occur:
essentially the system that needs to be developed is broken into many small independent pieces which must follow a rigid specification, which makes development and testing easier. This is a less that software companies can learn from RMS. We are seeing now that the FOSS community consists of millions of developers, representing hobbyists, open source software solutions companies, as well as proprietary companies who benefit from the further development of free and open source software.
He goes on to argue about some of the benefits of free software, namely:
- wasteful duplication of effort on system software can be removed so that effort can be put into the truly innovative, "state of the art," development
- users can finally change software to meet their needs, or hire a firm to do so for them
- simplifies the otherwise complex issue of licensing, removing a cloud of many user's heads of what constitutes free and fair use
- remove the cumbersome technological restrictions on software that limit a user's freedom
He then goes on to raise some of the most common objections raised to the free software model being proposed by the GNU project.
"There will be a lack of support with free software due to its low cost"
He argues that this gap in the free software marketplace can be addressed by having businesses that offer to support and extend free software for a fee. He goes on to argue that with proprietary software, you are at the mercy of the software company to provide support and solve problems with their software package, as you don't have their source code and tools to go in and address the problem if the software company is unwilling to address your gripes. He also argues that handholding support can also be offered for a fee as well. My experience in dealing with proprietary software companies has been that the support that they offer can be limited in certain areas (such as documentation for an obscure API), and that even with paid support, the types of answers that they can provide are merely hand holding (i.e. click this button to fix this problem). I'd like to move to a model where I can solve my own problems, but I suppose an objection to this would be that if people could modify source code, who would be held liable for defects in code? With proprietary software, you know exactly who to blame, with open source, the answer isn't as cut and dry.
Another argument, "How will you advertise this? You don't have the money!", was tackled by RMS when he mentions of the possibility of having businesses that distribute GNU and related tools and use a portion of the revenue generated from the distribution to advertise free software. In fact we have seen advertisements for Free Software, namely with Ubuntu and Firefox. The former raises money to advertise its browser and gain awareness through a lucrative revenue sharing deal with Google, while the latter Ubuntu, raises money to distribute and advertise Ubuntu through its parent company Canonical which offers support and distribution of the Ubuntu Linux software.
He then goes on to state that another argument he has thought about was the, "we need a proprietary OS to give us an edge," which he rebuts by simply saying that you don't, and the purposes of GNU is to remove that edge so that the entire community can achieve mutually beneficial outcomes. In fact the argument that RMS poses to me is irrelevant. How can you get an edge from using proprietary software, if all of your competitors can also use such software? This of course is precisely why I am a believer in custom solutions for the needs of each user group as the "generic software," model of the industry means that everyone in an industry can only all receive marginal benefits from such software.
"Shouldn't developers be rewarded for their work?," was another common argument that those who are against the free society will make, according to RMS. He rebuts this arguments by stating that it is okay to make money off of software as long as it is done in a non-restrictive way and that sharing can take place amongst society. He later goes on to argue that developers may get rewarded less for their work under this system, but this means that efforts can be invested in other fruitful areas (such as usability). It is important to note that a lot of people mistake RMS as someone who wants to make software have no cost at all, which throughout these essays he has continually demonstrated that this is not his view. In fact in our current society developer's aren't being rewarded for their work when users pirate software, and so that even in a restrictive environment of acceptable uses, and no source code, people are still "stealing" from honest hardworking developers. I am interested in seeing how to create an open source venture that sells software (and redistribution), along with derivative work licensing.
"Don't people have a right to control how their creativity is used?," is yet another argument that RMS mentions and that I have also noticed many developers make. RMS argues that this argument implies that developers should have a right to have control over other people's lives (something that most libertarians and liberals would have difficulty understanding). He argues that copyright and patents are fictitious legal instruments that have no inherent value, and are enacted by law with the aim of allowing creative people some limited protection on their work, so as to encourage further innovation. I would further add that copyright,patents and other IP instruments are being merged together today to muddy the water of what was a clear IP system. Today you can combine IP instruments together to ensure that extensive protection can be granted indefinitely, or at least in the long run (when our society will be dead). This has the effect of making our culture become more and more a Read Only culture (as Lawrence Lessig notes), where we can only consume, but not extend and creative derivative works on prior art (a Read Write culture as Lawrence Lessig notes). The very use of IP laws can actually have the opposite effect of what legislators want - in preventing the legitimate creativity of many be controlled by the rights given to a few. It was the brilliant physicist Albert Einstein who was famously quoted as saying, "If I have seen farther than others, it is because I was standing on the shoulder of giants." Perhaps this is a valuable lesson that legislators can learn from the late Albert Einstein.
"Competition makes things get done better," was another argument that critics of RMS' movement might make. RMS rebuts this argument by stating that this is not always true! He argues that while in some cases competition can make more people fight for the prize, it can also create competitors who will do whatever it takes to win the prize, even if it is immoral or violates principles of society. As we move further into the 21st century, there are more opportunities for such competition to have a negative impact on our lives, as technology is advancing to the point where the financial sector, global markets and business make larger and larger impacts on our everyday lives. I therefore feel that it is important to ensure that we ensure that all that is beneficial about competition is preserved in our marketplace, while those aspects of competition that bring out the worst in us, are identified and limited so as to limit the harm on society.
"There will be no programmers without monetary incentives!" This was yet another argument those who oppose free software will make. RMS argues that programming has an irresistible fascination for many and much like other fields such as Professional Music, many practice it for no monetary incentive. In addition, there are other incentives in life such as fame and appreciation which offset the incentive of wanting to make money, such as those who worked in the MIT AI lab with RMS. I don't agree with RMS on this point, as people still should be able to make a living in software development, similar to how some musicians make a living in Professional Music. The creativity and medium for imagination that software development affords us, makes it hard to compare Software Development to Professional Music. In addition, there is a significant need for a variety of software and technology solutions to solve a wide array of the world's problems. I suspect that there will be need for paid software developers in a hundred years time. However, I still think it is possible for software developers to earn a living similar to or better than what they are making today with a free software model (something RMS discusses later).
The argument that "Users are dependent on developers and must follow what they say," is an irrelevant point, because with free software, this dependence no longer exists, and much like the previous argument RMS made, there will always be developers who will be willing to solve the world's problems through technology.
The final argument, "The Programmers Must Make a Living Somehow," is by far the most interesting answer that RMS has in the GNU Manifesto. He argues that the easiest way to sell software is also the most obvious way to sell it, which is to sell only the right to use software. However, there are other less exploited models that RMS proposes such as:
- manufacturers paying for porting of software to their devices
- teaching, handholding and maintenance services for software
- donationware software (i.e. if you find this software useful, please donate)
- user groups for software packages could form with dues payable to organizations developing such software
- governments can charge a software tax to those buying computers and the proceed could be handed on to developers
By far the most interesting model that I have yet to see explored is the last model, where government charge a software tax to those buying computers and the proceeds be handed on to developers. Personally, I am opposed to such a system as it often results in a double dipping phenomenon where something designed to be supported by the public is also receiving money from private companies (take the CBC for example where tax payers support the organization, yet they still sell advertisements to other companies).
However, all of these other models that RMS offers seem viable, and have at least begun to be explored by industry. As always, I will be interested in learning other free software models that allow for profit. Perhaps a hybrid of several models could allow for the creation of a free software company that is as profitable and successful as other proprietary software companies are.
The Wikipedia article on Richard Stallman essentially distills his work in the free and open source world (which I have already discussed in great lengths in this posting as well as the previous day's readings comments). Rather than rehash the same details, I'd rather discuss items that the Wikipedia article mentions which hasn't yet been discussed.
I will start by giving some academic background on Richard Stallman as it was this path that he followed that made him start the free software movement. Richard Stallman studied at Harvard University graduating magna cum laude with a BA in Physics. He then went on to do graduate studies in Physics at MIT, but soon abandoned it to pursue his true interest which was programming for the MIT AI Lab. We all know what happened after that...
However, one thing that wasn't discussed in the other readings, is that besides being known for his work with GNU and the free software movement, he is also known in the AI world for pioneering a technique for intelligent backtracking in constraint satisfaction problems. The so called Sussman-Stallman method is still in use today in the AI field.
Stallman has also fought for other issues that bother him. In particular, during the early days of computing, when access to computers was being limited by many instiutions (such as his own), he would wage a campaign to make access to these systems open to all individuals. One notable example was finding a way around MIT's password system which limited access to computing resources only to those with a valid password. In essence, he intercepted and decrypted the passwords, and then sent a note to fellow users disclosing the password, and encouraging them to set the password to an empty string (i.e. blank password). As a result of not having a password, access to computing resources again could be opened up to those without credentials.
Richard Stallman is also concerned about the issue of privacy to the point of paranoia. He refuses to use a cell phone as it could theoretically be used to track the location of where he is at all times. He also avoids things like access cards which could track when he enters and exits particular rooms at MIT. Finally, he browses the web via having wget (a UNIX command that downloads a webpage), send the pages of interest that he wants to view to his mailbox, from where he reads the web page.
Richard Stallman is also a stickler for terminology, requiring interviewers and people who interact with him to use the same terminology he uses. For instance, he refers to Linux as GNU/Linux because Linux is really a combination of the Linux kernel and GNU tools.
For Want of a Printer, from the book Free as in Freedom, discusses the frustruating experience that Richard Stallman had in receiving source code for the drivers that controlled a laser printer donated to the MIT AI lab from Xerox. He mentions in this article that this event was one of the main catalysts that caused him to start the free software movement and to go against the trend towards proprietary software which he admits he would have considered being a part of had he not experienced the anger and frustration that came with not being able to have access to the source code of the printer's drivers. I will now provide a summary of the events of this defining moment, as discussed in this reading.
Richard Stallman was working at the MIT AI lab during the 1970's when a new printer donated by Xerox was being used by the lab. Like any printer it was prone to jamming and Stallman had a solution! Rather than fix the mechanical problems (which he was not an expert at), he had a software solution which was to notify users if a printer is jammed and thus affects their print job. This solution was implemented in printers used previously in the MIT AI Lab, as all hardware came with source code to allow for these useful modifications to be made, and was something that the hardware manufacturer would benefit from as they would be able to receive updated and maintained source to their drivers. However, the donated printer only included the binary code needed to make the printer run, and in fact did not include the source code. This is where the frustrutation began with Richard Stallman, and after much waiting and inquirying he finally found a professor who had access to the source. However, when he met the professor, the professor outright refused to disclose and share the source code with him, as he was bound by a NDA (nondisclosure agreement) to not share the source. The action of the professor outraged RMS and reflecting on the situation, RMS knew what to do - to begin the open source movement. He realized that he couldn't live in a proprietary world because experience proved that he would violate the golden rule (he would be forced do things that he wouldn't want to be done to himself).
Another catalyst mentioned in the reading was decision of the author of a popular text formatting program called Scribe, to include functionality that would functionality of the software from being used after it goes past its customary trial period, at which point the user would have to buy a code from the software maker to unlock the software. The software was developed by a graduate CMU student who sold the software to industry. Richard Stallman was angry about this development as this was one of the first instances of software being DRMed, or locked down by technological measures.
The wikipedia article for Richard Stallman mentions that this change in industry from a free culture, where code was being shared between interested individuals, to one where source code was not being disclosed, let alone modified by those outside the organization may have been the result of the Copyright Act of 1976, which extended copyright in terms of the length of protection, as well as to extend copyright to other meaningful arts. This act also began to usher in the era of DRM, serial numbers and other technologies to limit access to those who have been "authorized," by the software maker to use the software.
The A Fan of Freedom reading is essentially a critique of the book Free as in Freedom, written by someone who has known Richard Stallman and his family personally for decades.
His critique begins by mentioning that the biography helped him better understand aspects of Richard Stallman that he did not know about before, as well as parallels between his life and RMS's life. He argues that parts of the biography were exaggerated and that the certainty that RMS projects about the path he took, was not as certain as he projects to the biographer. He later argues that the biography passed over the many failures that Richard Stallman had and instead focused on the successes in his free software movement. He argues that during the 1970s RMS was not entirely focused, at times chasing women.
He then goes on to argue that Richard Stallman was not in fact the last hacker standing, as many free software historians may have you believe. There were hackers in the UNIX and computing culture who were interested in the concept of free software, and who experienced a world of free software before the proprietary software model was sprung on to them. Essentially he is saying that had Richard Stallman not started the free software movement, someone else would have, as this was an issue that many hackers were concerned about. To prove his point, he mentions the wide scale adoption of GNU by many in the hacker community.
He notes that it was part of the culture of the era to embrace freedom in all areas of ones life. This freedom extended to things like software if you were a hacker, but also relationships, such as practicing polygomy. The era was defined as going against the routine and mundane aspects of life. The hacker culture he mentions by nature embodies many attributes which he mentions includes rigid ethics, analytical, anti-authoritarian, idealistic, careless of normal social rewards, countersuggestable. This suggestion seems to fit in with the types of attributes that you need to have to argue so strong for a free software society in a marketplace defined by proprietary software. In fact one must take the view that the world is broken in order to have the will to want to signifcantly change it through things such as free software.
The concept of free software, however was something that many hackers at the time understood, but did not completely support. Many hackers (including the author of the AFOF article), couldn't understand a world without proprietary software would lead to starving programmers with no good result, even though the development system may be far superior to the proprietary one.
He argues that the book's statement that the GNU/free software movement is strong than ever is at best optimistic. He proves this argument by using Google to compare how many web pages on the Internet refer to "free software", "open source," and a combination of those two. What we clearly see from the data, is that open source is a more popular term than free software. This implies that the term open source carries more currency in the software market than free software, even though open source software is not the same as free software (see the previous post), meaning that RMS' push for the free software movement may not have entirely succeeded. Instead we may have gotten a society of open source software, that in some ways is inherently "unfree".
He concludes that regardless of the arguments he made, Richard Stallman has changed the software industry. Stallman's free software contributions, such as GCC, EMACS, and the GPL have changed the world. The only thing that hasn't succeeded was his rhetoric and moralizing.
The following is a brief summary of the wikipedia article for Eric S. Raymond.
Eric S. Raymond (referred to by many as ESR), is a computer programmer and open source software advocate. He is known for his contributions to fetchmail (mail client), gpsd (GPS Daemon), certain editing modes of EMACS and portions of libraries including GNU ncurses, giflib/libungif, and libpng. He is also known for his writing about the open source movment in works found in, "The Art of Unix Programming," "The Cathedral and the Bazaar," as well as maintain the jargon file, which is a dictionary for computer jargon. He cofounded the Open Source Initivative which is an organization that promotes open source software.
Eric Raymond is also known for his famous quote from the Cathedral and the Bazaar, which is "Given enough eyes, all bugs are shallow," referred to as Linus' law. The implications of this statement are that open source models which enourage more people to review code and make changes as needed means that bugs are spotted more rapidly, and corrected sooner.
While Eric Raymond agrees with the substance of the free software movement that Richard Stallman started through the GNU and FSF, he believes that the language and how Richard Stallman conveys his ideas is simply ineffective and may scare people away who would otherwise consider free software.
Bruce Perens is yet another open source figure which we had assigned reading for. This summary covers the assigned Wikipedia article for Bruce Perens.
Bruce Perens is yet another programmer and advocate in the open source community. He is known for creating the Open Source Definition, which was a document crafted in the 1990s that spells out what consititues open source software, and which has been used as a marketing tool for the free software movement (see Day 1 readings for more insight into this important document). He is a former Debian (popular Linux distribution) Project Leader, founder of Software in the Public Interest and the first project leader of the Linux Standard Base project, to name but a few of his roles in the open source community. He has also spent time educating and representing the open source cause in courts, legislatures and public forums.
Whereas Richard Stallman and Eric Raymond believe that open source and free software is important in creating a free society, which as a consequence has benefits for programmers, Bruce makes the important ecnomic and business argument for why free software should be used in his papers, "The Emerging Economic Paradigm of Open Source," and in a speech, "Innovation Goes Public". One could argue that Bruce is commercializing the free software movement, interested more in profit than in freedom. However, by pursuing this direction in marketing free software he opens the doors to a whole new breed and community of open source developers who see business value in the movement, and who contribute in meaningful ways. He has also spent time establishing several business models which can be used in developing a commercial open source operation.
Next we move on to the Wikipedia article for Linus Torvalds, perhaps one of the well known faces of the open source movement.
Linus Torvalds is a Finnish software engineering best known for having started developed of the Linux operating system and the git revision control system. He has also been involved in Transmeta a US based semiconductor company, and is now part of the the Linux Foundation.
Linus studied at the University of Helsinki from 1988 to 1996, receiving a Master for his paper titled, "Linux: a portable operating system," which became one of the predominent free UNIX like operating systems in use today. As a side note the Linux kernel was based on the Minix operating system, which Linus Torvalds received a copy of while in University.
While Linus believes that open source in the only right way to do software, he is a firm believer in using the best tool for the job, which means that occasionally he needs to use proprietary software (such as KDE or Bitkeeper).
Finally, I read the Wikipedia article for Miguel de Icaza who is a Mexican free software programmer known for being a founder of the GNOME and MONO projects.
In August of 1997 Miguel De Icaza and Federico Mena started the GNOME (GNU Network Object Model Environment) project which is a graphical user interface that runs on top of an operating system (such as Linux). As we learned in our readings so far GNOME was designed to be a free replacement to KDE which many view as being a proprietary or at least less free graphical user interface. GNOME is a large project in that it implements a wide variety of functionality through smaller subprojects, such as the GTK+ widget toolkit.
More recently, Miguel De Icaza has spent time on the MONO project which is an attempt to have Microsoft's .NET Framework supported in a variety of other operating systems and under a free license. This is a controversial project in the open source community as there are plenty of potential legal risks in using MONO as it may violate Microsoft's patents and other Intellectual Property rights, which means that there may be legal liability for people who leverage MONO. However, a potential benefit of MONO is that it removes the vendor lock-in that popular frameworks tend to introduce. For instance with the .NET Framework, you would normally have to develop software for only the Windows platform (Windows for desktop applications, Windows Server for web applications, and Windows Phone/Mobile for handheld applications developed in .NET).
This ofcourse brings up the topic of whether the free software movement should spend some of its time moving proprietary solutions to the free and open world. Rather than coming up with new innovations in the free software world, why not create free versions of wildly successful technologies from the proprietary world? As mentioned earlier, there are many legal challenges to this model (due to patents for instance), but it is a model that even Richard Stallman used in the GNU package, as he created free versions of a lot of the propreitary UNIX tools.
In any event, what is interesting about Miguel De Icaza is his support and connection to Microsoft. Early on in his career he was interviewed by Microsoft to work on the team responsible for porting Internet Explorer to UNIX. Ever since then, he has advocated for the use of Microsoft technologies and standards and in the free software world (such as through the MONO project, or the support of Microsoft's Open Office XML OOXML, standard). One has to wonder whether his closeness to Microsoft, one of the world's largest proprietary software companies impacts his view and objectivity in the free software realm.
No comments:
Post a Comment