Free & Open Source Software: Notes from a lecture

For a large period of time in computing history software was not seen as the primary component. It was all about the hardware, the machine. The code that made the machine work and useable was simply seen as part and parcel of the machine.

One reason for this may be the way in which we tended to understand software. Another reason may have been that hardware of that size and complexity was not sold, it was leased. The “buyer” therefore was paying for a solution rather than a system. This was a very lucrative way of doing business.

The early punch card system that became the solution for the US Census was the Hollerith Tabulating Machine, these were leased to the Census Bureau. Hollerith’s company would later merge with others to become IBM whose punch card tabulators were leased to governments and organizations around the world. One advantage of the leasing system is that the company could control which cards were used in the system and also charge for maintenance and training.

With digitalisation many companies made source code available and engineers could make changes to the software. Improvements could be included into the code and sold on to the next company.

In 1969, IBM began to charge separately for (mainframe) software and services, and ceased to supply source code. By withholding the source code, only the company could make changes (and presumably charge their buyers for these changes).

The ability to “own” software, or at least control it through copyright was beginning to become a discussion among programmers. For example in 1976 Dr Li-Chen Wang released Tiny Basic under a Copyleft license which included the catch phrase “All Wrongs Reserved” Copyleft_All_Wrongs_ReservedIt is fair to say that the history of free software (and copyleft) truly begins with Richard Stallman‘s attempts to create a “technical means to a social end.” The story behind the creation of free software starts with his attempts to make a printer work and the company’s (who owned the printer) refusal to give access to the necessary code. He launched the GNU Project in 1983.

Free software is all about ensuring that we have access to, and control over, the basic infrastructures of our lives. It is not about having software at no cost – it’s about ensuring that our technology works in ways that suit our lives. In order to enact this the software that is produced by teams and individuals around the world is licensed under the GPL (General Public License) summing up the license is a bit tricky but it is common to refer to the Four Freedoms, to be considered to be Free Software it must:

 

The freedom to run the program as you wish, for any purpose (freedom 0).

The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1).

Access to the source code is a precondition for this. The freedom to redistribute copies so you can help your neighbor (freedom 2).

The freedom to distribute copies of your modified versions to others (freedom 3).

A precondition for these freedoms is that the code must be accessible to those who would want to read it. The importance of Free Software is much like the arguments for free speech or freedom of information. It is not that everyone wants, or has the competency, to use these rights but without them all of us are a little less informed about what is happening around us.

Once again it is important to stress Free Software is not about price. Nor is it about doing whatever you like with the code. From the Free Software Manifesto (1985)

GNU is not in the public domain. Everyone will be permitted to modify and redistribute GNU, but no distributor will be allowed to restrict its further redistribution. That is to say, proprietary modifications will not be allowed. I want to make sure that all versions of GNU remain free.

It is a gift with a very clear condition.

Free Software is sometimes confused with Open Source software. They are both similar but they have different conditions:

The term “open source” software is used by some people to mean more or less the same category as free software. It is not exactly the same class of software: they accept some licences that we consider too restrictive…

A common difference that can easily be seen in many open source licenses is the lack of the clear condition that nothing can be made into proprietary software.

Here are the slides I used.

Open is nothing new

At times I feel that I am forever discussing openness. Mainly – but not exclusively – Creative Commons, Free Software & Open Source. Often I am arguing the basics of the idea with people unfamiliar with the concept and I need to overcome a great deal of skepticism. The skeptics argue that now way can it be a good idea to give away material and they are rarely convinced with the growth of modern examples. They lean back as if to say: just you wait, it will go terribly wrong.

This is why it is nice to present the skeptics with established, old examples. And recently I came across an excellent new old example.

Can you name an eighteenth century furniture designer? Most of us cannot, but all the same many of us are familiar with the name of Thomas Chippendale (1718-1779) and not because of the dancers. Thomas Chippendale was the first furniture designer to become famous – before Chippendale furniture was known by styles, monarchs or famous buyers, but not the designers.

So what did he do?

After working as a journeyman cabinet maker in London he became the first cabinet-maker to publish a book of his designs. The Gentleman and Cabinet Maker’s Director is still available in print today. The amazing thing about the publication was that it created open source furniture and allowed other furniture makers to make copies of his designs. Of course he may have lost a few commissions but going open source ensured that his fame lasted long after his death. Which is more than can be said of his contemporaries.

Sharing is caring – sharing is good business.

Code Rush

