Quickstarting with open-source

a Linux desktop with some windows open

So you heard about this open-source thing, it sounds cool, and you want it! You are at the right place, I'm going to tell you everything about it, and show you how to try RIGHT NOW.

Be warned tough, you might be sucked into a vortex from which you might not come back. You are about to discover you can fully live, work, game, and have a lot of fun on the way (while also help fixing some of the world problems), all without spending a single cent, escaping vendor lock-in, and getting trust back into computing.

What it is exactly?

You might want to skip this, but I'll do my best to make it interesting and fun. Stay with us!

The term open-source can mean a lot of things depending on who says it, but it's most often used as a synonym to free software. Ah, don't tell me about that CRAP! I hear you thinking. Well that's where the problem lies. In English, unfortunately, the word "free" means two different things. That's why "free software people" (oh, we'll learn about them soon enough) usually say "free as in freedom, not as in free beer".

Many of us had painful experience with free (as in free beer) software that ran for a few days then asked you to pay for licenses, or installed a series of malware you never managed to get rid of. Those, although you can usually download them for free, are not free software at all, they are commercial software like any other, only using a sneaky scheme to lure you and trap you into paying. What we are talking about here is the opposite of this.

a capture of a wikipedia page stating "not to be confused with freeware"

Free software (also called Free And Open-Source Software, or FOSS), is based on the idea that people should have the right to know what software runs on their machines, what that software does with your data, and be able to verify that themselves (there is more to it, hang on).

Think of products sellers having to write the ingredients on their packaging. Imagine what you'd get if it was not mandatory... But you might think like me that it should go further, I think we should also have knowledge of the origin of ingredients, if there are any GMO in it, if it harms native forests, who is the real owner of the brand, etc. What if all this information was truly transparent, open, available.

That's what free software is about. When you install usual, non-free software, having paid for it or not, you need to trust the company who sold it to behave, and not, for example, use the private data they "may or may not" collect from you. And you know they will likely try to trap you into buying more of their products. They will keep doing things like removing features that you used and liked but are not "commercially interesting" anymore, and you have no right to do anything about it (it's written into the license terms you accepted when you installed the software). And after a while you cannot stop using them because you are stuck with their products. I don't know about you, but I grew sick of this.

screenshot of the wikipedia page about vendor lock-in

That's why some people started to develop free software. Most of them work on free software not because they are good Samaritans but primarily because they want to escape from that commercial lock-in. And that should be anybody's right.

And even better: You saw Wikipedia. The same happens with most free software: The large amount of people working on them, even when doing very small changes, the constant review of other people, the discussions about just anything, all this actually makes software very good. More than often, as good or better than commercial equivalents.

Ah, and, would you know? Most famous software companies like Microsoft, Autodesk, Google, etc... are avid users of FOSS software. You find it everywhere in their products (they are legally forced to mention it, look in their "About" dialog or on their websites).

Okay but how does that work

Basically any software is written in a programming language (for example C, Java, Python), which is made of (more or less) human-intelligible code. That code is usually (there are exceptions) not usable, or executable, directly by your computer. It needs to be compiled into machine code specific to your computer CPU (each brand/type uses a special set of instructions). Once the human-readable code (also called the source code) is compiled into an executable program, it becomes basically encrypted. there is no way anymore for a human to know what happens when it runs.

a screenshot of a desktop showing a code editor

Most commercial software companies keep their source code jealously secret. You just get the compiled version (the "exe" stuff). Employees must sign agreements to never ever disclose what they saw. Free software keep their source code public, hence the term "open source".

The main weapon of FOSS software is their license. These free software license are also sometimes called copyleft licenses, because instead of restricting your rights as a user like a copyright does, they ensure that your use rights remain preserved. Among the most commonly used are GPL and its derivatives (LGPL, AGPL), Creative Commons, BSD or MIT.

FOSS licenses guarantee you usually the following 4 things:

  • The right to use the software as you see fit, without restriction. Once you got the software, it's yours, you use it the way you want. What you do with it is no business of the provider. Seems about right, no? Well, most commercial software actually restrict what you can do with it (you cannot earn money with it, you cannot use it if you are a government, etc). Imagine having that kind of restrictions when you buy a toaster, or a bicycle...

  • The right to look under the hood and verify what the software does. See, for example, if the software collects any data from your computer, and what it does with it. That's the open source part. In other words, it makes the software auditable. To me it doesn't sound like a bad idea at all if public institutions that manage private data of entire populations would be able to audit the software they use.

  • The right to modify the software. It might not sound important to you, but it could allow you or anyone else, for example, to restore functionality that the software has unilaterally removed in a further version. Or, it could allow a company to do a small modification they need for their own purposes. Such modifications are usually forbidden by commercial software.

  • The right to redistribute the software. Imagine providing your clients with the software needed to open the file you give them? Or, if you receive a file you cannot edit, to have the person send you a copy of the software with it? Mostly compatibility problems would be a thing of the past.

The license of a software could of course be changed anytime, in a new version. A piece of FOSS software could in theory be bought by a company that would then choose to commercialize it. But in FOSS software, like with any other creative work, the copyright remain to the author, unless they sell or give it to someone else. Each author writing lines of code for a software has the copyright over their work, and each of them applies the software's FOSS license to the piece of code they did, which transfers the above rights to the user. Changing the software license would mean obtaining the agreement of each and every person who contributed to it.

