International Free Software Day: dream, create and share without restrictions
On 20 September, as every third Saturday of September since 2004, World Free Software Day will be celebrated,a global initiative that aims to raise awareness of the benefits of an open, more inclusive, transparent and collaborative digital world, promoting the use of Open Source tools.
We owe the origin of the movement (or even philosophy) that drives the development of free software to the computer scientist Richard Stallman, who founded the GNU project (GNU is not Unix) in 1983 with a clear premise: to develop an operating system similar to Unix in its design and compatibility, but completely free.
Stallman recalls that at that time a laser printer at MIT (the organisation where he worked) suffered frequent jams, so he set out to improve the firmware of the equipment so that it would warn the network when the paper jammed. However, when he requested the source code from the manufacturer to implement this solution, the company refused, citing confidentiality agreements. It was this frustration with closed source code (which prevented a simple problem from being solved) that led Stallman to reflect on the injustice of users not being able to control the devices they use.
What is Free Software?
But what does it mean for software to be free? For Richard Stallman, the freedom of users in their relationship with technology should take precedence over any other, which meant a paradigm shift in the way software had been conceived up to that point.
To this end, Stallman developed a whole body of philosophy whereby a computer program could only be considered free (not free) if it provided users with four fundamental freedoms :
- Freedom 0: use the program for any purpose, without limitation or discrimination as to the purpose of use.
- Freedom 1: study how the program works and adapt it to one's own needs. For this, access to the source code is a prerequisite.
- Freedom 2: distribute copies of the program, whether identical to the original or modified versions, to help other users benefit from the software.
- Freedom 3: Improve the program and publish those improvements, so that the whole community benefits from the modifications.
These freedoms ensure that users have control over the software and not the other way around. Most programs that embrace this philosophy, and therefore allow users to study their source code, are usually distributed under ad hoclicences (GPL, MIT, APACHE) that include them in this category and guarantee their future distribution. In contrast, proprietary (or non-free) software imposes restrictions through the use of closed licences, which deny users these possibilities of inspection and collaboration .
From the Free Software Foundation to Linux
In 1985, two years after articulating the principles that were to govern the development of free software, Stallman set up the Free Software Foundation (FSF), an organisation designed to support this movement, and introduced what came to be known as copyleft, a new system of principles that were embodied in the GNU General Public License (GPL), which guarantees that the freedoms of free software are inherited: any derivative work must retain the same free licence, preventing anyone from taking free software and making it proprietary.
Thanks to these initiatives, by the early 1990s a large part of a free GNU system already existed (compilers, editors, system tools). The only thing missing was a free kernel, which came in 1991 with Linus Torvalds' Linux. The combination of the Linux kernel with the GNU utilities produced completely free operating systems (sometimes known as GNU/Linux), and marked a milestone: it was finally possible to use a computer with 100% free software.
Since then, free software in general and Linux in particular have become an indispensable part of understanding the technological development of the last decades. Here are three facts worth bearing in mind:
- All the most powerful supercomputers on the planet (100% of the Top 500 as of 2017) use Linux distributions as their operating system. Also, in the worldwide server market Linux leads with about 63% share, far ahead of proprietary systems.
- Most smartphones run Android, a system whose kernel is the Linux kernel. In fact, Android is currently the global operating system share leader with around 44% of devices, ahead of Windows.
- Approximately 43% of all websites on the Internet are built with WordPress, an open source content management system (CMS). Along with WordPress, most web servers run on free software (such as Apache or Nginx) and use GNU/Linux operating systems.
Free Software and University
The university community plays a crucial role in the Free Software ecosystem. Universities and research centres are home to many Free Software projects that are widely used by industry .
In the case of degrees such as Data Science and Artificial Intelligenceor Full Stack SoftwareDevelopment , free software plays an indisputable role. In the field of AI, much of the recent progress has relied on open source tools and programming languages .
For example, popular languages such as Python or R, along with machine learning libraries and frameworks such as TensorFlow, PyTorch, scikit-learn or Keras, are open projects that any student can download, use and even contribute improvements.This has democratised access to this technology and today startups and small teams can compete on an equal footing with large corporations using these tools, something unthinkable decades ago.
In the case of full stack development, the ecosystem that users encounter is eminently open source. The classic LAMP stack (Linux, Apache, MySQL, PHP/Python) is completely free and has underpinned millions of websites. Technologies in high demand in the working world, such as the Apacheweb server or Nginx, database systems such as MySQL/PostgreSQL and development platforms Node.js, React, Angular, Django or Ruby on Rails, are all free or open source software tools .
This means that students learn with the same tools that are used in industry, without paying for licenses and with access to huge online support communities, and the culture of platforms such as GitHub or GitLab (based on GIT, created by Linus Torvalds as free software) encourages developers to share code and collaborate on open projects.
In short, free software fits in universities not only because of its philosophical affinity, but also because it boosts the quality of technological training. Future artificial intelligence experts or full stack developers at UDIT benefit from an ecosystem where they learn by doing, working with real code, and where they can be creators and not mere consumers of technology.