What is free and open source software?
Free and open source software is generally software that is free to use, access and modify by anyone.
The concept of free software was introduced by Richard Stallman, an activist for the free software movement. While the licensing of each software can vary, the common factor is the freedom for the software to be used and modified freely.
The ability to access and modify free and open source software refers to having access to the source code and having freedom to make changes to it. This is beneficial for individuals like software developers who might be interested in inspecting the source code and making tweaks for their own specific use.
Access to free and open source software is beneficial for the average computer user who can make use of free alternatives to paid versions of software applications that perform similar functions.
The concept of developing software as open source has spread over time thanks to the initiatives of the free software movement. The availability of free and open source alternatives to paid software now exists across a wide variety of software applications from simple word processors to complex animation programs.
What are the benefits of free and open source software?
Having access to free alternatives for software is advantageous in providing options that prevent the market from being completely dominated by paid software applications.
This provides freedom in allowing anyone to access software applications they might not necessarily be able to pay for. This concept gives everyone a basic right to computer usage and is crucial, especially with computers increasingly being seen as a necessity in today’s world.
On top of freedom of use is the transparency provided by free and open source software. There can be no questions on what the software is doing if the source code is free to access by the public. The desire to create improved trust for their customers can be enough of a reason for organisations to choose to develop software as completely open source.
There are also several advantages for the software itself as it creates a means for programmers around the world to contribute to its development, enhancement and adoption.
Due to the large number of contributors made available from the open source community, open source solutions also tend to be more robust and secure. Bugs and vulnerabilities are usually identified, fixed and integrated into release quicker when compared to proprietary software.
The concept of open source has led to the creation of numerous world-class software that has revolutionised the industry thanks to the efforts and contributions of hundreds or in some cases, thousands of software engineers.
In a previous article, we covered 10 incredible projects showing the power of open source which highlights some achievements of the open source community!
In this article, we’ll cover free and open source software available that demonstrates the range and collection of programs we have at our disposal, all for free. This covers basic applications you expect to find on any PC and also covers more specialised programs used by people with a particular skill-set.
The programs on this list will provide solid alternatives to programs that you would otherwise need to pay for if the free and open source software alternatives did not exist!
P.S. The recommended software for each category are supported on Linux, Windows and macOS!
- Operating System: Linux (E.g. Ubuntu, OpenSUSE, Fedora)
- Code Development Editor: Visual Studio Code (VSCode)
- Document processing: Libre Office
- PDF viewer: Okular
- Video Editor: Shotcut
- Streaming and Broadcasting: OBS Studio
- Electronic Design Automation: KiCad
- Animation: Blender
- Advanced Image Editor: GIMP
- Video game engine: Godot
- Encryption software: OpenSSL
- Serial debug: PuTTY
- Image Vector editor: Inkscape
- Remote access applications: Tight VNC
- Content Management System: WordPress
Linux (and its GNU/Linux variants) is a free and open source operating system and acts as an alternative to proprietary operating systems such as Windows and macOS.
An operating system is one of the essential computer programs needed to enable the running of other applications on a PC. Without an operating system, a computer is not very useful to the average user.
The vast majority of PCs and laptops sold in stores will be loaded with either Windows or macOS. According to statcounter, as of 2021 Windows takes up 72.98% of the market share for desktop users while macOS takes 15.56%.
The existence of Linux as a free and open source operating system allows anyone to have access to this essential computer program for free. Without Linux, other free and open source software applications would likely not be as prevalent as we see them today and software listed in this article would likely not exist.
Linux continues to grow in popularity as an operating system especially amongst developers as the openness, flexibility and control Linux provides is an advantage for developers.
For a more detailed discussion on the advantages of using Linux, see our post on 5 convincing reasons to use Linux for programming.
Code Development Editor: Visual Studio Code (VSCode)
VSCode is a free and open source code editor from Microsoft. VSCode should not be mixed with Visual Studio, as Visual Studio is Microsoft’s proprietary IDE (Integrated Development Environment) built for Windows.
The VSCode editor offers several features that supports code development such as an integrated terminal, debugger, auto complete, syntax highlighting and powerful search and keyword referencing.
VSCode is also highly customisable and there are many plug-ins available that allow VSCode to be extended with tons more features and capabilities.
Document processing: Libre Office
Libre Office is a free and open source word processor that includes a suite of applications such as document, spreadsheets and presentation editor.
Libre Office is essentially a free and open source counterpart to Microsoft Office and Google Docs. Libre Office is also able to view and edit documents created by Microsoft Office or Google docs.
This is an ideal choice if you’re looking for a desktop based word processor software that’s completely free.
Video Editor: Shotcut
Shotcut is a free and open source video editor containing the features you would expect from a professional video editor.
It’s a great alternative for anyone looking for a free video editor while still being able to produce professional level results.
Streaming and Broadcasting: OBS Studio
Open Broadcaster Software or OBS is an open source software for recording videos, screencasts and live streaming. OBS Studio can be used to stream live to platforms such as YouTube and Twitch.
OBS is highly adopted by live streamers and is well supported by the development community.
Electronic Design Automation: KiCad
Electronic Design Automation (EDA) is software used in the design of electronic Printed Circuit Boards (PCBs). EDA software is fundamental to the hardware design of the electronics that are embedded in devices that drives all aspects of technology.
The availability of open source EDA software like KiCad enables anyone to possess the ability to design hardware from initial concept to fabrication.
Blender is a powerful and open source 2D and 3D animation software. It contains a suite of animation creation tools and comes with features that support the entire pipeline of creating animations.
Blender is widely adopted in animation field and is backed by several communities and supporters that help keep this incredible software project going.
Advanced Image Editor: GIMP
The GNU Image Manipulation Program (GIMP) is a free and open source image editor.
GIMP contains powerful image editing features that is on par with popular proprietary equivalent software like Photoshop.
From graphic designers to photographers, GIMP contains features that cover a range of basic to advanced level image editing.
Video game engine: Godot
Godot is a powerful game engine that also happens to be open source! This allows creation of games that remain completely owned by the creator and as the Godot website puts it, “Your game is yours, down to the last line of engine code”.
To learn more about Godot checkout this article from us: Making my first game in under a week using Godot engine (you can do it too!).
Encryption software: OpenSSL
OpenSSL is an open source cryptography toolkit for running TLS/SSL functions.
It contains a full set of tools useful for anyone working with applications running TLS/SSL or as a way to access general cryptography functions.
Serial debug: PuTTY
PuTTY is an open source terminal software containing several components such as a telnet, SSH client and serial configuration.
Terminal applications are useful for software engineers running testing and debugging. There are several applications out there providing similar functions to PuTTY. However, PuTTY takes things a step further by being open source and cross platform.
Image Vector editor: Inkscape
Inkscape is an open source design tool for working with Scalable Vector Graphics (SVGs). It’s powerful and flexible with plenty of features to allow creation and editing of vectors for a wide variety of purposes.
Whether for creating clip art, flow charts, logos or infographics, Inkscape provides vector creation capabilities while being completely free to use.
Remote access applications: Tight VNC
Tight VNC is a free and open source remote desktop application capable of running as a client and server.
Tight VNC is an open source counterpart to popular remote desktop software such as Teamviewer. Tight VNC provides all that is needed for remote monitoring and control of another computer.
Content Management System: WordPress
WordPress is an open source content management system or CMS. A CMS allows the management of web content from creation and editing to publishing.
WordPress enables anyone with the tools they need to create their own website, blog or digital content.
WordPress is not only open source and free but is the most popular CMS software out there and as of 2021 powers 39.5% of sites on the web.
In this article, we listed several free and open source software that shows the diversity of software available today that we can make use of completely for free.
Thanks to developers who contribute to open source projects, we can enjoy the availability of software that provides anyone with access to a range of applications while also providing freedom to use, modify and share.
If you’re a developer interested in knowing how to contribute to open source projects check out our post on a beginner friendly guide to making your first open source contribution.
Are there any free and open source software you enjoy using? Share them in the comments!
See other articles you may be interested in below: