History
Free and Open Source (FOSS) at its simplest is a collection of licenses which are applied to copyrightable software works to ensure that recipients of that software have rights to access, make changes to, and share the source code. Often this means that disparate groups of people work together to actually create and maintain a piece of software, and that is often what is meant by "FOSS culture", but that is not necessarily the case. Some people object to the term "FOSS" because it is a combination of the two main philosophies underpinning the movement, the purer "Free" (as in freedom) approach and that of "Open Source", the pragmatic cousin.
Importantly, FOSS is separate from putting a work in the public domain, as the software works remain copyrighted with conditions typically attached to the license, though using FOSS is free as in cost-free. FOSS is commercialised by charging for distribution methods, manuals, support, and other ancillary goods and services, if at all.
The important distinction between "Free" Software and "Open Source" might seem like pedantry at first glance, but in practice different forms of licenses have emerged from these schools. That should become clear in the following mostly chronological potted history describing the emergence of these schools of thought and their manifestations which have shaped what we understand to be FOSS today.
Richard and GNU
The dawn of free software
The history of FOSS, the free software approach, was innovated by Richard M Stallman. Mr Stallman was a programmer at MIT in the late 70s and 80s who was (and remains) unhappy with the growing trend of software being obfuscated and kept secret, which he saw as a threat to open research and his ability to fix and augment software (as the story goes in particular on a new printer) that he used and relied on every day.
Frustrated by this inability to share and collaborate on software projects, he embarked on the mammoth task of developing his own Operating System which people would be free to spy the inner workings on, help develop and improve it, and share it freely. Thus, the free software movement came to be.
GNU operating system
A computer operating system is the collection of software which allows computer hardware (the physical kit) to compile and execute programs, provide networking functionality, and all the other basic things we expect a computer to do so that we can make electronic hardware do useful things via software programs.
This is exactly what Stallman set out to build and distribute for free, and the Operating System is still actively developed and widely used. An important part of an operating system is its 'kernel', and while the GNU developers have been working on their own kernel since 1990, it was the project that came to be known as Linux (which we will cover in the next section) which became the most popular way to use the other parts of the GNU operating system to provide a functional system like Windows or MacOS. This is why sometimes Linux is referred to as GNU/Linux, to reflect the fact that many of its core functions are provided by the GNU project.
The Four Freedoms
The four freedoms are the philosophical foundations of free software. They are as follows:
- 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 others (freedom 2).
- The freedom to distribute copies of your modified versions to others (freedom 3).
The General Public License & "Copyleft"
Stallman soon realised that giving away his software for free had a problem - other people could take the work, make changes to it, then refuse to share those changes in return.
In 1989, the GNU General Public License was released. The innovative part of this was its demand that, if anybody made changes to the work and shared the program, they were compelled to share the source code of the modified software and not block access to the code or obfuscate it in binary form that only a computer can understand. This requirement, known as copyleft, ensures that GPL licensed software cannot be 'conveyed' to others without guaranteeing the four freedoms.
Conveying, also known as distributing, basically means sharing the software. Later down the line, the AGPL was released which covers the 'loophole' enabled by the internet, as providing a service powered by modified GPL-licensed code from a remote server is not considered conveyance as the code is never actually sent anywhere. The AGPL therefore expressly captures this kind of software as a service (SAAS). For more on the particulars of different FOSS licenses, see the licenses section of this site.
Linus and Linux
In 1991, Linus Torvalds has seen the benefits of a freely available operating system, and began developing his own 'kernel', as essential part of any operating system, to be used in conjunction with the existing tools and operating system software developed under the GNU project. The project caught on in a big way, and now constitutes between 1 and 3 percent of all desktop computers, and today the overwhelming majority of supercomputers and servers run it.
Although it started as a hobbyist project, Linux can now absolutely be relied on in a personal and professional computing environment. In my view it is not only the cheapest and most personalisable, but also the best solution on offer today.
Initially, Linux was not allowed to be used commercially, but after working together with the GNU project to make the two systems fully interoperable the source code for Linux was licensed under the GPL and has since been developed out in the open by a wide community of contributors, from individual hackers to multinational coprporations. The GPL makes no restrictions on commercial use, provided the conditions of the license are followed.
Eric and the Bazaar
In 1997, Eric Raymond gave a presentation based on his essay titled "The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary". The essay is available to read online.
This essay was not a technological innovation, but gave a different, not necessarily excusive view on the reason software developed openly was a superiour approach. Rather than relying purely on the moral motivations for using and developing software in this manner, Raymond argued that a marketplace of ideas populated by a large number of gifted and interested participants was a superior way of working than creating secretive code in closed groups. This is summed up in the motto: "many eyes make any bug shallow".
While there are arguments and exceptions held by many to the veracity of these claims, the cultural impact of this insight was and is undeniable, and the essay is considered pivotal in the increased commercial involvement in FOSS software. Relying on this more commercial and pragmatic justifications has come to be known as "Open Source" rather that "Free" software. This has a practical manifestation in the way software projects are licensed, with "Open Source" software licenses, such as the Apache license, dropping the copyleft conditions that are the hallmark of Free software. In a nutshell, "Open Source" is concerned with ensuring best software development practices, while "Free Software" is driven by the ethical use and promotion of software freedoms.