Amazon, Google and Microsoft offer strong Infrastructure As a Service offerings (storage, computation, and Hosted SaaS apps), while Apple and Facebook overall have weak offerings in this arena. Amazon, Google, Microsoft, Facebook, and Apple each specialize and have strengths in certain kinds of media access (for instance Facebook has a strong presence in things like photo sharing). For the most part all of the providers have in some way a monetization platform be it advertising, or payment processing. Google and Microsoft for that matter have a strong presence in location aware services, while others are ages behind. Microsoft, Google and Apple have respectable calendaring and scheduling services. Microsoft, Apple, Google, and Facebook have the potential for building rich and deep social graphing services. Apple, Google, and Microsoft have strong positions in the communication services arena (in things such as e-mail and chat). Microsoft and Google have a good position in the sensor management services (such as image and speech recognition). Google and Apple, have a strong presence in both mobile devices and the operating systems that support them. Finally, Microsoft, Apple and Google have a strong presence in the web browsing arena.
Saturday, May 29, 2010
Day 7 Reading Summary
Amazon, Google and Microsoft offer strong Infrastructure As a Service offerings (storage, computation, and Hosted SaaS apps), while Apple and Facebook overall have weak offerings in this arena. Amazon, Google, Microsoft, Facebook, and Apple each specialize and have strengths in certain kinds of media access (for instance Facebook has a strong presence in things like photo sharing). For the most part all of the providers have in some way a monetization platform be it advertising, or payment processing. Google and Microsoft for that matter have a strong presence in location aware services, while others are ages behind. Microsoft, Google and Apple have respectable calendaring and scheduling services. Microsoft, Apple, Google, and Facebook have the potential for building rich and deep social graphing services. Apple, Google, and Microsoft have strong positions in the communication services arena (in things such as e-mail and chat). Microsoft and Google have a good position in the sensor management services (such as image and speech recognition). Google and Apple, have a strong presence in both mobile devices and the operating systems that support them. Finally, Microsoft, Apple and Google have a strong presence in the web browsing arena.
Tuesday, May 25, 2010
Day 6 Reading Summary
- Open Source Voices : A History of Hackerdom
- Open Source Voices : Twenty Years of Berkeley UNIX
- Wikipedia : Comparison of BSD Operating Systems
- Wikipeida : Commercial Derivatives of FreeBSD
- Open Source Voices : The Linux Edge
- GNU : What's in a Name?
- GNU : Linux and the GNU Project
- About the Debian Project
- The Debian Social Contract
- Wikipedia : Debian Project History
- Wikipedia : Mozilla Foundation
- Wikipedia : The GIMP
- Wikipedia : The GIMP Release History
- Wikipedia : Blender
- FreeBSD
- OpenBSD
- NetBSD
- DragonFly BSD
These distributions are primarily based on the 4.4BSD Lite (which is the unencumbered version of UNIX), or based on another BSD distribution, which in turn was based on 4.4BSD Lite (for instance OpenBSD). While they all may be based on the same founding codebase, there are some differences in the goals of each project. For instance while the FreeBSD project seeks to create a general purpose operating system for a narrow set of architectures, the OpenBSD project aims more at creating a more secure, and correct implementation of UNIX. Another difference between these projects, is how they license their distribution. Some BSD distributions follow the philosophies of GNU and Free software more closely than others.
There are several commercial operating systems based on a BSD project, the most notable one being Apple's Mac OS X, based largely on FreeBSD work. Sun also based some of their operating systems on a BSD distribution. Other notable uses of BSD can be seen in the appliance marketplace: specialize systems that are designed to do one thing and one thing well, and include application appliances from NetApp, e-mail appliances from Sophos, and certain Dell embedded hardware solutions.
Let us now take a look at Linux, a FOSS operating system which has a striking resemblance to UNIX in many ways, which has seen not only great adoption in the desktop marketplace, but more so in the embedded systems world. While Linux may resemble UNIX, its code was written from scratch as opposed to other BSD projects that were based on the 4.4Lite release of BSD UNIX. In the article, the Linux Edge, Linus Torvalds, argues that Linux has succeeded because of good development models and good design principles.
Originally Linux was not designed to be portable - it was an operating system that Linus Torvalds designed and developed so that it would run on his Intel x86 based computer. However, during the initial development of Linux, a group ported the operating system to the Motorolla 68k series to support Apple, Sun and other hardware based on that architecture. Later, when Linus wanted to port the operating system to DEC ALPHA, he remembered the experience his colleagues had in porting Linux to the 68k series, and decided to rewrite Linux to better support portability. However, he challenged conventienal wisdom at the time, which was that kernels should abstract away the lower-level details to make the source more manageable (called microkernel architecture). Instead, Linus took a more pragmatic approach of not building such abstractions in, and instead just being more careful of the management of the Linux project to keep the source code clean. In practice, this meant having ground rules for the development of Linux. This resulted in an operating system with considerably less overhead than its microkernel counterparts and which as a consequence ran faster.
Essentially, the development process uses simple rules to determine whether contributed code should be incorporated into Linux. For instance, if the contributed code consists of a system interface, it will very rarely be made part of the Linux kernel, as adding these interfaces locks Linux into supporting that interface indefinitely. Other things, such as hardware support is more clear cut, and will likely be accepted. Ofcourse there are always gray areas, in which case the Linux team considers their choices very carefully as many things rely on the Linux architecture, and the choice can ultimately have a big impact on future development efforts. In addition, the modular architecture of Linux (such as kernel modules), means that development work can be done in a more clean, orderly fashion, and that functionality can be easily switched into Linux. He also mentions that it is his design philosophy that the kernel should be as simple as possible, and in theory should not need constant changing and fiddling about in most cases.
We now move on to Richard M. Stallman (the founder of the GNU project's) argument that not enough credit is being given to the GNU project with respect to the whole open source movement. For instance, he mentions that people refer to the Linux kernel as being the operating system, even though a more correct name would be GNU/Linux, as the operating system incorporates the Linux kernel (a small amount of code in comparison to an entire GNU/Linux operating system), and many packages from the GNU project. In fact recent surveys of how much GNU software is in a typical Linux distribution can be anywhere between 15 to 25 percent or more. The reason why credit needs to be given to projects that make use of GNU project components, isn't for only fame. Rather it is a historical reminder of why the importance of the free software movement and what the GNU project made possible. There is a real risk in GNU/Linux that the community will forget about the free software movement, and care more about adding more capabilities for Linux than securing the freedom that has been afforded to GNU/Linux for a long time. In fact he cites several examples of companies including proprietary, non-free software into their Linux distributions.
Debian is a popular Linux distribution that was started in August of 1993 by Ian Murdock, who was frustrated by the poor maintenance and bugs found in a Linux distribution he was using. It combines a free (such as Linux or Hurd) kernel, along with packages from a variety of sources, including the GNU project, to derive a complete operating system that can handle a variety of common computing tasks (i.e. browsing the web, playing games, listening to music, or word processing,etc.). All of these components typically come precompiled and ready to install for a variety of different architectures (although source is typically almost always included).
Debian has made a lot of progress from when its initial inception. Important milestones in the project include:
- The Development of the Debian Social Contract in 1996, the Debian Manifesto, and Debian Constitution, which covers the basic philosophy and principles of the Debian project.
- The development of the Advanced Packaging Tool, which significantly eases the installation of software on a Debian machine, as well as a "user friendly" Debian installer.
- The indirect creation of many successful Linux distributions (such as Ubuntu), which are essentially forks (or derivations) of the Debian distribution.
- The inclusion of thousands of new packages, many of which are updated from release to release.
- Support for a variety of different platforms (from Intel's x86 to AMD64, and other specialized devices like netbooks).
The Debian project has several crucial documents which form the philosophy of what they do. The Debian Social contract, which is a social contract between the free software community has the following promises:
- Debian will remain 100% free (i.e. every component of Debian will be free software)
- We will give back to the free software community (i.e. improvements in Debian get contributed back to the free software community)
- We will not hide problems (i.e. be transparent with the development process)
- Our priorities are our users and free software (i.e. put users and free software above their own needs)
- Works that do not meet our free software standards will be separated from the Debian distribution, but can be installed by users/distributors who choose to do so
- Free redistribution (i.e. you have the freedom to redistribute the software at no cost to you)
- Source Code (i.e. the software must include the source code with rights to modify and distribute changed works)
- Derived Works (i.e. the software must allow for derive works to be made under the same terms of the original software, in other words allow copylefted derived works)
- Distribution of source code can only be restricted if the license holder allows patch files to be distributed with the source so that modifications to the original source in effect can be made
- No Discrimination Against Persons or Groups (i.e. you cannot exclude certain people or groups from using the software).
- No Discrimination Against Fields of Endeavor (i.e. you cannot restrict usage of software for a particular endeavor, such as this software cannot be used in the military)
- Distribution of License, (i.e.everyone using the free programs must be given the same license as originally distributed)
- Licenses Must Not be Specific to Debian
- Licenses Must Not Contaminate Other Software (i.e. the license of the software must not place restrictions on other software)
- Examples of Licenses that support this philosophy include GPL,BSD, and Artistic licenses.
By far, one of the most successful open source projects to date is the Mozilla Firefox browser. The browser is developed by not only members of the open source community, but also paid developers who work for the Mozilla Foundation. What is interesting to look at is the history of Mozilla. Back in February of 1997, Netscape decided to release the source code of their Netscape suite to the open source world, with the Mozilla Organization being founded to continue development of the Mozilla Application Suite (which included a web browser, e-mail and newsgroup reader, as well as several other useful internet utilities). What became apparent early on, was that the real value of the Mozilla project, was its web browser, which eventually became known as Firefox. In 2003, the Mozilla Foundation, a non-profit organization was founded to continue support of the Mozilla projects, as it became clear that Netscape, and its parent AOL would cease supporting the Mozilla development effort and funding for the projects would surely go away. The intellectual property of Netscape (for which parts of the Mozilla projects were based on), was transferred to the Mozilla Foundation.
The GIMP (GNU Image Manipulation Program) is a popular free raster graphics editor. In fact many people compare the capabilities of the GIMP to that of Adobe Photoshop. The GIMP project originated as a semester long project created by two University of California, Berkeley students: Spencer Kimball and Peter Mattis in1995, and was made publicly available in January of 1996. Originally the GIMP was created for UNIX systems, although eventually it was ported to several different platforms including Linux, Windows and MAC OS X. An interesting aspect from a usability standpoint was that throughout its lifetime the GIMP has used three different GUI toolkit. Originally the GIMP used the Motif toolkit. However, Peter Mattis became frustrated with Motif, and developed his own GUI toolkit called GTK, which is used by many FOSS applications today. After some time, he rewrote the GTK toolkit to better support the object oriented paradigm, which he called GTK+, and the GIMP's UI code was transitioned to this third GUI toolkit. Another interesting tidbit about the GIMP is that it is one of few open source projects that takes the issue of usability seriously. Efforts have been made throughout its development life cycle to support internationalization, continuous improvements and refinements of the user interface between releases, as well as an interface design that naturally maps to Adobe Photoshop.
Finally, let us consider Blender, is free 3D graphics application that is released under the GPL. Originally Blender was shareware developed and marketed by Not a Number Technologies (NaN), which means that the software was originally proprietary software where source code was not freely available. However, around 2002, Nan, the creators of Blender went bankrupt, and the creators of the software (Ton Roosendaal), started a campaign to get the software released under the GPL. After raising enough funds to buy the rights from the creditors (around 100,000 euros), the team released the software under the GPL, and founded the Blender Foundation to continue the work being done on Blender.
Tuesday, May 18, 2010
Day 5 Reading & Reflections
- BSD License
- Open Source Voices : The Revenge of the Hackers
- Open Source Voices : The Open Source Definition
- Why Open Source Misses the Point of Free Software (FSF)
- Categories of Free and Non-Free Software
- It's Time to Talk About Free Software Again
There are very limited restrictions imposed with the license. In essence, if you distribute a BSD licensed work, you must include the original copyright notice, a disclaimer of liability (i.e. you cannot sue the developer(s) if the application does not do exactly what you expect) and that credit should be given to the authors of the work (i.e. you cannot claim this work as solely your own). Some versions also protect the Trademarks of the BSD project, so that you cannot use the project's trademark as your own when you create your own version of the project. It is also possible to combine the BSD license with other licenses (free or otherwise), as was the case with BSD Unix, where the BSD components were licensed under the BSD license, and Bell Lab's components were licensed under a different license.
A benefit or disadvantage depending on whether you are a software maker, or part of the open source community, is that this license is extremely permissive in what you can do. Recall that in the GPL, you must distribute any changes you made to the work under similar licensing as the GPL, should this solution be distributed outside your organization. However, with the BSD based licenses, you can take work licensed under the BSD license, make modifications (trivial or otherwise) and use/distribute the application without having to distribute the source. In other words you can take something that is in the public domain and make it proprietary, as copyleft isn't implemented at all.
While the GPL license is by far the more most popular free license out there, a lot of important work is licensed under the BSD license, especially in the operating system space. There is no one, "right license," just as there is no one, "silver bullet," to software development methodologies/paradigms. Some people may find the GPL license too restrictive for their use and opt for the BSD license. Others may find the BSD license less free than the GPL, and hence opt for the GPL. In any event, the open source community benefits from having a variety of choices for developers to choose from which support some degree of freedoms rather than having a rigid licensing system that cannot accommodate the needs of the entire community.
Switching gears for a moment, there is a stereotype in some parts of society that hackers are clever developers who cannot gather the resources and skills in their community necessary accomplish large, ambitious goals that typically require the resources of a team of hundreds of developers working together. In fact as was mentioned before, Larry Constantine in his book, The Peopleware Papers, continually talks about the Code Cowboy, the mythical developer who can accomplish large feats in development that would normally take years to accomplish with a team of skilled developers in the garage of his parent's house. As Fred Brooks writes in the Mythical Man Month, in reality few systems of large scale are built by a lone developer.
This brings me to Brook's law, which states that as the number of people working on a software project increases, the amount of complexity and interactions increases by N squared. Most software companies have proven that for large software projects, this law holds. What I find interesting, and what The Revenge of the Hackers article points out, is that for many open source projects, this law does not hold. For some reason the immense collaborative power of developers globally creating and improving open source projects, can develop high quality solutions which often times is delivered on time. It mentions reading the Cathedral and the Bazaar, for more information on this phenomenon. It is this article which later inspired Netscape to release the source code to its browser when it was under threat from Microsoft's Internet Explorer, which threatened to destroy open standards. The implications of this announcement for the open source community, is that it shed light on the community. If the Netscape experiment of open sourcing their browser turns out to be a success, it may prove that the open source model is a viable business model.
It was from the direct progress made with open sourcing the Netscape browser, and the publishing of the Cathedral and the Bazaar, that the free software community realized the importance of effective marketing. In February of 1998, members of the free software community met in person at the VA Research headquarters to design an effective marketing campaign. The first order of duty was to find a better name to describe the movement, as the term used to describe their community, the, "free software," community was ambiguous. Free software to an ordinary person, could either mean free as in freedom, or free as in beer (the former being the correct definition). In addition, there was a negative association of free software as being connected to communism, and anti-intellectual property, which in reality it isn't (but the FSF implied). The point of the marketing campaign would be to stress the positive aspects of the free software movement, such as the lower cost and and high reliability. It was from this brainstorming session that the term open source was devised to describe the broad free software community and a marketing campaign was devised to rebrand the free software community.
There were a set of core themes that the open source campaign was defined by:
- evangelize open source top-down, as it is easier to convince a manager to switch to open source then it is to have developers/engineers convince their managers
- use Linux as the poster-child for effective open source work, as it the most widely known open source project
- Convince the Fortune 500 to use open source, as they drive the direction of software
- Use business media to make the the business case for open source, capturing Wall Street
- Educate the community in guerilla marketing techniques to have a unified marketing message
- Create a mark that open source software can use, to create a brand association for open source
It then goes on to make several prediction of the future of the open source and for that matter computer industry:
- Explosion in the number of open source developers
- Linux will dominate in the open source OS world out placing BSD and other free OSes
- More software vendors will commit to supporting free solutions such as Linux
- Open source technology will be brought in through the backdoor of Microsoft shops
- The market share of proprietary will fade away
- Microsoft's foray into the server world will fail (Windows 2000)
The Open Source Definition is essentially an adaption of the Debian Social Contract, and the Debian Free Software Guidelines to make it applicable to the larger open source community. It is not a license, but rather a set of guidelines used to determine whether a license is considered open source. At the heart of the open source definition, is the guarantee of the following rights:
- The right to make copies of a program, and distribute those copies
- The right to have access to the software's source code
- The right to make improvements to the software
The reason why the open source definition was created as mentioned before was to have a standard to compare software licenses against to determine whether they should be considered part of the open source community. Unfortunately there have been in the past to make the open source definition effectively ambiguous so that non-free software can be classified as open source. For instance, there have been non-free software that has lured open source work to leverage proprietary packages, such as Qt and the KDE desktop manager built around it.
Let us now look at software licenses. In general, we can place software licenses into one of two broad categories, it's either Proprietary or a Free Software license. However, there is also a grey area that exists where the software depending on how it is licensed and used could be considered either free or proprietary software.
The Free Software class of licenses include Free Software licenses that follow the free software definition, open source which is similar to free software licenses (but allows for further restrictions), and public domain software. From this, software delivered under this license model can be further grouped into one of two groups, copyleft or noncopyleft. As a reminder, copyleft is the principle that all copies of the software (including derivative work) carry exactly the same license as the original work. The GPL is probably the most notable example of a free license that implements copyleft. Public domain software, on the other hand is a special case of non-copyleft software, as software released in the public domain carries no copyright protections or licenses, and so users are allowed to claim whatever rights or licenses they want to the software work. In effect noncopyleft licenses allow companies to make their own versions of the free software be distributed and licensed as nonfree.
On the other hand, non-free software is software where redistribution and modification is either effectively prohibited or requires you to ask the author for permission. There are several types of proprietary software licenses out there namely freeware and shareware. Freeware essentially refers to software where there is no cost to redistribute and use, although other rights are limited, such as access to source code. Shareware is similar to freeware except users are required to pay a fee for the subsequent use of redistributed software.
There is a third area of licenses which forms a grey area in the free software vs proprietary software battle and they encompass private and commercial software. Private software is software that is developed and distributed for private use. While the free software community would prefer developers to distribute their source code to the community, it may be possible to make private software be compatible with the principles of free software, especially if the users of said software have all the rights afforded to them of free software. Commercial software, may be considered free software, if the software being distributed by the software company follows the principles of the free/open source definition. As mentioned earlier there is nothing in the free software definition that explicitly states that software makers cannot charge for their software, so long as end users and developers have the freedoms afforded to them by the free software definition. On the other hand there are plenty of proprietary software companies that sell commercial software which is not-free, that the source code isn't freely being distributed, or other rights are being reserved or limited.
Saturday, May 15, 2010
Day 4 Reading Summary & Reflection
- A Quick Guide to the GPLv3 (http://www.gnu.org/licenses/quick-guide-gplv3.html)
- GPL FAQ (http://www.gnu.org/licenses/gpl-faq.html)
- Why you Shouldn't use the LGPL for Your Next Library (http://www.gnu.org/licenses/why-not-lgpl.html)
Let's first start off by discussing the GPLv3 which is the latest version to the GNU General Public License, which has several benefits to its predecessors. The license is an evolution of its predecessor (GPLv2), and doesn't make any radical changes. It builds upon the foundations of free software (see previous day's reading for a good definition), but also adds in protections to threats to the license, that were not addressed in the pervious license. I will briefly discuss some of the benefits of the GPLv3:
One thing that was discussed a decent amount in the GPL FAQ is the AGPLv3 or Affero GPLv3,which is the third class of license offered for copyright holders to license their work under the GNU licensing model. The AGPL is typically used to cover software
works that are delivered under a software as a service model. This new license covers some of the challenges surrounding freedom in the software as a service world, as well as extending many of the rights and freedoms enjoyed by the GPL into the SaaS world
such as access to source code).
They made an important distinction between GNU software and software that is licensed under the GPL. While it is true that all GNU software, must be licensed under the GPL, not all software that is licensed under the GPL is considered GNU software.
Part of the reason why some GPL'd software isn't part of the GNU software package may be because the author has not purused making their GPL sotware a project within the larger GNU software project. It may also be that they don't adhere to the spirit of the
GNU software project, such as creating software that links into a non-free library (something permissible under the GPL but not under the philosophy of GNU)
The main difference between the LGPL (Lesser GNU General Public License) and the GPL (GNU General Public License), both types of GNU licenses, is that the former license permits the use of library/code in a proprietary solution in addition to free programs, while the latter only allows for use of library/code in free programs. While that may seems like a minor difference for many, the Free Software Foundation, and the GNU project feel that it makes all the difference.
The GPL is a controversial license in the sense that it places certain restrictions on the copyright holder that may be incompatible with their morals or ethical views. A good example of this prevented in the GPL FAQ is that GPL'd software cannot have restriction placed on it to prevent its use in military or commercial applications. Therefore, if you are a strong pacifist, and you want to release software under the GPL, there may be scenarios where you must be in conflict with your moral views. Of course the GPL is one of but many different free licenses that are out there, with the possibility for authors of creating their own free licenses to handle their own views. What is promising about the GPL, however, is that it's principles are applicable to a wide variety of software, supposing of course that you believe in free culture.
Tuesday, May 11, 2010
Day 3 Reading Summary & Reflection
- The Free Software Definition (http://www.gnu.org/philosophy/free-sw.html)
- The Right to Read(http://www.gnu.org/philosophy/right-to-read.html)
- Misinterpreting Copyright A Series of Errors (http://www.gnu.org/philosophy/misinterpreting-copyright.html)
- Did You Say Intellectual Property? A Seductive Mirage (http://www.gnu.org/philosophy/not-ipr.html)
- Confusing Words that are Worth Ignoring (http://www.gnu.org/philosophy/words-to-avoid.html)
- What is Copyleft? (http://www.gnu.org/copyleft/)
- Copyleft : Pragmatic Idealism (http://www.gnu.org/philosophy/pragmatic.html)
- Software Patents - GNU Project (http://www.gnu.org/copyleft/)
- Bruce Perens : Analyzing Microsoft's TomTom Lawsuit (http://itmanagement.earthweb.com/osrc/article.php/12068_3807801_1/Bruce-Perens-Analyzing-Microsofts-Tomtom-Lawsuit.htm)
- Microsoft's Patent War Against Linux : TomTom Settles, Linux Loses (http://www.linuxplanet.com/linuxplanet/reports/6718/1/)
- The freedom to run any program, for any purpose
- The freedom to study how a program works, and change it to make it do what you wish. Access to the source code being a precondition for this.
- The freedom to redistribute copies so you can help your neighbour.
- The freedom to distribute copies of your modified versions to others. By doing so you can give the whole community a chance to benefit from your changes. Access to the source code being a precondition for this.
you should be able to exercise these rights, without having to ask or pay the author for such
rights, or even communicate with the author. You should be able to use the free work for whatever purpose. It also mentions solutions that take advantage of free software should not impose further restrictions or limits in its own way, be it software, hardware or otherwise (such was the case with TiVo's use of the GNU/Linux). The merging of other free code and modules should also be allowed by free software licenses. Furthermore, the freedoms given are irrevocable (so long as the user did nothing wrong), and permanent, and cannot be retroactively changed! An important distinction about a free license is that it does not impose copyleft, that is it is possible to make a nontrivial amount of changes and not need to share the source. Commercialized applications can be licensed under a free license so long as end users have the rights afforded by the four principles of free software. It also states that these licenses should not contain clauses that implement government imposed export controls. Contracts or license agreements cannot override the rights afforded by the free copyright.
The Free Software Definition then discusses the process or creating and implementing a free license. It begins by asking those interested to look at existing free licenses because there is a good chance that there exists a free software license that meets your needs. However, it mentions that if for some reason you could not find a free license to base your software on, to contact the Free Software Foundation to discuss a possible license strategy that adheres not only to the wording of the free software definition but also the spirit of it.
It then argues that this free software definition can not only be applied to software, but also to complementary items such as software manuals. In addition, this same argument can be applied to other valuable works, such as Wikipedia, and infact any cultural work can be free, by applying this methodology to it.
Finally, it mentions that open source is not the same as free software, in that while the source code may be available, you may be limited in what you can do with the source code.
The right to read is a fictional story created by Richard M. Stallman, which tells the story of two college students : Dan and Lissa, who lived in a world where the rights to read and share books were heavily limited by DRM like technologies that limited and monitored access to such material. Infact things that we take for granted today such as libraries no longer existed, and one had to take loans out just to afford to read, as you had to pay for everything you read!
The story discusses other restrictive burdens put on society, such as the limited and careful monitoring and distribution of debuggers, as they could be used to circumvent monitoring and licensing mechanisms, even though they could also be used for legitimate purposes (such as finding bugs in software). In addition, free operating systems and kernels were outright banned and made illegal. In addition each computer had a root password which only Microsoft and the FBI knew about, which would allow you to change operating systems and gain full control over your computer system.
Dan faces a moral dilemma that this new restrictive world brings, his friend Lissa, wants to borrow his computer to complete a midterm that was assigned to her, as her computer broke down. However, while he can (and eventually does) lend Lissa his computer, he is worried that she may read books that are on his computer, for which only he is licensed to read. You see Lissa came from a middle-class family and could barely afford tuition let alone the books she needs to help her do well in her studies. If Lisa were to read his books, he may face prison time and academic repercussions. In the end, he takes the risk and lends Lissa his computer and fortunately he did not get in trouble for helping her out.
What I found scary about this entire article was the author's note which was written some decade after the article was published and documented how the scary future told in the story is now becoming a reality. Laws such as the Digital Millenium Copyright Act (DMCA), European Union directives, international treaties and other legislation around the world is making it possible for authors to limit how content is being consumed.
A perfect example is today's e-book, a book which can be read through an electronic device (such as a computer). While in the physical world we can freely share a books that we own, current digital rights management techniques, which are protected by these laws prevent E-books from being shared as liberally, often times with the books locked down to one device, with the author being to control the content, such as removing or changing that content on our device. In the future publishers may stick strictly to this new format and the risk that society faces is a world where literature cannot be freely accessed, as copyright in the physical world afforded us. In fact many newspapers have stopped physically printing their newspapers and are rapidly switching to this digital restrictive format. Of course this issue is not only limited to books, but also other works such as audio, video and other mediums for which society used to take the freedoms afforded to us by copyright for granted.
It also goes on to discuss the trusted computing platform implemented in operating system such as Windows Vista which could in theory provide the root passwords and root access discussed in the story. As mentioned before, the downside to this is that we could be entering a future of computing where our rights and control over the computer and what we can do with it are severely limited. In addition, organizations such as the FBI could in theory gain access to our systems either pyhsically or remotely in ways which we would never dream possible in the past (even with encryption).
The article misinterpreting copyright - a series of errors, discusses some of the fallacies in the current copyrighyt debate.
He begins the article by looking at the United States Constituiton, the document in the United States which formed the blueprint for current copyright law. He then cites article 1, section 8 of the constitution which states:
"[Congress shall have the power] to promote the progress of science and the useful arts, by securing for limited times to authors and inventors the exclusive right to their respective writings and discoveries."
There are several implications of this part of the consitution. Firstly, that legilsation can be passed with the goal of promoting progress of science and the useful arts. Secondly, that such protections such be secured for limited times, hence you cannot hold this right indefinately (something we will get back to shortly). Thirdly, that such legislation is not required, but is permitted.
The copyright system and its laws, he argues are not designed solely to benefit publishers and authors of creative work, but rather to provide an incentive to these individuals to develop more creative work. Therefore, this type of law was designed to be a bargain, where congress would spend some of your freedom in the hopes that it may allow for a more creative society. He stresses that more and more it is becoming the publisher, not the author who is receiving and aggresively using these affordances in copyright. This means that copyright, laws that were designed to allow for a creative environment for authors, is being used more and more by publisher who offer no creativity to society!
Now that we know the intent and design of copyright, he then discusses what he feels is the first mistake that is currently being made in the copyright debate, which is that copyright laws must strike a balance between publishers and readers (a.k.a society). He argues that this way of thinking elevates publishers to the same stature as readers. However, it is wrong to think that way because the laws were designed to benefit readers, and encourage publishers to develop creative works. In fact as RMS notes, what we are really doing with copyright law is finding the right trade off between publisher protections and society's freedoms!
Maximizing the amount of published work regardless of how it affects our freedoms and liberties is the second error in the copyright debate according to RMS. It may be alright with trading away minor amounts of freedom to encourage the creative process through copyright. However , this battle of toughening copyrights is doing more harm than good, as it is stripping even more important freedom away, just to gain a marginal amount of additional innovation. At some point society must realize that it is not worth maximizing creative output if it means giving up our freedoms!
Maximizing the publisher's output by these tightening laws (see error #2), in combination with other legal tools such as shrink-wrap licensing, has the effect of strangling basic rights and freedoms given to society that come with published work that we take for granted. For instance, the publisher's goal of effectively removing the "right of first sale," and "fair use," rights via licenses and possibly legislation is being pressed at every level of government. Ironically, this has the effect of limiting creativity in society, as the removal of these basic rights and freedoms means that derivative works that are based on prior art may someday in the future not be allowed, or be tightly regulated. This goes again the founding principle of copyright in the US constitution which is to "promote the progress of science and the useful arts," in other words creativity by authors. A world where Walt Disney could not create many of his popular stories based on the work of prior stories, or where Shakespeare could not use the works of other playwrights to develop his plays.
The results of these three errors, RMS argues, is that we are now having legislation where copyright owners are given broader powers, for an even greater amount of time (possibly indefinately). The Digital Millenium Copyright Act (DMCA) was cited as an an example of legislation which broadens the copyright powers given to publisher, which was legislation passed to comply with an international treaty (the WIPO-CT). Publishers can now use any number of forms of digital rights management (DRM) to limit how people can use and share copyrighted work in ways that traditional works could never be protected, and circumventing such technologies is illegal! Furthermore Sonny Bono Copyright Term Extension Act is an example of copyright being extended the benfit of copyright for upto 90 years! One must ask themself, we've given up all of these rights that we have had before, but what have we as a society received in return for these laws? It would seem that the harm far outweighs the costs of both legislations. Troubling still, publishers are asking for even more restrictions, that even more freedom be given up in the form of legislation that mandates to manufacturers to build DRM into their technologies!
Finally, in this article, RMS writes his prescription for what he feels is a right bargain for copyright law. He begins by arguing that if copyright is a bargain that is being made on behalf of the public by our elected representatives, then any legislation must put the public interest in front of the publisher's interest. Our representatives should only give up as little of our freedoms as they must, and demand as much as dearly possible from the publishers in return. He goes and argues that copyright legislation should be pruned back significantly as the current laws mean we are giving up too much of our freedom and getting very little in return. He argues that copyright laws can be pruned back in phases, with the public observing what (if anything) happens to creativity in society. If there is truly no affect on the creative arts, it is likely that we can further prune back copyright law in another again through another stage. In addition society should restrict licenses and other contractual arrangements that limit the effective power of copyright. While the publishers may threaten that such pruning will limit creativity, their threats are empty as they will continue to keep innovating in the free and productive marketplace.
There are several dimensions of copyright law, which RMS feels can be pruned down. The first dimension, which he calls the duration dimension, is how long copyright protection should be granted for. He argues that copyright protections should end several years after a work has been published, and that this duration would depend on the nature of the work being copyrighted. For instance, he argues for 10 years with published work (as most of the revenue for a book is generated in the first couple of years). Another important dimension that he mentioned in his essay was fair use. He argues that fair use should allow for small scale noncommercial copying amongst individuals.
The article, Did You Say "Intellectual Property"?It's a Seductive Message, is an article written by Richard M. Stallman which argues that the whole notion of intellectual property is at best a mirage. Intellectual property, as it is now defined are basically works protected either by patents, trademarks or copyrights. Each of these government imposed monopolies has their own meanings and implications and have evolved in separate ways, which RMS argues cannot simply be strung together into one term.
He argues that this terminology came about from the founding of the World Intellectual Property Organization (WIPO) in 1967. Furthermore the term has been used ever since to imply that these legal tools (patents,copyrights,and trademarks), are a sort of physical property that needs the strict affordances provided by laws governing physical property. Not surprisingly legislators have been changing these laws more and more to reflect the implication of the term intellectual property, as more and more IP holders, and the lawyers representing them continue to refer to this term.
The meanings of each legal tool lumped into the term Intellectual Property, was then explained by RMS in the article. Copyright law, he argues, was designed to promote authorship and art, and covers the details of expression of a work. On the other hand patent law was intended to promote the publication of useful ideas,at the price of giving the one who publishes the work a temporary monopoly over it. Finally, trademark law, he argues, was simply designed to enable buyers to know what they are buying. He then concludes that it is important to keep these legal entities separate in ones mind, as each one has its own implications and solves very different sets of issues. Thinking about these laws as one clumped together terminology has the effect of us thinking about the commonalities of these laws while ignoring the subtilties found in each of these laws, such as the rights afforded to society, not the IP holders. He concludes by stating that if we think of trademarks, patents and copyrights separately and fully, we will have a better understanding not only of the law, but the spirit to why these laws were created.
One thing that bothered me about the article was that he thought that economics is focused solely on matters of production while matters of freedom and way of life are issues which are not of importance to economics. Unfortunately this is one area of thinking where I think that RMS is severely mistaken, as economics isn't solely interested in matters of production and maximizing value. This would be equivalent to me saying that free software is only concerned about making software cost nothing, and that it doesn't care about matters such as the freedom to view and modify source code! Infact economics concepts such as externalities are concepts in economics which realize the importance of society and the greater good.
Confusing Words that Are Worth ignoring are buzzwords and jargon used in the computing industry, which RMS feels should not be used. Rather than summarized each definition proposed, I will lump RMS' terminology complaints into categories of frustruation.
The first set of frusturation with terminology used by the computing industry is the usage of words that refer to proprietary solutions to refer to some general action or word. He mentions, Powerpoint, MP3 Player, and Photoshop as being prime examples as they are used in our vocabulary to discuss generalized things (presenting a presentation, music player, and photo editing) yet refer to proprietary solutions.
Another category of terminology that frustruates RMS are terms that confuse the true meaning of the term free (as in freedom) software, or which further confuse the public's view of software licensing. These terms include BSD-style, closed,open, for free, freely available, freeware, and give away software. Most of these terms refer to free in price, but not free in freedom, and do not follow the four principles of the free software definition.
Then there are terms which RMS' feels are doublespeak or whitewashes the issues that these terms pose. These terms include reasonable and nondiscriminatory (RAND) to refer to patent encumbered standards, trusted computing which refers to technologies that effectively limit access to people's machines, or consumers to refer to people who consume digital goods which cannot in effect be consumed (such as information or music), or PC to simply refer to computers running Windows, instead of its original intent of referring to a computer that an individual uses (regardless of OS).
There are terms which don't correctly refer to GNU/Linux as simply Linux, such as LAMP (the Linux Apache Mysql, PHP stack) System, or Linux system.
Words that have no particular meaning and are just hype also annoy the author, such as cloud computing.
There are also terminology used by lawyers or to make legal arguments against free software and piracy, and they include: compensation, content, creator, digital goods, digital rights management, intellectual property,piracy, protection,sell software,software industry, and theft.
Terms that inadaquetly describe the open source world and they include: hacker,vendor,market.
Finally he mentions a term that abdicates the need for ethics: ecosystem as we typically observe an ecosystem but rarely consider the ethical implications of how entities in the ecosystem regard ethics.
What is copyleft is an article which discusses the principles behind copyleft, and methodologies (such as licensing) that enforce this philosophy. A related article, Copyleft : Prgamatic Idealism, which this section of my blog post also discusses, deals with the practical issues surrounding copyleft.
One may think that free projects such as the GNU can meet the requirements of the free software definition by simply placing their work in the public domain. However, one major downside that the article mentions is that derivative work can take advantage of the fruits of the GNU project's labour, while not donating the derivative work back to the community. In a sense public domain work encourages a take but not give back to the community mentality to those who base their work on such projects. The GNU project needed a legal mechanism which forced those who based their work on the GNU project to give their derivative work back to the GNU project, and the way they get away with this is by imposing copyleft on the software instead of simply placing it in the public domain.
Copyleft essentially uses copyright law for the reverse purpose of what most people use copyright law. Instead of protecting the rights of authors by limiting distribution and copying, copyleft forces those who are bound by the copyright (such as those creating derivative work based on the copylefted software), to copyright and license their software with exactly the same license/copyright as the copylefted software. In that way authors are required to redistribute the source code of their derivative work which is based on copylefted software.
Finally the article goes on to how copyleft is applied in the software world. Essentially a copyright is applied to software which is to be copylefted. Distribution terms are then added which in effect apply the philosophy of copyleft to a legal instrument which copyright enforces on all people who use the software in any way. These distribution terms are typically implemented in a license of some sort, such as the GNU General Public License (GPL).
Software patents are another issue of concern not only for the free software community, but for everyone in the software industry. As the Software Patents article written by Richard Stallman points out, even unknowingly implementing an idea covered by a patent is considered patent infringement (although you have implemented it independently of the patent, as was the case with the compress program and the LZW patent). Contrast this to copyright, where if you create similar but independent work of an author, that is not considered copyright infringement. One could rightly argue that it would be extremely tedious and time consuming, if not impossible for a developer to look through all the patents currently granted before developing a solution to a problem. Since a developer comes up with many different solutions to several problems to create a fully functioning computer program, the chance for software patent infringement is very high, even if they had not read the patent before. Patents also have the effect of limiting creativity on the part of developers as it creates legal gray areas where innovation cannot be effectively practiced.
There are three ways that people can deal with patents, and include:
- Avoiding the patent
- Licensing the patent
- Overturning the patent in court
Avoiding implementing features of capabilities altogether can prove to be a difficult and unpopular approach to dealing with patents. Firstly, this may mean that certain features of your software simply cannot be implemented because important parts of its implementation are covered by patents. As a result, your software may become less and less useful as you realize that more and more of your features are covered somehow by a patent. In addition, some of these patents may cover functionality that is essential for the proper functioning of software (for instance British Telecom's patent covered in the article). Secondly, there are algorithms that have been patented which limits what types of algorithms can be implemented in your software. These algorithms could for instance be a faster way to get a job done, or it may just be an the only effective way of solving a problem (for instance public key cryptography). While these effects may effect some software developers minimally, as it only represents a minor improvement or enhancement to their software, for others these patents could strike a critical blow to the usefulness of the software.
Licensing the patent is not always an option, as patent holders always have the right to refuse you a license to the patent. This has the effect for many of shutting down entire software operations whose business hinges on innovations that somehow "touched," someone else's patent for whom they cannot acquire a license. Even if you can license a patent, often times the patent holders will demand a royalty from revenue (usually a percentage of revenue). This has the effect of eating away the revenue and viability of a software business to cover a patent license which your software may only slightly unknowingly infringe upon. Some large companies, like IBM have built up such a large patent portfolio that there is a good chance that there is a patent which causes you to infringe on their patent rights regardless of what you do. In addition, some companies may only license their patents with you if you in turn license your patents to them (called cross-licensing), which companies use to extort innovations out of inventers.
The final way to deal with patents is to overturn them in court. The criteria that a potential patent must satisfy before becoming a patent is that it is novel, useful and unobvious. While these criteria seem clear and straightforward in disproving a patent claim in court, the reality of actually trying to defeat a software patent is the difficult and frustruating at best. First and foremost to fight a patent in court costs the plaintiff (the person arguing that the patent is invalid), perhaps millions of dollars, well out of the reach of many individuals and companies to afford. Secondly, fighting the criteria that was used to grant a patent is very difficult to show in court. For instance, if you want to disprove that a solution is not novel, you must show prior art that closely resembles what is being patented, and not only that you must prove that this prior art was created and developed before the patent was applied for.
Patents are a cancer, argues RMS, however this cancer affects different industires in different ways, and the validity of the patent system in one industry may not make sense in another. He makes the argument that patents may make sense for the pharmaceutical industry, as it covers a very narrow innovation, for which there is significant investment in development and production. The patent system was designed to help innovators recouperate such investments in return for making public this otherwise proprietary knowledge. However, software deals with abstract mathematical constructs which in and of itself can cover a wide variety of different applications. In addition, the cost for innovation in the software field is typically significantly less than that of the pharmaceutical industry as there is less investment that needs to be made in the technology and infrastructure to support it. Therefore, the argument for patents in the software industry seems to make little sense.
Seeing as the three techniques to deal with patents have proven themselves to be ineffective at best, one must now ask the question, how do you fight the software patent system? One method is to fight where patents are currently being applied for, and issued, which is to say the patent office. This first technique has worked well in Europe where European laws have effectively stopped the practice of applying patents to software. However, this does not apply so well in the US and the UK, where precedent for software patents has been established for a long time. In which case one may want to fight the patent system using the second method, which is to say when patents are being granted. He argues that in such cases the scope of such software patents should be severely limited as much as possible. This limitation begins by having patents state what they area of industry they cover. In this way an automobile patent should not for instance infringe on word processing software, should there be such a patent that crosses that boundaries.
The two articles written by Bruce Perens document the legal battle between the software maker Microsoft, and the GPS maker TomTom, surrounding TomTom's use of the Microsoft FAT filesystem, a technology protected by patents, as well as several patents related to their line of business.
These patents, Bruce argues, are patents which disclose obvious and trivial implementations to workaround technology limits (especially so with the FAT patents, such as handling long file names). Beyond the obviuos factor which he claims, he also states that much of the technology patented has plenty of prior art associated with it that implements nearly the exact same thing (for instance computers in cars existed before Microsoft filed its patent for it). Therefore, one has to question the validity of these software patents, which is the basis for Microsoft suing TomTom.
Beyond patents, another frusturating aspect to the argument is that most solid state media (that is usb flash drives, and memory cards) are preformatted to the FAT filesystem. It is because of Microsoft's market dominance that Apple and other manufacturers were forced to support FAT in their systems to originally support FAT formatted floppies. As a result an entire software and media market gravitated to this proprietary file system which Microsoft had not enforced with patents before. As a result of this, device makers such as TomTom who made use of removable flash devices had to build in support for FAT as most flash devices came preformmated with FAT. It was only then when Microsoft selectively decided to enforce it patents on TomTom and indirectly sue the Linux community as a whole.
Speaking of patent enforcement and infringement the article then discusses how prohibitively expensive it is to defend oneself in software patent litigation. It mentions that TomTom disclosed that it was spending around $5,000,000 per patent infringement case to defend itself. Therefore the legal system encourages settling patent infringement cases (which TomTom did with the Microsoft FAT patents)even if you know you have not commited any wrongdoing due to how expensive it has become to defend yourself in such litigation, especially if your opponent has more resources (i.e. money) than you do. Furthermore the mere settling of such patent infringement cases implies that your organization and those affiliated with your case (i.e. Linux in the case of TomTom), have admitted to committing patent infringement and thus legal precedent has been established.
An important thing to think about is that if you were to commit a crime in most countires, you are afforded a lawyer by the state for free. Therefore this begs the question, should those named in a patent infringment case be given the right to free legal defence by the state, or alternatively by those suing them?
The effect of the Microsoft/TomTom settlement therefore, is to create an environment of Fear, Uncertainty and Doubt (FUD) in the free and open source world. This has the effect of scaring users away from the open source model and platform, for fear of possibly being held liable for taking part in patent infringement. What is even more troublesome is that many free and open source developers will look at the TomTom case and be scared away from developing free and open source applications as it may in some way violate some other proprietary software maker's patents.
The articles conclude that the only solution around this patent issue is to outright ban the practice of software patents. It may be enjoyable in the short-term to invalidate other people's software patents on the basis that there is substantial prior art that proves that the patents are not inventing anything truly novel. However, this only invalidates a minor number of software patents granted everyday, in other words removing a proverbal drop from the software patent bucket.
Sunday, May 9, 2010
Day 2 Reading Summary
- 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