An introduction to Open Source, Free Software, and Linux
skip intro, go to the reading list
You have probably seen or heard the terms Free Software, or Open Source Software, often jointly referred to as FLOSS (Free/Libre Open Source Software). Free Software and Open Source Software is software has as main characteristics that the user is free to use the software any way he sees fit, and is free to modify the software and redistribute it. This in contrast to software that is licensed to the user under restrictive terms such as "you can only run this software on 1 computer at the time", "you may not copy this software", etc. It follows from the right to modify the software that the source code (the program as it is written in a programming language) is made available to the user, or to the general public. Hence the alternative term "Open Source".
The "free" in Free Software refers to the freedom of the user, it doesn't mean the software is available free of charge, although most free/open source software is. However, this distinguishes free software from so-called "Freeware", software available free of charge, usually by download from internet servers, but without source code, and often with restrictions to its use, such as "free for personal use only" a.o.
The act of creating software and giving it a way to use as you see fit, even to modify and redistribute it, is not an act of charity. The fact that you usually can acquire these programs free of charge doesn't mean it's software of inferior quality. Most of the internet infrastructure is build on Free / Open Source Software, and in recent years, Floss has found its way to personal computers as well : the Firefox web browser and Linux desktop systems such as Ubuntu are but two illustrious examples.
The following papers provide insight in the dynamics of Free Software / Open Source Software development, without paying too much attention to technicalities and historic developments. While until recently, users Free / Open Source software were mainly the more technically inclined users, or indeed the people that created and shaped the Free / Open Source communities, FLOSS is now becoming mainstream, being picked up by businesses and a new generation of home users alike. So we look at the here and now, and the road ahead, with a list of papers and essays that provide some context and offer insight in the economical and sociological aspects of this phenomenon.
This "recommended reading" list is mainly a list of (links to) writings, mainly by Eric S. Raymond ("Open Source"), Richard M. Stallman (Free Software), Linus Torvalds( Linux), and Mark Shuttleworth (Ubuntu).
Why these people ? Because they're the examples and figure heads of 3 tendencies in the Free software world.
- Eric S. Raymond (esr)
- is a very vocal ans somewhat controversial advocate of the Open Source movement, and was probably the first to look at free software development from an anthropological or sociological point of view. He introduced the term Open Source as an alternative to Free Software, for tactical reasons.
Open source is a development method for software that harnesses the power of distributed peer review and transparency of process. The promise of open source is better quality, higher reliability, more flexibility, lower cost, and an end to predatory vendor lock-in."
[ The Open Source Initiative
- Richard M. Stallman (rms)
- Apart from being a gifted programmer, Richard M. Stallman is the founder and main ideologist of the free software movement. Characterized as a dogmatic, raving madman by some, and as a highly intelligent idealist by others, his writings show almost visionary understanding of the forces that surround software development and its place in society, with sharp analysis for its consequences in the fields of software licenses, software patents, DRM (Digital Rights Management | Digital Restrictions Management) and any other legal or technological obstacle on the path of Free Software.
To use free software is to make a political and ethical choice asserting the right to learn, and share what we learn with other
[The Free Software Foundation
- Linus Torvalds
- Creator and lead developer of Linux. Most of the Free Software / Opensource development centers around free implementations of the Unix operating system. Linux is, to date, the most successful free Unix.
In contrast to Richard M. Stallman and Eric S. Raymond, Linux Torvalds is more of a pragmatic, he influences the open source movement more through actions than through talk. He doesn't seem to write much - or at least not much else but source code and some emails and interviews. He's clearly a supporter of free software, but for practical reasons mainly - thus in effect leaning more towards the "open source" approach.
When it comes to software, I _much_ prefer free software, because I have very seldom seen a program that has worked well enough for my needs, and having sources available can be a life-saver. So in that sense I am an avid promoter of free software, and GPL'd stuff in particular (because once it's GPL'd I _know_ it's going to stay free).
Making Linux GPL'd was definitely the best thing I ever did.
- Mark Shuttleworth
- Mark Shuttleworth is the head of Canonical, the initiator and corporate sponsor of Ubuntu, a popular Linux distribution. He represents the "new school" : Ubuntu combines OAS/Free Software ideology and pr axis with explicit marketing savvy, and explicitly aims at bringing Linux to the desktop. Formerly, "desktop Linux" was going "if you build it, they will come", but that didn't happen. Ubuntu is an orchestrated campaign to make that happen, and this seems to be working . Mark Shuttleworth is acting on the clout that Ubuntu provides to undertake actions to shape the FREE SOFTWARE/OAS/Linux world for tomorrow
While Ubuntu refers directly and explicitly to Free Software, it takes a pragmatic stand towards including non-free software and binary-only tools in the distribution. Delivering an operating system that appeals to the masses is clearly a higher priority than dogmatically adhering to free software principles.
Our work is driven by a philosophy on software freedom that aims to spread and bring the benefits of software to all parts of the world. At the core of the Ubuntu Philosophy are these core philosophical ideals: 1. Every computer user should have the freedom to download, run, copy, distribute, study, share, change and improve their software for any purpose, without paying licensing fees. [ ... ]
- The GNU Project - Richard M. Stallman
- Overview of the history of "free software" and the goals and values of the GNU Project and the Free Software movement
- The Cathedral and the Bazaar - Eric S. Raymond
- case study and analysis of how the "open source" development model works, and its strenghts and weaknesses.
- Homesteading the Noosphere - Eric S. Raymond
- Explores the dynamics of the open source community : customs that regulate the ownership and control of open-source software, developer motivation, sharing of code in a `gift culture'?
- The Magic Cauldron" - Eric S. Raymond
- This paper analyzes the economics of open-source software. It includes some explosion of common myths about software production economics, a game-theoretical account of why open-source cooperation is stable, and a taxonomy of (some) open-source business models.
- Why Open Source Works
- Interview with Linus Torvalds
- Free Software - Free Software Foundation
- The Free Software Foundation's definition of Free Software : the users' freedom to run, copy, distribute, study, change and improve the software. Also touches on how software licenses such as the GNU General Public License are designed to preserve that freedom.
- Why Software should be Free - Richard M. Stallman
- Essay on why software should be distributable without restrictions. Stallman proposes a cost-benefit analysis on behalf of society as a whole, taking account of individual freedom as well as production of material goods, to come to the conclusion that it's better for society as a whole if programmers allow and encourage others to share, redistribute, study, and improve the software they write; in other words, that programmers have a moral duty to write 'free' software.
- Copy-Left : Pragmatic Idealism - Richard M. Stallman
- Explains how a rather innovative use of a programmer's copyright over the source code he writes is used to license the software in a way that preserve and protects the freedoms of the users and other programmes. The principle of copy-left gave birth to the "General Public License" (GPL), on of the most popular Free Software Licenses. The article show some real-life cases of how the GPL works to this end.
- Why "Open Source" misses the point of Free Software - Richard M. Stallman
- Although "Open Source" was originally just an alternative term for Free Software [ "We need a new label" - esr in Goodbye 'Free Software", Hello "Open Source' ], meant to better appeal to the businesses world, Richard M. Stallman disapproves of its use because it obfuscates the philosophy of the Free Software Movement.
- Keeping it Free - Mark Shuttleworth
- Taking Freedom Further - Mark Shuttleworth
- Patents seek to establish who is the actual inventor of a given invention. The inventor can then allow others to use or (commercially) reproduce the invention by licensing the use of the invention. This was originally meant to encourage inventors to publish their invention while still being able to recoup the costs of research and development, or make a profit of it. Some firms consider software (programs, features of programs, software components, ...) inventions, and patent them.
- Copyright is the right of an author to be recognised as the author of an original work, and the right to reproduce, perform, display, and create derivatives of said work. The author is the copyright holder from the time of creation in a definitive form, but can transfer some or all of these rights to a third party. As software in its original form is a written text ("source code"), the author (programmer) can claim copyright. If the work is created for hire, e.g. in the case of a work created by an employee within the scope of his employment, the employer holds the copyright.
- Software licenses
- Software licenses dictate who is allowed to use what software, in which circumstances, for what purpose, and so on. A typical "freeware" license for instance, may allow you to use the software for free for personal or non-commercial use only. Other licenses will limit the use of the software to a named, registered user, on 1 and only 1 computer, and/or forbid copying or redistribution of the software. A typical free software license will allow you to use the software pretty much how you see fit.
Some licenses are based in patents, other in copyright, but in essence, a software license is the terms and conditions you are asked to agree to when the software is transferred to you or when you decide to start using it.
- "Digital Rights Management"
- "Digital Rights", as in DRM or is a generic term that refers to access control technologies used by hardware manufacturers, publishers, copyright holders and software vendors, to limit usage of digital media or devices. It can also refer to technology to impose restrictions on the use of specific instances of digital works (or devices). DRM overlaps with software copy protection to some extent, however the term "DRM" is usually applied to creative media (music, films, etc.) whereas the term "copy protection" tends to refer to copy protection mechanisms in computer software. (wikipedia)
One of the technologies to implement Digital Rights Management is so-called "Trusted Computing.
With Trusted Computing the computer will consistently behave in specific ways, and those behaviors will be enforced by hardware and software. Enforcing this Trusted behavior is achieved by loading the hardware with a unique ID and unique master key and denying even the owner of a computer knowledge and control of their own master key. Trusted Computing is extremely controversial as the hardware is not merely secured for the owner; enforcing Trusted behavior means it is secured against the owner as well.
All of the above, although clearly different from each other and governed by distinctively different laws and regulations, is sometimes thrown in the same bag and labeled "Intellectual Property".
Free / Open source software has a lot to do with the licensing of software, copyrights, and sometimes the use or reproduction of patented features in programs. "Digital Rights Management" affects (i.e. limits) the use of software, so obviously a movement concerned about the free use of software will have an opinion on it.
- The Danger of Software Patents - Richard M. Stallman
- transcript of a speech by Richard M. Stallman
- The Right To Read - Richard M. Stallman
- illustrates the inherent dangers of current laws an practices regarding copyrights and restrictions on use of digital content and related technology(DRM)
- Misinterpreting Copyright - Richard M. Stallman
- Copyright laws were originally intended for the benefit of society, and readers/users of copyrighted works in particular, but are now being perverted as a means of control.
- Copyright is a hot issue for the Free Software movement, not only because the licensing of Free Software is based in copyright law, but because the Free Software movement's goal is a more freedom, less control, in software as in society.
- Microsoft is not the real threat - Mark Shuttleworth
- Bog post about software patents. "[...] So it’s not the patent-holders who are the problem, it’s the patent system." This puts Mark Shuttleworth on roughly the same line as Richard M. Stallman.
- note to content owners : DRM doesn't work - Mark Shuttleworth
- "Those who try to impose analog rules on digital content will find themselves on the wrong side of the tidal wave."
- Linus Torvalds, Geek of The Week - Richard Morris, simple-talk.com, July 17, 2008
Interview with Linus Torvalds, where he talks about Free software or Open Source, software licenses, and software patents.
From an open-source perspective, patents are a hindrance that put certain (patent-encumbered) projects off-limits to open-source developers. It's a practical problem, not a philosophical one. In stead, open source focuses on Open Standards and Open Specifications.
- Halloween Documents
- As an Open-Source spokesman, Eric S. Raymond approaches the problem as a factor that may endanger the adoption of Open-source software, and as a danger for Open Source as a development model : the distributed development, characteristic of the open-source development model, depends on open standards for cooperation between developers and to achieve interoperability and compatibility between open-source projects. The Halloween Documents investigates how Microsoft poses a threat to Linux / Open Source. One of these threats is the "Embrace and Extend" strategy, a strategy used by Microsoft against open standards, document formats, etc.
Open standards and open document formats are also relevant to users who don't want to face vendor-lock-in by depending on a proprietary format to have access to their data. Open standards also ensure that data will be or can be made available in the future. Open source programs take this one step further : any program that you might need to access your data can be freely reproduced, even long after the original author has abandoned it.
A recurring theme in the Open Source / Free Software / Linux community is Microsoft's hegemony in the software market. This is considered a Bad Thing by many, but for various reasons, and these reasons reflect different values in the FLOSS community
- The GNU Operating system - GNU / Free Software Foundation / Richard M. Stallman
- The Free Software movement promotes Free Software, and thus opposes proprietary software. The Free Software movement initially started as the GNU Project, a reaction (initiated by Richard M. Stallman) against and an alternative for proprietary Unix systems. They focus on freedom, and act out against any threat to these freedoms. On a different plane, they see Free Software as a way to work towards change in society.
- World Domination - Eric S. Raymond, guest editorial in Linux Journal
- Explains why Linus Torvalds, and others in the Linux community, speak of World Domination, and what it means
- ** In an interview with Belinda Frazier for the Linux Journal (1995), when asked about his hopes for Linux, Linux Torvalds replies : "World Domination, fast. But we'll see".
- World Domination 201 - Eric S. Raymond, Rob Landley
- Analysis of how predominant market share for desktop operating systems follows predictable shifts in PC hardware platforms. Explains why 2008 is a deadline for popular Linux acceptance on the desktop, and examines the strategy and tactics necessary to achieve that ...
- Centers around Linux market share as a goal in itself, as a long-awaited victory for Unix as a technologically better alternative to Microsoft's Windows operating systems, and a means to oppose software patents, hardware DRM, and vendor-lock-in by proprietary systems.
- Bug #1 : Microsoft has majority market share - Mark Shuttleworth, in Launchpad, Ubuntu's bug tracker
Microsoft has a majority market share in the new desktop PC marketplace.
This is a bug, which Ubuntu is designed to fix.
Non-free software is holding back innovation in the IT industry, restricting access to IT to a small part of the world's population and limiting the ability of software developers to reach their full potential, globally. This bug is widely evident in the PC industry.
Note how Mark Shuttleworth effortlessly combines Free Software values with the Open Source emphasis on technical superiority. This appears to be a recurring theme. He also consistently uses the term "Free Software", while Ubuntu displays a very pragmatic approach towards "non-free" software : non-free media codecs, restricted drivers, binary blobs, ... Where others tend to emphasise the difference between Free Software and Open Source, Mark Shuttleworth (through Ubuntu) seems to be building bridges.
Ubuntu also seems to exhibit the behavior and to offer the right kind of user experience to puss for desktop adoption as described in World Domination 201.
And Ubuntu (or Canonical, Ubuntu's corporate sponsor, owned by Mark Shuttleworth) seems to be using its clout as the most popular Linux distribution today, to push for changes in the open source community :
- Ubuntu’s role in bug management for the whole free software stack - Mark Shuttleworth
- Free Software Synchronicity - Mark Shuttleworth
- a plea for synchronized release cycles in open source / free software projects and Linux distributions
The shift in emphasis from Free software to Open source, with strong emphasis on Open Source as a development model, the quality of the resulting software, and the practical benefits of access to source code for debugging and security audits, has gained mainstream acceptance for Open Source software, but (as Richard M. Stallman predicted), has a few problems of its own.
For one, there's nothing to stop a giant enterprise such as Google or Microsoft to hire, say hundreds or thousands of developers, and give them the freedom to work on whatever project they like (goes to the Open Source concepts of "scratching an itch" and developer motivation), and look at each other's code (peer review), to create strictly proprietary products. They'd thus be applying open source methods supposedly resulting in quality software", but without the associated freedom for the users, or for developers outside the company.
While the previous example is flawed (the open source community is far larger than the number of programmers any one company can hire, and scale matters), Microsoft, notorious for its restrictive licenses, for threatening to using patent claims against open source projects, and for generally invoking Fear, Uncertainty and Doubt (FUD) against open source projects, now appears to be embracing open source - the Microsoft way.
- Compatibility with Unix
- Although this is not strictly about open source or free software, but about compatibility with Unix (and thus likely meant to compete with Linux, currently the most successful Unix), it's worth mentioning here because the "Services for Unix" that Microsoft is selling, are actually free software, parts of the GNU project, licensed under the General Public License. This in stark contrast with Microsoft's repeated allegation that it is impossible to make money from open source / free software.
[Microsoft sells Free Software]
- Microsoft Open Source
- Microsoft's Open Source is a mix & match of initiatives that all in some way or another have at least a vague relation to or resemblance of (real) open source. There's a couple of licenses that allow viewing source code (but are not really free software licenses or open source licenses), there are some efforts to easy the use and integration of typical open source programming languages on a Windows platform, there's an attempt to create a 'community" of developers, there's talk of inter-operability, ...
- It all sounds like (superficial benefits and aspects of) open source, but doesn't really comes close to the original.
- Shared Code
- Microsoft has developed a number of licenses that attempt to give the user (at least some) of the benefits of open source licenses, in effect the benefits that are usually touted by open source advocates when trying to "sell" open source to a corporate public. It's obviously part of a strategy to counter the success of Open Source by offering something vaguely ressemblant.
- A "shared code" license will allow the user to view the source code, but with some serious restrictions that are not present in "real" open source or free software licenses :
- You have to accept a non-disclosure agreement. You can see the code, but you can't tell anyone what you saw.
- You are not allowed to modify the code
- Source code may not be used to assist with the development of a commercially distributed product.
- You may use the source code for the sole purpose of assisting in the support and development of internally deployed products for the Microsoft Windows platform, ongoing support of Microsoft Windows deployments, and internal security audits of the Microsoft Windows operating system http://www.Microsoft.com/resources/sharedsource/eslp.mspx
- The license term is limited to 1 year
It's obvious that this can not compare to free software. Moreover, although most free / open source software can be acquired free of cost, the software is used in commercial environments and the distribution is often handled through commercial channels. Most free software developers fear that the non-disclosure agreement and the clause that the "[Shared] Source code may not be used to assist with the development of a commercially distributed product." would be (mis-)used to jeopardize them, their work, or the projects they contribute to.
- Why Open Source Software / Free Software ? Look at the Numbers! - David A. Wheeler
- This paper provides quantitative data that, in many cases, using open source software / free software (abbreviated as FLOSS, or FOSS) is a reasonable or even superior approach to using their proprietary competition according to various measures. This paper’s goal is to show that you should consider using Open Source/Free Software when acquiring software. This paper examines market share, reliability, performance, scalability, security, and total cost of ownership.
- Economic impact of FLOSS on innovation and competitiveness of the EU ICT sector (PDF)
- 50 Open Source Success Stories in Business, Education and Government
- Showcase : Linux embedded on all sorts of (commercial) devices
Since most FLOSS Operating systems (Linux, the free BSD's) and lots of the programs and tools (GNU) are modeled after Unix and surpass it in many aspects, it's interesting (even for non-programmers) to have some insight in what makes Unix Unix.
- The Art of Unix Programming - Eric S. Raymond
- Analysis of the strenght an weaknesses of Unix-like operating systems and the programming paradigms and design choices that govern software development on a Unix platform. Based on the premise that what worked for "old" unix, should work equally well for modern (open-source) Unixes such as Linux.
- The Art of Unix Usability - Eric S. Raymond
- Follow up to The Art of Unix Programming, The Art of Unix Usability explains why graphical user interfaces traditionally are one of the weak points in Unix-like operating systems, and the steps required to fix that, the Unix way.