Open Source ioe12 Part 1

I watched the Revolution OS documentary and found it very interesting. Obviously, it had a particular perspective on events and this has to be taken into account when viewing, but there was a lot of useful material that I personally found useful and would to take away with me after watching. I did get a much better idea of events and the main players involved in the Free Software and Open Source movements. It was also interesting to see the different take on things that people from the two sectors have (or had) and a certain level of potentially underlying animosity.

I now have more of an understanding of ‘Copyleft‘ as being a term used for the distribution of software that allows the copying and redistribution under a specific licence. [And the point is made in the video that answered a quandary I had personally about whether to distribute my work under a CC licence other than CC0 or Public Domain.] If something is made Public Domain then anyone can make a small change and can then copyright it; precisely what the Free Software Foundation didn’t want to happen.

The points that I did find very useful from this video were:

  • The significance of Richard Stallman developing the GNU General Public Licence (GPL)
  • The discussion that brought about the term Open Source
  • The authoring by Bruce Perens of the Open Source Definition

Bruce Perens derived a definition for the Debian free software (a Linux distribution). He then relabelled this to become the Open Source Definition. In the video he explains the nine rights in the Definition as:

  1. Free (as in Liberty) Redistribution
  2. Source Code Available
  3. Derived Works Permitted (for redistribution)
  4. Integrity of the Author’s Source Code – Author can sort of maintain their honour – if you make a change you might have to change the name of the programme or mark out the change very clearly
  5. No Discrimination Against Persons or Groups – can’t present someone or a group that has ideologically differing opinions to your own from using the software
  6. No Discrimination Against Fields of Endeavor – usable in a business as well as in a school
  7. Distribution of License – give license to someone else who gives it to someone else
  8. License Must Not be Specific to a Product – if distribute on a RedHat system then the license can’t say ‘don’t distribute on a SUSE or Debian system’
  9. License Must Not Contaminate Other Software – distribute on CD with other software and you can’t stipulate that ‘other software must be free or you can’t distribute my software in there’

Refer to this section of the video.

The full Definition is provided in one of the other readings from the course.

The GPL did allow business and profit to be made by providing a service or support to the ‘Free’ or ‘Open Source’ software. With proprietary software the support is a monopoly which arguably can lead to a poorer service. Cygnus under Michael Tiemann became the first company to support free software.

Linux took off at the same time as the Web because of Apache, the killer Linux app. It was more reliable and more flexible than alternative products, and usefully for Internet Service Providers (ISPs) it allowed multiple sites to be run from once Apache installation.

As a bit of an aside:

I personally remember starting using Netscape during the infancy of the Web on a Unix box in about ‘93-’94. I also remember the problems Netscape began to have with market share as Internet Explorer began being bundled free with the Windows operating system. So it was interesting to see what the influences where on the Netscape executives, including Eric Raymond’s ‘The Cathedral and the Bazaar’, which prompted them to go down the Open Source project route.

I also remember the SUN Spark Stations that were bought in Electronic and Electrical Engineering when I was researching back in about 1992, and how expensive they were compared to the PC 486s of the time, so what Larry Augustin of VA Linux had to say on that matter certainly had resonance.

I mention ‘The Cathedral and the Bazaar’ written by Eric Raymond. As it too makes up a part of the course readings, I have subsequently read it, and it was an interesting read. It deals with Eric’s development of an Open Source email programme called ‘Fetchmail’, and he uses this experience to explain the parallels with Linux Open Source development. One point in this explanation I found particularly interesting was that it seems important to know when to use the ideas and work of others. Also, be extremely reverential in your praise of these other parties and people with believe you actually did much more of the work yourself, if not all the work. You also have to have a kind of charisma that will encourage other people to follow your lead.

The basic breakdown of the Cathedral and Bazaar concept is as follows. The general approach to software production is the use of a set number of programmers who develop the code and debug using a ‘closed (source)’ approach before releasing a version. The debugging takes a long time and bugs are seen as deep level problems. However, because of this process, the software is relatively bug free on release. This is the ‘Cathedral’ approach as Raymond terms it. The opposite of this is the ‘Bazaar’ approach. Here, the source code is made public and anyone can contribute to the development. This enables a very intense peer-review process to take place. The iteration process is very rapid, in the case of Linux multiple version point updates were made in a day. By using this process debugging solutions are announced quickly, thus alleviating duplication of tasks and enabling those involved in debugging to rapidly stop having to work on that task once a solution is found.

It was previously hypothesized by Brooks’ Law that the more programmers that are thrown at a late software programming task the later the project becomes. The ‘Law’ suggests that the bugs interfacing code developed by multiple programmers increases as the square of the number of programmers. If this were the case, however, Linux would never have been produced.

1 thought on “Open Source ioe12 Part 1

  1. Pingback: OpenCourseWare ioe12 | Squire Morley

Leave a comment