That's why being developed by a community is the other important point here: It effectively prevents the software from being bought and "closed". a piece of FOSS software developed by a single company, which would force their developers to hand their copyright to it (and that's very common), would gather all the copyright in one hand. Nothing would prevent them from changing the license anytime.

Of course, that would be valid only for next versions. The previous versions, published under a FOSS license, would still be open-source and people would still have the right to copy and modify it. Many companies who have tried to "swallow" a piece of FOSS software like that, have had the dire experience of seeing people keep developing from the previous, free version, and saw their mischievous plan fail. So the license still is the fundamental protection here.

How does it keep being developed if it is given away for free

Most people work on FOSS software voluntarily, because of genuine interest, as a hobby, or because they use the software for their own work, or simply out of idealism. This is a very interesting aspect, because a vast majority of FOSS software is actually developed by users. Their interest here is to have a powerful software that is free to use, not to make money.

Some FOSS software projects and developers make money, though. Many companies are actually interested in paying developers to keep working on FOSS software and more and more projects and developers get sponsoring.

Many FOSS software projects also have no boss, or no management. The source code is publicly available somewhere, usually on a code hosting platform like GitHub, GitLab, Sourceforge or Codeberg, and anybody can grab that code, modify it for example to fix an issue or add a new feature, and submit those changes to the author(s) of the original code for review and inclusion. Code hosting platforms usually provide easy tools to do all that cycle. Some people will stick to it and propose more changes, and that's how a FOSS community starts.

a view of a code hosting platform

As the project and the community grow, more veteran contributors mute into maintainers and review newer users code, more people who cannot write code (yet) join to discuss ideas, start working on non-code tasks such as writing documentation, and so on.

Okay, I want to try!

There is a lot of high-quality software that is immediately available and can be installed right now, no matter the platform you are on (Windows, Mac, Linux or others), and, thanks to their active communities, are usually translated in a large number of languages. For example:

  • Firefox is a well-known, fast and secure web browser. It is the de-facto standard browser of all the Linux world. It has many cool features such as automatic synchronizing between the desktop version and mobile app. Same as Chrome, you'll tell me. But there is one big differential: No Google involved here.

a screenshot of the firefox browser

  • LibreOffice is a high-quality and very well maintained office suite, similar to Microsoft Office. It features a word processing, a spreadsheet and a powerpoint application. It is fully compatible with MS Office file formats, and includes a ton of features that are usually paid plugins in other software suites, like the editing of PDF files.

a screenshot of the libreoffice website

  • Gimp, Krita, Inscape are high-quality digital art and design applications like Photoshop or Illustrator. Each of them has its strong points (Gimp for image editing, Krita for drawing and digital painting, Inkscape for vector design). These plus many others around (viewers, plugins, utilities) form a powerful and complete digital design suite.

A screenshot ofht ekrita website

  • Blender or FreeCAD (disclaimer: I work on FreeCAD! Go FreeCAD!) are 3D creation applications. Blender more for gaming and animation, FreeCAD more for engineering and 3D printing. There is too little space to describe such huge platforms here, but I dare to say they are better than most or all commercial alternatives like Maya or AutoCAD. Try it!

a screenshot of the Blender website

a screenshot of the FreeCAD website

And when you are ready for more...

  • Linux is a full operating system, like Windows, MacOS or Android, that you can install on nearly any computer, big or small. A Linux-based operating system includes actually much, much more than Linux, which is just the base component. Such complete operating systems are also called linux distributions. Among most famous distributions are Ubuntu, Fedora, Mint or Manjaro. Most linux distributions can be copied to and run from usb pendrive, so you can have a look and try without installing anything (just reboot and you'll be back to your current desktop), or be installed side-by-side with your current operating system, so you can try for good while still keeping a backup plan. Using linux has a couple of sidebacks, as not all your usual software will run on it and you might need to find alternatives, but many advantages, like the almost virus-invulnerable environment, and the magic fact that the distribution will usually keep not only the operating system automatically up to date, but also all of your installed software.

a screenshot of the linux mint website

screenshot of the manjaro website

Where's the catch?

I hope I could convince you of everything that's good about FOSS software. There are a couple of negative aspects, though. These might or might not be important to you, it depends much on your particular use case.

  • You will need to adapt to new applications, with possibly use different workflows and other file formats. This might be easy or not to you, depending if it's only yourself, or if you are for example thinking of deploying it in a company with other workers.

  • Proprietary, commercial file formats, usually owned and guarded by companies, are seldom supported by FOSS applications, because their specifications are kept secret. You might need to change your habits and increase your use of open file formats.

  • Not as many people know FOSS applications. Usually you always have a nephew, a neighbour, a friend who is knowledgeable with computers or with the particular applications you use, who can help you when you're stuck. When you switch to a FOSS application, you might not have as much luck there have to do a bit more research by yourself to fix problems. Luckily, FOSS users are talkative and it is usually pretty easy to find the information you need on the internet.

  • There is usually no company behind FOSS applications. Nobody to call, nobody to complain to, nobody to buy support from (although more and more companies are emerging to sell support for FOSS software). This might look like an issue for a company of course, but in reality we are not really better with commercial software. Try calling Microsoft to ask them to solve your problem...

To conclude our exploration, using FOSS software is a real, stable and solid open door to a world where things are not so much based on commercial relationships and "the biggest swallows the smallest" (the smallest being generally you, the user), but rather a collaborative world where many people doing each a tiny bit can achieve amazing quality, and where ideas like openness, accessibility and fairness matter.