This session should be touching on a couple of themes already raised in the module: collaborative production (wikinomics) for the collective good and the future of open and transparent digital data (net neutrality). Free software and open source software philosophies Essentially, this weeks session is concerned with the 2 slightly different, but related, computer programming philosophies. They are the Free Software movement and the Open Source movement.
The Free Software movement is working toward the goal of making all software free of intellectual property restrictions. Followers of this movement believe these restrictions hamper technical improvement and work against the good of the software community.
The Open Source movement is working toward most of the same goals, but takes a more pragmatic approach to them. Followers of this movement prefer to base their arguments on the economic and technical merits of making source code freely available, rather than the moral and ethical principles that drive the Free Software Movement.
At the other end of the spectrum are groups that wish to maintain tighter controls over their software. Namely Microsoft and Apple. It ’ s no secret that Microsoft have been trying to destroy open source software for a long time: http://havemacwillblog.com/2009/02/28/10-ways-that-microsoft-blocks-desktop-linux/ Today ’ s session is going to chart the origins of the free and open source software movements. It should be possible to see a potentially different way of working, or making technology work for us than the vision held by Microsoft.
The Free Software movement is headed by the Free Software Foundation, a fund-raising organization for the GNU project. Free software is more of an ideology. The oft-used expression is “ free as in speech, not free as in beer ” . In essence, free software is an attempt to guarantee certain rights for both users and developers. These freedoms include the freedom to run the program for any reason, to study and modify the source code, to redistribute the source, and to share any modifications you make. In order to guarantee these freedoms, the GNU General Public License (GPL) was created.
The GPL, in brief, provides that anyone distributing a compiled program which is licensed under the GPL must also provide source code, and is free to make modifications to the program as long as those modifications are also made available in source code form. This guarantees that once a program is “ opened ” to the community, it cannot be “ closed ” except by consent of every author of every piece of code (even the modifications) within it. Most Linux programs are licensed under the GPL. It is important to note that the GPL does not say anything about price. As odd as it may sound, you can charge for free software. The “ free ” part is in the liberties you have with the source code, not in the price you pay for the software. (However, once someone has sold you, or even given you, a compiled program licensed under the GPL they are obligated to provide its source code as well.) GNU – Richard Stallman 1983
At the forefront of the younger Open Source movement, the Open Source Initiative is an organization that solely exists to gain support for open source software, that is, software that has the source code available as well as the ready-to-run program. They do not offer a specific license, but instead they support the various types of open source licenses available. The idea behind the OSI is to get more companies behind open source by allowing them to write their own open source licenses and have those licenses certified by the Open Source Initiative. Many companies want to release source code, but do not want to use the GPL. Since they cannot radically change the GPL, they are offered the opportunity to provide their own license and have it certified by this organization
While the Free Software Foundation and the Open Source Initiative work to help each other, they are not the same thing. The Free Software Foundation uses a specific license and provides software under that license. The Open Source Initiative seeks support for all open source licenses, including the one from the Free Software Foundation. The grounds on which each argues for making source code freely available sometimes divides the two movements, but the fact that two ideologically diverse groups are working toward the same goal lends credence to the efforts of each.
In the beginning was the command line. Actually, as Weber (2004: 20) points out, in the beginning was the on/off switch. What I suppose I ’ m getting at here is that in the early days of computing there was no meaningful distinction between what we call hardware or software. There was only the computer and those who worked with it. As with most newly emerging technologies, there was not a great deal that the user/programmers could do with their machines. Early computers were bulky, awkward to work with, expensive and tricky to maintain. They were not very powerful either (by contemporary standards). The kinds of things we take for granted today – huge memories, fast processors, reliable, vast storage – were unthinkable when IBM put its first commercial computer on the market: the 701 in 1952. To hire the machines cost $15,000 per month. Most of the organisations that did so were in the US Department of Defence.
In 1953, some businesses started buying the IBM 705 – a commercially derived model, for an average price of $1.6 million.
Pricing aside, the hardest part of owning a computer was writing the instructions or software to tell the machine what to do. Processing radar images on the IBM 704 required nearly 80,000 lines of code (Weber: 2004: 21). The users of these machines had to write software from scratch without many tools. There were no software development kits (SDKs) or compilers to translate human words and symbols into machine readable language.
To write a compiler from scratch is difficult. The engineers of these machines realised this and took steps to get all users of the machines (irrespective of company loyalties) to build a compiler everyone could use. You had researchers from Universities like Berkley and MIT working side by side with engineers from AT&T and other big companies. Competitors shared their research in the early stages so that all could benefit – everyone needed a set of basic tools and nobody had the time, money or expertise to do this on their own. The group was called PACT (the Project for the Advancement of Coding Techniques) and brought together software engineers from Lockheed, Douglas and RAND to build a set of shared tools. It is here that the kernal of the open source idea was located. Groups of enthusiastic software engineers came together to share ideas, write software and disseminate it freely. However, it didn ’ t last long, as anti-competitive legal frameworks impacted. 1956: In a complicated case involving the telephone companies Western Electric and AT&T, President Eisenhower ’ s Administrative Justice Department decreed that, those companies could not enter into any other business markets other than phones. Their engineers had been writing software code for computer systems and charging licences for it – this had to stop. This was to impact on the world ’ s first open source software, Unix.
In the early days of software design, software engineers saw themselves as craftspeople, working on a project from start to finish – much like an artist. However, the Fordist production line employment techniques that came to prominence in the late 1950s saw software engineers lose their autonomous role. Essentially they were pigeonholed into writing rules for small segments of bigger projects, dictated to them by client needs. Software development was slow throughout this period as a result. Previously it was fast when given free reign.
In the summer of 1969 Ken Thompson ’ s wife took their new baby to California for a month to visit the grandparents, leaving him 4 quiet weeks to work on a PDP-7 computer. He spent one week writing an operating system kernal, a shell, an editor, and an assembler. By the end of the month he had something he called UNICS (uniplexed information and computing services), later renamed as Unix.
What was significant about this software was that it was modular – like a toolbox – small and simple tools could be combined to create complex functions. Unix went on to become a big success in computer science circles globally, mainly because it was easy to use, simple and open, and was easily adaptable to many different hardware setups. By open, I mean it ’ s source code was there for anyone looking to develop it into something else . It didn ’ t matter if you had an IBM system or a DEC system, Unix could be modified to work on it.
Now, because of that earlier 1956 decree on AT&T etc, all of the development of Unix by its employees meant that AT&T couldn ’ t sell the software for much in case it got in trouble again. So, it issued relatively cheap license and no support – meaning a support community of interested engineers grew up around it
The HCC just happened to have two members by the name of Steve Jobs and Steve Wozniak (Apple ’ s key founders). The HCC also produced regular newsletters that promoted the idea of personal computers, even encouraging people to build their own. It ’ s worth noting that Mac ’ s OS X is derived from Unix and is the most widely-sold Unix OS http://www.apple.com/macosx/technology/unix.html . One of the world ’ s leading operating systems has it ’ origins in a close-knit collaborative community formed around sharing and improving software. However, it isn ’ t free.
In 1975, a young Bill Gates wrote a letter to the HCC expressing his frustration with the fact that they would take his BASIC OS and copy it freely. Several magazines published the letter. It was simple, direct and accusatory. Gates made the familiar argument about intellectual propriety rights being crucial to innovation. Thieving his software would stifle innovation, in his view. The bad feeling from this period wouldn ’ t dissipate over the following 30 years… The point here, is that Bill Gates saw the potential of software as a financial opportunity and was strongly opposed to anything which would undermine his position: namely, experimentation with code given away for free and alternate ways of working. He preferred a closed propriety code (hidden from view) that could be licensed and sold rather than an open or free code
In fact, the growth and allure of the Windows empire acted as a kind of brain drain in the 1980s. All the smart people went on to work for Microsoft, rather than work for free on Unix. Business dominated the decade. Even AT&T began to realise Unix was a commercial prospect and began to restrict how it licensed the software. Whereas in the past, source code was frequently given away freely, everything changed in the 1980s
Steven Levy ’ s book Hackers , offers an excellent overview of the impact of commercial software in the late 1970s and 1980s. Many of the best University-based programmers were hired into lucrative commercial businesses. Employees were required to sign non-disclosure agreements. The openness and the transparency of the 1950-1960s was lost. Code became locked down, and for the most part, that remains the same today with notable exceptions: Linux Firefox Audacity Gimp Open Office Thunderbird VLC It ’ s at this point I want to talk a little bit about propriety software, or locked down code.
We as a culture are still feeling the consequences of the 1980s paradigm shift today. Lessig claims that code has the power to regulate our behaviour. How it functions, what it permits and allows, has determining effects. Say, for instance, a new Windows OS was to launch that only enabled you to open 3 programs at a time - this would limit your ability to do many things. It is the software code that determines this. In fact, the cheapest version of Windows 7, Starter Edition, was planned to do just that! (It is planned for use on less powerful netbooks – and is far from consistent in how it policies those 3 apps). SCRAPPED!
Also, consider the Word document file type. Richard Stallman (2002) argues that they are annoying due to the fact they assume they are universal. It ’ s a typical expectation to find email attachments with Word files in them, and some organisations will only accept job résumés if they are in Word. This obviously stops anyone committed to free software or the free software philosophy from applying for that post. Essentially, Word file format is a protected format – it uses a secret code to prevent non-Word owners from being unable to read the files. Some version of the .doc format have been reverse engineered and opened up, but other newer formats regularly appear (like the OOXML format – you might recognise it as the .docx from Office 2007/8). OOXML is supposedly an ‘ open standard ’ that Microsoft managed to get approved by political manipulation and packing standards committees with supporters. OOXML is not entirely OOXML, and therefore not entirely open QUOTE: (Stallman 2002): Microsoft offers a gratis patent license for OOXML on terms which do not allow free implementations. We are thus beginning to receive Word files in a format that free programs are not even allowed to read.
Unix and Linux In 1984, Stallman began the Free Software Foundation with the aim of fueling the growth of free software. A MacArthur Fellow who gave up his career to commit himself to the cause, Stallman has devoted the last twenty years of his life to free software. That work began with the GNU (GNU ’ s Not Unix) project, which sought to develop a free operating system. By 1991, the GNU project had just about everything it needed, except a kernel. That final challenge was taken up by an undergraduate at the University of Helsinki. That year, Linus Torvalds posted on the Internet the kernel of an operating system. He invited the world to extend and experiment with it. (Lessig, 2006: 147) Linux People took up the challenge, and slowly, through the early 1990s,marrying the GNU project with Torvald ’ s kernel, they built an operating system— GNU/Linux. By 1998, it had become apparent to all that GNU/Linux was going to be an important competitor to the Microsoft operating system. Microsoft may have imagined in 1995 that by 2000 there would be no other server operating system available except Windows NT, but when 2000 came around, there was GNU/Linux, presenting a serious threat to Microsoft in the server market. By 2007, Linux-based web servers running Apache gained market share at the expense of Microsoft systems.
The spirit of openness and sharing lives on in new ways to share content, eg Creative Commons licences
Overview <ul><li>Free Software and Open Source software philosophies </li></ul><ul><li>Origins of Unix </li></ul><ul><li>Code and control </li></ul><ul><li>Linux </li></ul>
Free Software philosophy <ul><li>Working towards making all software free of intellectual property restrictions </li></ul><ul><li>Ethical issue </li></ul>
Open Source philosophy <ul><li>Similar goals; different approach </li></ul><ul><li>Focus on economic and technical merits of making source code freely available </li></ul><ul><li>Practical issue </li></ul>
The Free Software Movement <ul><li>Headed by the Free Software Foundation </li></ul><ul><ul><li>http://www.fsf.org/ </li></ul></ul><ul><li>“ free as in speech, not free as in beer ” </li></ul><ul><li>Freedom to: </li></ul><ul><ul><li>run the program for any reason </li></ul></ul><ul><ul><li>study and modify the source code </li></ul></ul><ul><ul><li>redistribute the source </li></ul></ul><ul><ul><li>share any modifications you make </li></ul></ul><ul><ul><li>http://www.gnu.org/philosophy/free-sw.html </li></ul></ul>
The Free Software Movement <ul><li>GNU: </li></ul><ul><ul><li>General Public License (GPL) </li></ul></ul><ul><li>Once a program is ‘ opened ’ all spin-offs must remain open. </li></ul><ul><ul><li>http://www.gnu.org/copyleft/gpl.html </li></ul></ul><ul><li>Cause of some disagreement with Open Source advocates </li></ul>
Open Source Software Movement <ul><li>Headed by the Open Source Initiative </li></ul><ul><ul><li>http://www.opensource.org/ </li></ul></ul><ul><li>Exists solely to gain support for open source software </li></ul><ul><ul><li>i.e. ready-to-run program + the source code is available </li></ul></ul><ul><li>Various forms of licensing </li></ul>
Same difference? <ul><li>“ We disagree with the open source camp on the basic goals and values, but their views and ours lead in many cases to the same practical behavior—such as developing free software. As a result, people from the free software movement and the open source camp often work together on practical projects such as software development” </li></ul><ul><ul><li>Richard Stallman, 2007, http://www.gnu.org/philosophy/open-source-misses-the-point.html </li></ul></ul>
Origins <ul><li>‘ In the beginning was the command line ’ (Neale, 1999) </li></ul><ul><li>1952: IBM 701 </li></ul><ul><li>$15,000 per month to hire </li></ul>
Origins <ul><li>Business purchases </li></ul><ul><li>1953: IBM 705 </li></ul><ul><li>$1.6 million </li></ul>
Origins <ul><li>IBM 704 </li></ul><ul><li>80,000 lines of code to process radar images (Weber: 2004: 21) </li></ul><ul><li>All software had to been purposefully written </li></ul>
Problems <ul><li>No compilers </li></ul><ul><li>No Software Development Kits (SDK) </li></ul><ul><li>Enter PACT: Project for the Advancement of Coding Techniques </li></ul><ul><li>Created a shared set of tools </li></ul>
Problems <ul><li>Software engineers saw themselves as craftspeople, artists; oversaw complete projects </li></ul><ul><li>1950s: Fordist business manag e ment techniques transformed working practices </li></ul><ul><li>Engineers pigeonholed into specific minor roles; fragmented </li></ul><ul><li>Software development slowed </li></ul>
UNICS <ul><li>1969: Ken Thompson spent a month working on a PDP-7 and created uniplexed information and computing services </li></ul>
UNIX <ul><li>A modular system </li></ul><ul><li>S mall and simple </li></ul><ul><li>Combinations </li></ul><ul><li>Adaptable </li></ul><ul><li>Visible source code </li></ul><ul><li>Cheap licence </li></ul><ul><li>No support </li></ul><ul><li>Community grew around it </li></ul>
History <ul><li>For more info see: </li></ul><ul><li>http://www.unix.org/what_is_unix/history_timeline.html </li></ul><ul><li>http://www.computerhope.com/history/unix.htm </li></ul><ul><li>http://www.bell-labs.com/history/unix/ </li></ul>
Code <ul><li>Lessig, 2006: The power to regulate our behaviour </li></ul><ul><li>Windows 7 Starter Edition: maximum of 3 apps open at once </li></ul>
Code <ul><li>Stallman, 2002: Microsoft's OOXML ‘ open standard ’ not actually open </li></ul><ul><li>http://www.gnu.org/philosophy/no-word-attachments.html </li></ul>
Unix and Linux <ul><li>1990s: Linus Torvalds built Linux </li></ul><ul><li>Adopted the GNU GPL </li></ul><ul><li>Multiple offshoots (eg Apache, MySQL, Perl/PHP/Python, etc) </li></ul><ul><li>Open code = OS diversity: </li></ul><ul><ul><li>Ubuntu </li></ul></ul><ul><ul><li>Debian </li></ul></ul><ul><ul><li>Fedora </li></ul></ul><ul><ul><li>Red H a t </li></ul></ul>
The UK success of Google Android <ul><li>Wk15 of 2010: Android handsets = 12.3% of long-term phone contracts </li></ul><ul><li>37.6% of total mobile market </li></ul><ul><li>63.9% of contract market </li></ul>
Summary <ul><li>A closed/propriety world is not guaranteed (cf Zittrain, 2008) </li></ul><ul><li>There are many people developing software with the philosophy that technology can be a fantastically enabling tool for improving society. </li></ul><ul><li>If technology can be improved, then it should. </li></ul><ul><li>There shouldn ’ t be restrictive barriers to improving technology or limitations on knowledge sharing </li></ul>
Questions <ul><li>What are the benefits of open source software to: </li></ul><ul><ul><li>Schools </li></ul></ul><ul><ul><li>Enterprises </li></ul></ul><ul><ul><li>Government </li></ul></ul><ul><li>Can you see any disadvantages? </li></ul><ul><li>How important is an open source platform to big media companies entering new markets (eg Google Android)? </li></ul><ul><li>Bill Gates famously compared Open Source software and patents to communism. Why? </li></ul>
Selected sources <ul><ul><li>Garret Birkel, 2004, ‘The Command Line in 2004’, http://garote.bdmonkeys.net/commandline/index.html </li></ul></ul><ul><ul><li>Robin Bloor, 2009, ‘10 Tactics Microsfot Uses To Crush The Linux PC’, http://havemacwillblog.com/2009/02/28/10-ways-that-microsoft-blocks-desktop-linux/ </li></ul></ul><ul><ul><li>Free Software Foundation, 2007, ‘ The Free Software Definition’, http://www.gnu.org/philosophy/free-sw.html </li></ul></ul><ul><ul><li>GNU, 2007, ‘GNU General Public License’, http://www.gnu.org/copyleft/gpl.html </li></ul></ul><ul><ul><li>Lawrence Lessig, 2006, Code version 2.0 , New York: Basic Books. </li></ul></ul><ul><ul><li>Richard Stallman, 2007, ‘We Can Put an End to Word Attachments’, http://www.gnu.org/philosophy/no-word-attachments.html </li></ul></ul><ul><ul><li>Richard Stallman, 2007, ‘Why “Free Software” is better than “Open Source”’, http://www.gnu.org/philosophy/open-source-misses-the-point.html </li></ul></ul><ul><ul><li>Neal Stephenson, 1999, ‘In the Beginning was the Command Line’, http://www.cryptonomicon.com/beginning.html </li></ul></ul><ul><ul><li>Steven Weber, 2004, The Success of Open Source , Harvard, Harvard University Press. </li></ul></ul><ul><ul><li>Jonathan Zittrain, 2008, The Future of the Internet – And How To Stop It , London: Yale University Press </li></ul></ul>