What is FLOSS?

Free Libre (Open Source) Software is, according to Wikipedia:

computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute the software and any adapted versions.

Since we’ve talked about the GNU project and R. M. Stallman and L. Torvalds and what they’ve done for the community, I’m going to omit all introductions and cruft about them.

Notice that the question I’m asking is about FLOSS and not FOSS; I will let the reader figure out why.

From this we deduce the 4 principles of free software, also known as the Four Freedoms:

  • Freedom 0: The freedom to run the program for any purpose
  • Freedom 1: The freedom to study how the program works, and change it to make it do what you wish.
  • Freedom 2: The freedom to redistribute and make copies so you can help others.
  • Freedom 3: The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits.

For a program to be free, it has to allow the user all of these freedoms, some of which (but never all of them) are offered in commercial or non-commercial products. The Free Software Foundation is the main charity organization that covers most free software projects.

Open source software

Free software doesn’t have to be open-sourced to the public. The main idea is that free software can (and should, should being a legal obligation, according to the GNU General Public License) be shared with whomever that has access to it and/or its source code as much as the program’s author.

Open source, on the other hand, has a more pragmatic approach. Instead of sticking to the development of purely free software, the Open Source Initiative encourages sharing and collaboration with every entity willing to help. This movement started in the beginning of this century, with programmers who felt that the GPL and the other similar licenses prevented proprietary parts (of code, documentation or other content related to the software) to coexist with their works in the free software world. The full list of requirements to be called “open source software” can be found on the Wikipedia page.

The open source activist groups and communities worldwide have made what is often called “the open source way”, a set of ideologies based on open sharing, collaboration and working towards a common goal. Here in Albania we have Open Labs, by far the most active group in FLOSS-related activities.

I feel like I must make a clarification here: although most users pay for proprietary software, freedom 0 is almost never respected nowadays (Microsoft Windows only gives you a license to use the software for the aforementioned use cases – taken from the Windows ‘98 EULA, still the same phrase in Windows 10 installers), and many businesses abuse the term “open source” by offering software, whose source code is public/easily accessible, but modifying it in any way is illegal (Microsoft again, with Visual Studio Code)

The mess that is called intellectual property

By now, you may have created your own opinion on each philosophy. Anyways, to avoid any possible misunderstanding, I’m going to explain each movement’s approach to licensing and author’s rights.

As you know, copyright licenses favor the author(s) and the preservance of authorship. The author of a copyrighted property (film, music, program, banner) is the sole owner of said property, and as such governs its use.

Copyleft licenses, such as the GPL (and its derivatives), make sure that whatever has been licensed under them will always remain free, and that any modification, addition or work based on the copyleft (not copylefted) property will also remain free in the sense of freedom, not as in “free beer”.

And the newer licensing category, copynone, makes sure that some of the author’s rights are respected, while at the same time making sure that the property will remain free (according to the 4 freedoms explained before). These licenses are called permissive licenses and allow use of the licensed content in any way, usually with the only condition being the preservance of the property’s copyright notice.

The latter category is what brings together the communities in developing free software and the businesses in growing and competing with companies that follow strict proprietary policies (smaller businesses that follow such policies are rare, because of their inefficiency).

Why bother converting to FOSS?

Note that I am talking about FOSS, without the libre part. It is much more ethical to convert to a FLOSS ecosystem, but the restrictions on proprietary software bring, together with their moral values, inconsistencies and problems with cooperating with other services. This is where pure OSS comes in. As mentioned in the previous paragraphs, open source software can, although it isn’t encouraged to, cooperate and coexist with proprietary software. Most of today’s hardware has some form of lockdown, ranging from public source code that demands the manufacturer’s signature (this is most commonly seen in the Android ecosystem) to the completely proprietary “blobs”, pieces of code that work in tandem with a piece of hardware, in order to ensure the hardware’s functionality. The same problem rises with drivers, which, for the sake of simplicity, are put into the same category.

