logo

Free & Non Free Software

Authors: Lloyd Hardy, Richard Stallman

Revision: 1.8 (2014/12/22)

1.0 - Free & Non-Free Software

The term 'Free Software' refers to the state of freedom provided by software, not the financial cost of its production. All software can be classified as either free or non-free – this is a boolean measurement (like 0 or 1, true or false). At the Free Software University, we study and develop Free Software. It is important that we are able to easily differentiate between free and non-free software to ensure the freedom of our courses and knowledge which we teach, that these skills can be implemented without restriction.

There are four freedoms that define free software and all must be present in order for software to be defined as 'Free'. These are explained here, as expressed by the Free Software Foundation [1].


1.1 - The 4 Freedoms of Free Software

"

  1. The freedom to run the program, for any purpose (freedom 0).
  2. The freedom to study how the program works, and change it to make it do what you wish (freedom 1). Access to the source code is a precondition for this.
  3. The freedom to redistribute copies so you can help your neighbor (freedom 2).
  4. The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

" [2]

These freedoms enable the use, study, modification, distribution and distribution of modifications of software. Without them, the use of software is restricted and the software becomes non-free. Because software is constructed from source code (which is either compiled into a binary form or parsed at run-time), access to the source code is a precondition for Freedoms 1 and 3.

We can see from this that 'Freeware' does not constitute 'Free Software'. 'Freeware' is generally distributed without source code, failing to provide Freedoms 1 and 3. The balance of comparison is between freedom and restriction, not between levels of financial cost of acquisition. Free means
freedom.


1.2 - Non-Free Software Restrictions

Non-free software does not provide all of these freedoms. This may be in the form of an operating system or application which does not allow for the user to make copies which s/he can distribute to their friends. It may be customised software which locks the user into the vendor. An off-the shelf office application or game may be non-free.

Software may not as easily identified. Non-free software may be embedded inside a chip inside an electrical appliance or vehicle, requiring that those items are only serviced by the proprietary vendor. Even if the software is buried inside a device, there is no reason why it should not be Free Software.

Non-free software restricts freedoms, whether it is user-installable or embedded.

Just because non-free software may be provided without financial cost, it does not mean that it will respect the users other freedoms. For example, Adobe Flash Player is provided at no financial cost (gratis). However it does not respect the user's freedom. It is non-free and uses it's binary format to impose DRM (Digital Rights Management) restrictions and supercookies for surveillance.

Whether non-free software comes with a financial cost or not, there is always a cost to freedom. With each piece of non-free software, the user gives more control over to a proprietary vendor.

Non-free software limits the freedoms of the user and is simply defined by the fact that it does not provide the user with the 4 freedoms of Free Software. It is not possible to make a distinction between free and non-free software without considering the 4 freedoms of Free Software.

Non-free software may not allow you to improve the software you rely on or have paid for. It may not allow you to deploy it on several systems. It may require license fees every year to use it. It could also:

  • Spy on you.
  • Intentionally refuse to do what you want to do.
  • Let someone else change the software on your machine.
  • Forbid you to use it to criticize the developer.

Non-free software can impose any amount of restrictions, limited only by the law of the jurisdiction in
which they are enforced. Non-free software takes away your freedom to use your software freely in your
professional or personal life.

As many of you will become (or become better) software developers during your time at the Free Software University, it is important that you understand the implications of non-free software based frameworks, platforms or runtime environments. You may decide that your application will be Free Software. You could be all ready to launch and excited to be contributing to the ever-expanding pool of free software. However, if you have not considered the tools and frameworks you use to create your work, you may be unable to release your own work as Free Software. Even if you are able to release it freely, it may become “free but trapped”. For example, this may occur if a script parser or runtime environment is non-free.

Throughout our study at the Free Software University, we will utilise Free Software tools and frameworks and also warn you about those which are non-free and should be avoided to protect freedom of you as the developer and the users of your software.

 

1.3 - SaaS Considerations

SaaS (Software as a Service) is a topical subject as software developers explore remote applications in an Inter-networked world. SaaS throws up new challenges to the freedoms of the user. To consider SaaS, we first need to define it – however we can easily find ambiguous definitions:

