Source Code is what programmers type into their computers to create software. Sometimes source code is compiled into different forms before it is run on a computer. When software is compiled into a form that is difficult for humans to read and edit it is known as a binary.
Copyright is a set of rights you get as soon as you express a creative work. Copyright gives you some legal ability to prevent others from copying or redistributing your work without your permission. Source code is a form of creative work that is covered under copyright.
In Canada copyright currently lasts for life + 50 years (but this will likely be extended).
Copyright is a legal two. Two other legal tools are trademarks (which protect an organization’s brand identity and must be actively defended) and patents (which give the patent holder monopoly over a novel idea).
a licence is a contract that lists the conditions under which users may or may not use a particular service or piece of software.
A derivative work is a creative work that is modified to produce another creative work.
The Four Freedoms and Free Software
The “Four Freedoms” are a concept articulated by the Free Software Foundation to describe the basic rights and privileges they feel software users should have:
- Freedom 0: The freedom to run the program for any purpose.
- Freedom 1: The freedom to study how the program works, and to change it so that it works how you wish.
- Freedom 2: The freedom to redistribute copies of the program.
- Freedom 3: The freedom to redistribute copies of the program that you have modified.
You can read more about the Four Freedoms on the FSF site: http://www.gnu.org/philosophy/free-sw.html .
Another good articulation of these freedoms is given by the Open Source definition produced by the Open Source Initiative: http://www.opensource.org/docs/osd
Roughly speaking, so-called “Free” software (also known as Open Source software, “Software Libre”, …) is software that is licenced so that it gives users the four freedoms.
Software that is not free is known as “proprietary” software. Software that is “almost free” is still considered proprietary.
Licences are long, complicated legal documents with many subtleties. Below are some brief sketches of the essences of some common licences used in free software. In particular, the word “combined” has some subtle meanings that we won’t get into.
There are many many licences in existence (probably too many). Here are some of the main ones that are in general use today.
GPL stands for the “General Public Licence” (not the GNU Public Licence). There are two versions in common use: version 2 (released in 1991) and version 3 (released in 2007).
The GPL is known as a “strong copyleft” licence. It gives users the right to use software, redistribute it, and modify it. It is “strong” in the sense that if you redistribute any derivative works, those works must also be under the GPL, and if you combine a GPLed work with something else, the combination must be released under the GPL.
Apache 2.0 Licence is used for a number of projects produced by the Apache Software Foundation (which is most famous for the Apache web server, but hosts many other projects as well).
The Apache 2.0 licence is a “weak copyleft” licence. It gives users the right to use, redistribute, and modify software, but does not force derivative works to be released under the Apache 2.0 licence. This means organizations may modify software and keep those modifications secret.
There are a number of other “weak copyleft” licences, but the Apache 2.0 licence is notable because software released under this licence can be combined with GPL software (with the results being redistributable under the GPL).
LGPL stands for “Lesser General Public Licence”. This is a variation of the GPL that allows LGPLed works to be combined (“linked”) to non-GPL works without the combination needing to be released under the LGPL or GPL.
AGPL stands for the “Affero General Public Licence”. This is a variation of the GPL that is stronger, in the sense that “redistribution” of modified software includes running software on a server. If a user connects to that server and uses its services, then the user has a right to the source code used on the server.
Public Domain is not really a licence, but rather a state of releasing the copyright from a work, so that users may do whatever they want with no restrictions. A work falls into the public domain when copyright expires, or when a copyright holder releases a work into the public domain.
Note that software may be “dual-licenced” if the copyright holders wish to do so. Sometimes software is licenced under both a proprietary licence and a strong copyleft like the GPL.
Advantages of Free Software
Price: Although the “free” in Free Software refers to “freedom and not price”, it is usually (but not always!) the case that free software is available for low cost or no cost. It is very cheap to develop prototypes using free software.
Accessibility: Anybody has the right (and many people have the ability) to use free software.
Producerism vs consumerism: A lot of free software is created by its users. By having access to the source of a software package the barriers to participating in making it better are lower.
Derivative works make packaging easier: this is why Ubuntu can package software so conveniently.
Forking: If enough people become unhappy with the leaders of a project, they can take the software and start their own project. This occasionally happens (e.g. X.org, Mambo vs Joomla)
Adaptability: Software can be changed to run on different hardware and for different purposes than were originally intended.
Baselines: The existence of free software alternatives puts pressure on proprietary software to maintain minimum standards of quality in their products (otherwise people can just use the free software alternative).
Disadvantages of Free Software
Here are some of the downsides to free software:
Letting go: Free software means that your enemies can have the same rights to use your software that you do. It means that software can be used in ways you don’t like.
Hardware support: Manufacturers do not want to divulge their trade secrets, so they are often reluctant to write Linux drivers and release them under free software licences.
Show me the money: When software can be had for free then how do developers get paid? If nobody gets paid then how sustainable is it?
No warranties: When you use free software then it can be hard to find somebody to sue (or get support from).
Incompatible licences: Increasingly, software and hardware producers licence their works in ways that are deliberately incompatible with free software implementations. DVD decoding and MP3 playback are two examples of this.
Technological lag: In practice a lot of free software lags behind its proprietary counterparts in terms of features and functionality.
Eyeballs: without active participation by its users, the free software movement falls apart.
Personalities: People involved with free software often have strong personalities and strong opinions. Sometimes this leads to conflict that hinders the achievement of common goals.
Inconvenience: Keeping software free can be inconvenient for end users. Ubuntu’s unwillingness to officially include multimedia codecs in its default installation is an example of this. (Often this inconvenience is unavoidable, however.)
People fight a lot about language. Here are some of the more common fights:
- GNU/Linux vs Linux
- Free Software vs Open Source Software (and FLOSS)
- The opposite of FLOSS is “proprietary”, not “commercial”.
- FLOSS is different from the public domain.
- FLOSS is different from freeware.
- FLOSS is necessarily better/less buggy than proprietary software.
- FLOSS is necessarily worse/more buggy than proprietary software.
- The purpose of FLOSS is to be the enemy of Microsoft.
- FLOSS is communist (or everybody who advocates FLOSS is communist).
Licences for Non-Software Works
In addition to software licences, there are movements to create free licences for other creative works. One of the most successful has been the Creative Commons movement: http://creativecommons.org/licenses/
There is not a single Creative Commons licence. Rather there are a suite of licences that have different properties people might want. Here are four of the most common ones:
The Share-Alike property (SA) is like “strong copyleft”: any changes must be released under the same licence.
The Attribution property (BY) states that credit must be given to the copyright holder of the world. Almost all Creative Commons licences have this property.
The NoDerivs property (ND) stands for “no derivatives”. It withholds the right of others to modify the work in question.
The NonCommercial property (NC) states that the creative work must not be used for commercial purposes (ie that others may not make money using the work).
Not all of these combinations correspond to “free” works in the sense of the four freedoms. For example, the “CC-BY-NC” licence is not free because it prohibits derivative works, but the “CC-BY-SA” licence is
Many projects (including Wikipedia) licence their content under Creative Commons licences, but you should check the properties of the licence to be sure you can use it for the purposes you wish.
David Wheeler’s article “Why Open Source Software / Free Software? Look at the Numbers” article (http://www.dwheeler.com/oss_fs_why.html) is dated, but provides good quantitative evidence for the success of FLOSS.
Some implications of Free Software licences are given in the Debian Free Software Guidelines Frequently Asked Questions list: http://people.debian.org/~bap/dfsg-faq.html
Read the Terms of Service/End User Licence Agreement for a service (e.g. Facebook, Hotmail) or a piece of software (Skype, Flash Player…) that you use. Briefly summarize your rights and obligations in plain English. Which of the four freedoms does this licence give you?
Read the text of a licence in
/usr/share/common-licenses. Briefly summarize your rights and obligations in plain English.
Compare and contrast the two licences you read.
What warranties or legal protections do the two licences you read give you?
FLOSS is readily accessible. You are allowed to use Ubuntu and most of its applications for free. What’s the catch?
Identify some work of yours that could potentially be licenced in some way. What is the work? What licence would you want to use for it? Why?
This work by KW Freeskool is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.