Working with FOSS brings the end user the benefits of:

  • security through disclosure: would your homework have less problems if you were to give it to half of your friends to proofread (let’s take it for granted that nobody ever thinks of copying your artwork), than if you only gave it to the teacher in the due date?
  • auditability since everyone can prove if the software is adhering to standards and good practices (a good example of this is the WhatsApp end-to-end encryption news: nobody knows if it’s implemented, even if it is, and yet the company has advertised secure messaging).
  • quality for the same reason as above.
  • freedom in deciding about the software’s future: you can help shape that future, even by a tiny little contribution in translating it
  • customizability since the source is there and you can do whatever you want with it (freedoms 0, 1 and 3).
  • cost. Actually, lack thereof. Such software is made to serve the people, by the people, for the people. Nobody gets paid for what they do.
  • support, which can be paid-for (dedicated), a practice many businesses have chosen in order to be profitable while abiding by the FLOSS principles, or from the community, in the form of forums, organizations (Open Labs), software groups (Wiki Weekend here in Albania, on 3-4 Dec. 2016) or simply students helping each other.
  • no legal liabilities. For as long as these are community projects, nobody can be put to blame, with an exception of the user, who didn’t do enough previous research on the new software.

How to convert to FOSS?

1. Use a FOSS operating system

For a desktop OS, take your pick. There are more GNU/Linux distributions than there are words in this introduction, and I assure you that there are a great deal many words. For a beginner, I’d recommend something like Linux Mint (the grandma-approved beginner-friendly distro) or Ubuntu (both Debian-based), or even Korora (a much more user-friendly Fedora-based distro). If you want to get right in to the intricacies of Linux, go for Arch or Arch-based OSes, such as Manjaro or Antergos. In the mobile world, Android is the Linux behemoth. There are ports of Android into the desktop world, making for an almost complete ecosystem. Android has yet to free itself from the proprietary drivers and locked bootloaders, though.

2. Use FOSS software

This is quite simple. Replace your web browser with a FOSS alternative (which also happens to follow the FLOSS principles), such as Mozilla Firefox, Chromium (prebuilt packages can be found in every major distro’s repositories) or Midori (for the Safari fans). Choose an office suite: LibreOffice (what I use) or any other that comes with your distribution. Use a FOSS text editor. Most people do not show particular interest on text editors, but with some serious tweaking, one can avoid the need of a full office suite. Do not use Sublime Text or Visual Studio Code. I am not going to link to them. You are on your own.

3. Learn to troubleshoot

You’ll eventually run into problems or want to customize, but do not know how. Support is the only thing that costs in the FLOSS world, and you may want to fix those problems by yourself. It’s nobody’s obligation to help you in online forums or Q/A sites.

4. RTFM

As the acronym says, read the [expletive] manual. Everything might feel new at first, but nobody’s born a genius either, so when you’re in doubt, read, then ask. Some newcomer problems are looked upon with disdain by “veterans”, just like how you don’t go about asking strangers on the street how to put your own clothes in your own closet. Smart questions are valued just as much as smart answers, and having a decent reputation in a community is quite valuable.

5. Get involved

It’s true that you don’t have to pay a dime to use FOSS software however you wish, but what kind of good neighbor is one that keeps bugging you with all sorts of useless information but never bothers to help you, should you need something (yes, as a complete beginner, you’re practically useless, because you haven’t proven what you’re worth)? Find what you enjoy doing in this new world, and keep doing that. Many “word wielders” (what I call people with exceptional language skills) edit Wikis and documentation for their favorite programs, others translate, the hobbyists and specialists improve/expand the codebase, the better speakers spread the FLOSS word and promote it wherever they can. Yes, I’m harsh, but I want to remind everyone that this is like almost every other community, where everyone has to behave and noone owes anything to anyone.

The point I want to make

I do not expect to convert any reader to FLOSS with just one article, mainly because it may seem like non-neglectable leap from the routine, although it’s the right thing to do. FOSS is a fairly achievable goal, especially with today’s convergence and easy access to online resources, and in my opinion, the practical thing to do.