“Software that is rented rather than purchased” [3]

However, this has no indication of any technical difference to any other software, other than the means in which its financial cost is addressed. Other definitions are closer:

"Software deployed as a hosted service and accessed over the Internet." [4]

What is required is that legal and administrative control of the server and applications remain under the control of the user (or organisation). This then allows the user to avail of the 4 freedoms of 'Free Software'. To summarise:

  • Each end user should have access to their own server.
  • The server, hosted service and client should run Free Software
  • The server and client hardware and software should remain under legal and administrative control of the user (i.e. it is 'their' server).
  • The privacy of user data should be protected in the same way you expect it to be on a local computer, both legally and physically.

“If you must use a server, use a server whose operators give you a basis for trust beyond a mere commercial relationship.” [5] It is important to consider that the law in your jurisdiction (or the jurisdiction of the server) may not protect the security or privacy of your data. “India should not use SaaS and Cloud Computing for governmental purposes in the absence of strong cyber law and cyber security.” [6]

Future opportunities for distributed, encrypted remote application hosting exist which would address many of the issues surrounding the use of remote applications.

 

1.4 - Software & Beyond

Freedom doesn't end with software, of course. A user would be restricted in utilising Free Software if the manual, documentation or software blueprints were unavailable to them. It is also important that these materials are (4x)free too.

This document itself is provided under a free license (the GFDL) which allows for the reproduction, modification and distribution of it freely, without restriction . In the same way we have described Free Software, we can also have free cultural works:

  • The freedom to use and perform the work: The licensee must be allowed to make any use, private or public, of the work. For kinds of works where it is relevant, this freedom should include all derived uses ("related rights") such as performing or interpreting the work. There must be no exception regarding, for example, political or religious considerations.
  • The freedom to study the work and apply the information: The licensee must be allowed to examine the work and to use the knowledge gained from the work in any way. The license may not, for example, restrict "reverse engineering".
  • The freedom to redistribute copies: Copies may be sold, swapped or given away for free, as part of a larger work, a collection, or independently. There must be no limit on the amount of information that can be copied. There must also not be any limit on who can copy the information or on where the information can be copied.
  • The freedom to distribute derivative works: In order to give everyone the ability to improve upon a work, the license must not limit the freedom to distribute a modified version (or, for physical works, a work somehow derived from the original), regardless of the intent and purpose of such modifications. However, some restrictions may be applied to protect these essential freedoms or the attribution of authors (see below).


[7]

If we create any works which are restricted in their use, we remove the ability from others to build upon them and to use the knowledge they gain from those resources freely. In this age of technological innovation, the Free Software philosophy is a fitting one – it may even be the only viable philosophy for future software development as the rate of innovation accelerates and technology becomes available to a wider percentage of the world's population.

The Free Software philosophy allows that knowledge to spread beyond language, economic or geographic boundaries. As we continue through our studies we will explore the history, philosophy and the future of Free Software thorough research and discussion in the group. We'll learn about the methods in which we can ensure our innovations remain free (Free Software licenses).

 

References

[1] http://www.fsf.org (Accessed: 2010/06/14)
[2] http://www.gnu.org/philosophy/free-sw.html (Accessed: 2010/06/14)
[3] http://www.zdnet.com/topics/SaaS (Accessed: 2010/06/16)
[4] http://msdn.microsoft.com/en-us/library/aa479069.aspx (Accessed 2010/06/16)
[5] http://www.gnu.org/philosophy/who-does-that-server-really-serve.html (Accessed 2010/06/17)
[6] http://cjnews.co.cc/?p=516 (Accessed 2010/06/17)
[7] http://freedomdefined.org/Definition (Accessed 2010/06/07)

 

Further Reading

The Free Software Definition, FSF/GNU
Available from: http://www.gnu.org/philosophy/free-sw.html

Who Does That Server Really Server? Richard Stallman
Available from: http://www.gnu.org/philosophy/who-does-that-server-really-serve.html

Existing Movements – Definition of Free Cultural Works
Available from: http://freedomdefined.org/Existing_Movements