Víctor López Ferrando

Mathematics, programming, politics and science dissemination.

Free software

3 June 2016
This article can also be read in Catalan

Free software is computer software that allows users to study how it is made, modify it and redistribute it freely.

At first sight it may seem that it is a purely technical matter, only of interest to programmers; in the end, who is going to study or modify a program? On the contrary, every user is more free and benefits by the freedoms that free software guarantees.

What is a program?

Before talking about free software, it is important to clear up what we are referring to when whe talk about a program. A program is the set of instructions that are given to a computer so it can perform some task. The operating system in a computer, a web browser, mobile applications in a smartphone, the control systems of a car, the configuration menus in a television... all these are examples of programs that use some kind of computer to run and do their function.

First, a program consists of a source code that has been written by the developers and that any expert can understand. This source code is converted into an executable that has the instructions the computer can interpret to carry out the program function.

Source code and executable Part of the source code and executable of Firefox web browser.

While all programs have a source code that people can understand, executables of these same programs cannot be understood by people, and so it is impossible to know how they are made, and even more to enhance them or modify them as we please.

Proprietary software and free software

Programs of which we only have the executable (no matter if we have to pay for them like Windows or if we don't like Skype), are what we know as proprietary software.

Examples of proprietary software: Windows, Internet Explorer and Skype Examples of proprietary software: the operating system Windows, Internet Explorer and Skype.

On the contrary, in free software, often also identified with open source software, the source code of the programs is public, and it gives freedom to the user to study it, modify it and redistribute it.

Examples of free software: Firefox, VLC, Ubuntu, Linux Examples of free software: Firefox web browser, VLC media player, Ubuntu operating system and Linux kernel

The freedom to study the code

The possibility of reading and studying the source code of programs that we use makes us more confident about its functioning. Surprises such as the sending of our data to Microsoft by Windows 10 are prevented by a public supervision of programs' development.

This supervision also implies an enhancement in security. Programs always have bugs (or mistakes) that other can take advantage of to make virus and other evil. Thanks to having the source code open, it is much easier to discover the root of detected security holes, and it is very common that solutions to these problems are contributed by the same security researchers that found them in the first place. In general, this has entailed better security in free software and, for example, the UK government security group chose Ubuntu as the most secure operating system.

The freedom to modify the code

Allowing —and encouraging— the modification of programs, favors its features to derive to where users want.

A prime example is the translation of programs to several languages ​​like Catalan. The Catalan-speaking community is an extremely motivated one, and this has been noted in its presence in free software. Firefox, Gimp, OpenOffice... are all examples of programs that have been available in Catalan very early thanks to the collaboration of users.

The freedom to redistribute the program

Free software being free (in the sense that you don't have to pay to use it), does not mean that its developers only do it altruistically; they often do it as workers of a company. It was the case of OpenOffice, an office suite that supposed an alternative to Microsoft Office, and was developed at the company Sun Microsystems.

In 2010, Oracle Corporation bought Sun Microsystems and the rumor was spread that Oracle was not interested in continuing the development of OpenOffice, as it finally turned out. Thanks to the fact that OpenOffice had a free license, and therefore could be redistributed, many of OpenOffice programmers could fork the project and continue it with the name LibreOffice, which remains the most popular free office suite.

This ability to redistribute the program promotes diversity and an example of this is the amount of Linux distributions (variants of operating systems based on Linux). Ubuntu is the most popular one, and it is in fact based on Debian. Similarly, Lliurex and Linkat, Linux distributions of the education communities of the Valencian Country and Catalonia are based on Ubuntu and OpenSUSE.

Linux distributions Some Linux distributions, a sample of the diversity in free software.

Freedom of the user beyond free software

Free software is the best choice regarding "programs that we install on our computer". The last decade, however, programs installed in a computer are no longer at the center of digital life. On the one hand, new devices such as smartphones, tablets, smart televisions, etc. have become popular, and they carry strict restrictions about what users can do with them. Moreover, the improvement of Internet connections has moved the computing that used to take place in our computers to the cloud, so the attention that previously was centered in software shifts increasingly to data.

I will discuss these issues in more detail in a subsequent article. Also, soon I will publish a guide to installing Ubuntu, a free GNU/Linux operating system, that for me is a great starting point towards a generalized use of free software.