The documentary Code Rush from 2000 is about the open-sourcing of the Netscape code base and the beginning of the Mozilla project. Here is a comment from IMDB

Watch this film and you will get to see the things that a college computer science course could never prepare you for: having to sleep at the office for days in order to meet a deadline, alienation from family, caffeine addiction, having one’s release blocked by intellectual property concerns, and other cold realities of Silicon Valley. If you’re thinking about getting a career in software engineering or software project management, Code Rush is a must-see.

This documentary also gives insight into a few of the major milestones in the history of the software industry, such as the opening of the Netscape source code, which is code named “Mozilla”. If it weren’t for this release, we wouldn’t have Mozilla Firefox, one of the most popular Internet browsing solutions today. The footage also covers one of the most notable company acquisitions of that time period.

Code Rush is now released under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 license. There is also a dedicated homepage for the film, with links to stream or download the film in various formats.

The Quality of Code, Law and Journalism

In the IT newspaper Computer Sweden a Swedish IT/IP lawyer (Malin Forsman) is quoted as saying that proprietary software is of “better quality” than Free or Open Source software (my translation):

She recommends against Swedish software providers from going ‘open souce’. According to her using licensing costs is a much better method.
– You need a carrot to exert yourself properly. If the large source of income is dependent upon the quality of the code then I believe that you will try harder.

My first problem is with the journalism and the article itself. Like many other short newspaper articles it does not seem to have a point. What is the newsworthiness of this article? That an individual has an opinion? So what? We all have opinions but this does not make them newsworthy. Mind you if this had been my only complaint it would not have been worth blogging about.

My second problem is with journalistic integrity. By simply blogging the lawyer we arrive at the law firm where she works and her brief bio, where under Memberships we see that she is a member of: Board member of the IT group of the Stockholm Chamber of Commerce, Board Member of the Association for IT and Law, Member of the Swedish Copyright Association and Member of the International Technology Law Association. Her main legal experience outside law firms was working for Microsoft Corporation. Shouldn’t this maybe have been indicated in the article? If the journalist is presenting an opinion as news then shouldn’t some sort of critical analysis be added? I know that journalists are supposed to be objective but this article is hardly reporting the news as it is.

The next problem is with the lawyer herself. I have no doubt that she is a qualified lawyer and an expert in the IT/IP field but what is wrong with her statements? Unless of course this is simply a case of journalistic misquote she is a legal expert speaking of the quality of code. She does not attempt to define quality even if such a definition was at all possible. By her logic an Open Source project that makes it’s code proprietary immediately improves its code and a proprietary software project that releases its code under an Open Source license immediately deteriorates the quality of its code. Obviously these are ridiculous statements. But when the IT/IP legal expert says them we are supposed to nod our heads in agreement.

So who would be the right person to make such a statement? Well that person would need to have a vast experience of code not law. This imaginary person would need to have a vast experience of both open and proprietary projects and be able to define the concept of quality in a way that will enable these projects to be measurable and comparable. In addition to this the person would need to be free from suspicions of bias. I doubt whether such a super person exists.

But what may be said about quality? Here are two quotes:

Peter Drucker: (Innovation and entrepreneurship, 1985) “Quality in a product or service is not what the supplier puts in. It is what the customer gets out and is willing to pay for. “ISO 9000: “Degree to which a set of inherent characteristic fulfills requirements.”

Now lets complicate the issue even more:

While both these definitions are relatively common neither takes into full account the nature of software quality. The problem arises from the fact that software is a mix of product and service. The actual code is not what customers buy – they buy a function. Who cares what the software of a word processor looks like? It’s function is what the customer believes he/she has bought. If this is true then the customer has also bought an expectation of support in the case of software failure.

This was just meant as an illustration of the complexity of software quality and why neither a journalist nor a lawyer can deal with such a question in the space of a 350 word article. What they are really doing is pure advertising in the form of journalism. Advertising a personal, political and business stance on software while puffing up their own egos.

Late night project

Last night I decided to install Ubuntu (HardyHeron) on an old mac as a small side project naturally any such experiment is only carried out under the delusion that “this will be easy”. The actual installation went quite well with only a few minor hitches – all solveable.

The rest of the night, and a long night it became, was spent adjusting, fixing, adapting and tweaking the new system. The main annoyances that still remain are the reactrion times on the keyboard and that the short commands are not installed in the way that I like them yet. Not to mention all the programs (and their settings) that I rely on still need to be installed.

But so far it’s looking good. I wonder if this may be the switch? My last times with GNU-Linux were just explorations.