Applications are one of the most important ingredients in any operating system. They are advantageous especially when they are open-source. Open-source allows sharing source code of applications/software with the rest of the community. This sharing gives a chance to developers around the world to participate in the development of the application/software, find issues, edit the code, and improve it, making it freely available and more stable over the long term. In this article, I am going to discuss a few common open-source applications. The purpose is to highlight open-source applications and use them whenever possible. In no way, I am against proprietary or closed-source applications. In fact, I use many proprietary enterprise applications on a daily basis, and I am quite happy with them too.
Benefits of Open-source Software
Before we jump into open-source applications, let us quickly see some benefits of using open-source applications:
Cost: It is one of the main advantages of any open-source software/applications that we don’t have to pay for their licenses. Whereas, on the flip side, proprietary software comes with a cost.
Improvement: The freedom to make changes in the source code of an open-source software/application allows users/developers to come up with brilliant ideas and innovations to improve the software further.
Control: Many users/companies prefer to use open-source software as they can have more control over it. They can examine its source code and make sure that something is not happening that they don’t want it to do. Besides, they can change the code anytime they want as per their needs.
Learning: Open-source tools and software are the best sources for students to study and learn. Lots of university students are given assignments and projects to work on open-source software to develop their programming and development skills. And it has been happening for years and lots of improvements in open-source software come from the academic community.
Security: Open-source software/applications are more secure as the code is available and transparent to security experts around the world. It becomes very easy to identify any security vulnerability or bug and patch it quickly.
Stability: Many organizations prefer open-source software for their critical and long-term projects. As the source code is distributed publicly, it is practically not possible that the open-source software disappears just because its original creators have stopped working. It has been witnessed in the past that much proprietary software was developed and supported for years but they were discontinued later.
We should keep in mind that open-source software usually does not come with enterprise support. You may need to rely on community experts’ support/help. Alternatively, you may also purchase support subscriptions.
Linux Office Applications
OpenOffice: Apache OpenOffice is maintained by Apache Software Foundation and is used for editing files such as texts, presentations, spreadsheets, etc… These applications are normally bundled into office suites. OpenOffice is very similar to MS Office, you just install it, and all the following applications would be installed.
Writer: Word Processor software
Impress: Presentation software
Calc: Spreadsheet software
Math: Mathematical equation software
Draw: Diagramming software
Base: Database software
LibreOffice: Another option to have office applications is LibreOffice which is maintained by Document Foundation. As OpenOffice is open-source software, developers took its code and forked LibreOffice from OpenOffice. LibreOffice also includes applications same applications such as Writer, Impress, Calc, Math, Draw, and Base.
Which is better OpenOffice or LibreOffice?
Both OpenOffice and LibreOffice are open-source software and have similar basic features and are somewhat compatible with Microsoft Office. Apache OpenOffice is licensed under Apache License 2.0 whereas LibreOffice is licensed under LGPLv3. Both these (Apache License 2.0 & LGPLv3) are open-source licenses.
However, they are different. This license distinction directly implies that LibreOffice can use any improvements made in OpenOffice, but OpenOffice cannot incorporate improvements made by LibreOffice. This is the reason why many people would want to use LibreOffice as their default office suite.
Linux Internet & Multimedia Applications
Mozilla Firefox: A very popular free and open-source “web browser” is Mozilla Firefox. It is developed by Mozilla Foundation. A similar software to Internet Explorer, Microsoft Edge, or Safari web browser.
Chromium: Another free and open-source software for browsing websites, developed by the Google-sponsored Chromium project.
Mozilla Thunderbird: It is a free and open-source email client software with a lot of other features. Thunderbird is developed by the same Mozilla Foundation that maintains Mozilla Firefox. Thunderbird is similar to Microsoft Outlook.
GIMP: An amazing free and open-source image editor with lots of features to manipulate & edit images, Free form drawing, and transcoding between different image file formats (JPEG, PNG, GIF, etc..). GIMP is a similar software to Adobe Photoshop.
Inkscape: This is a free and open-source vector graphics editor that is used to create vector images, primarily in SVF format. Inkscape is similar to Corel Draw or Adobe illustrator.
VLC Player: Another amazing free and open-source media player software. VLC Player is developed by the VideoLAN project and is similar to and even better than Windows Media Player.
Audacity: A free and open-source audio editor and recording application software developed by a group of volunteers. Audacity can be used to filter, apply effects and convert between many different audio formats such as WAV, MP3, and OCG.
Squoosh: An amazing image compression application that allows us to use advanced options provided by various image compressors. The images used on this website have been compressed using Squoosh.
Diagrams.net: Another great tool and alternative to MS Visio, is diagram.net which is an open-source technology stack for building diagramming applications. This is one of the most widely used browser-based end-user, free diagramming software. We use diagrams.net to draw all diagrams for our website.
Linux Server Applications
A server application is a software that provides services to clients. It could be a web server providing web services or an FTP Server providing file transfer services to clients.
Apache: Apache is a very popular free and open-source web server software developed and maintained by Apache Software Foundation. When you visit TCP/IP Academy website, you use client software or a web browser (Firefox/Chrome/MS Edge) to browse our website. And in return, the Web Server (Running Apache) where TCP/IP Academy’s website is hosted, responds with the web page you requested. Your computer that is running the browser acts as a client and TCP/IP Academy’s web server that has hosted the actual content of the website acts as a server.
Nginx: Nginx is another open-source web server that is also used for load balancing, reverse proxy, mail proxy, and http caching. When used as a load balancer, the requests from clients are load-balanced over multiple servers running behind it.
Lighttpd: Another lightweight and open-source web server software. With a small memory footprint, Lighttpd is designed for servers that are suffering load problems.
Linux Network Services
DHCP Server: Dynamic Host Configuration Protocol (DHCP) server is responsible for assigning IP configurations dynamically to devices. Internet Systems Consortium (ISC) offers a complete open-source DHCP solution for implementing IPv4 and IPv6 DHCP servers, DHCP relay agents, and DHCP clients.
DNS Server: One of the main functions of a DNS server is to convert the hostname to an IP Address. When you type our website’s name https://www.tcpipacademy.com in the address bar of your web browser, the DNS server automatically converts this hostname into an IP Address so that your request could be sent to the IP address of TCP/IP Academy’s web server. DNS does this so that you don’t have to remember the IP(s) of servers. Instead, you can just simply use hostnames to open websites. Internet Systems Consortium (ISC) also maintains BIND 9 which is a very flexible, full-featured DNS system.
Radius Server: FreeRADIUS is the most popular and widely deployed open-source RADIUS server, supporting all common authentication protocols. It is used by various organizations including ISPs, Enterprise networks, and educational institutions, especially for AAA services. FreeRADIUS claims to be responsible for the authentication of one-third of all users on the internet.
Syslog Server: Like other open-source software, the syslog server can be implemented by multiple applications available. For example, syslog, syslog-ng, and rsyslog are well-known applications. Rsyslog is an open-source, faster, and feature-rich syslog software. The official website describes the software as “the rocket-fast system for log processing.”
FTP Server: File transfer protocol helps us transfer files between computers over a network or the internet. It uses a client-server model where FTP clients can download/upload files from/to the FTP server. VSFTPD stands for “Very Secure FTP Daemon” and is one of the top-rated open-source FTP servers. Vsftpd is compatible with many Linux distros including but not limited to RedHat, OpenSUSE, Debian, etc…
Linux File Sharing Services
Samba: Samba is open-source software that provides file and print services for all clients using SMB/CIFS protocol. Samba implements SMB protocol, therefore, allowing windows clients to transparently access Linux directories, printers, and files on a Samba server. It is recommended to use the Samba server within your Local Area Network (LAN) to share files where there are Windows as well as Linux clients.
NFS: NFS is a protocol that was developed by Sun Microsystems. It serves a similar purpose as SMB but it is incompatible with SMB which means that NFS clients can’t talk to servers using SMB. It is recommended to use the native protocol NFS when sharing files between Linux machines.
Linux Database Services
MySQL: It is an open-source database server application that is very well-known to use Linux, Apache, and PHP. Together, they all make LAMP Stack. MySQL is being used by big tech giants including but not limited to Cisco, GitHub, LinkedIn, Facebook, Twitter, and YouTube.
MariaDB: MariaDB is a community-developed, free, and open-source database server application that is forked from MySQL. Developers took the source code of MySQL and created a parallel project, called MariaDB.
PostgreSQL: PostgreSQL is a powerful, open-source database system. Unlike MySQL which is a relational database (RDBMS) and is mostly used for web-based projects, PostgreSQL is an object-relational database (ORDBMS) with features like table inheritance and function overloading.
Notepad++: Notepad++ is an open-source text and source code editor. It is not cross-platform and is only available for Microsoft Windows OS. It supports tabbed editing allowing multiple files to open.
Vim: Vim is an open-source text editor and is heavily used on Linux systems. It is the best tool and most recommended tool for users using the Linux operating system. Vim is available for Linux, Windows, and macOS.
Atom: Atom is an open-source text & source-code editor developed by GitHub and used by many professionals. Being cross-platform, it is available for macOS, Linux, and Windows with support for lots of plugins.
Putty: Putty is a well-known open-source application that is used by many professionals to use protocols such as Telnet, SSH, and Rlogin to connect remote devices. It can also connect serial ports and raw socket connections.
WinSCP: WinSCP is free and open-source software that is well-developed for the purpose to use FTP, SFTP, SCP, WinSCP, WebDAV, and Amazon S3. The only caveat with WinSCP is that it is only developed and maintained for Microsoft Windows.
FileZilla: FileZilla is another free and open-source software and is cross-platform. It supports FTP, SFTP, and FTPS. There is a paid version, FileZilla Pro that also supports connectivity to Cloud services including but not limited to Amazon S3, OneDrive, Google Drive, etc…
Signal: Speak Freely. If you are concerned about the privacy and security of your personal messages App, Signal is your App and alternative to WhatsApp. The signal is a free and open-source app and is available for Android, iOS, and Desktop (Linux, MAC, Windows).
What does it mean for an application to be cross-platform?
Cross-platform is also known as multi-platform. A cross-platform application is implemented on multiple computing platforms such as Microsoft Windows, Linux, macOS, etc… Almost all major Linux applications are cross-platform. For instance, Mozilla Firefox is a cross-platform application as it can be installed on Windows OS, Linux OS, macOS, Android, iOS, etc…
There is a huge list of free and open-source applications that are used for specific tasks and are cross-platform. I just listed a few of them. The best of open-source applications/software is that, as a developer, you can participate and contribute to any of the open-source projects by developing new modules, finding issues in existing code or documentation, and developing patches.
At TCP/IP Academy, we are proud to deliver all this content using the following open-source software on this website:
Linux – as an Operating System
Apache – as a Web Server
MySQL – as our Database
PHP – as a development language for web content.
|Proprietary Applications||Open-Source Applications|
|MS Office||OpenOffice, LibreOffice|
|Notepad, Sublime Text||Notepad++, Atom, gedit, Vim|
|Windows Media Player, iTunes||VLC Media Player|
|Safari, Internet Explorer||Mozilla Firefox|
|Adobe Illustrator, Corel Draw||Inkscape|
|Microsoft Visio||Diagram.net, Dia|
|Apple Logic Pro||Audacity|
|Camtasia, Apple’s Final Cut Pro X||Shotcut, OpenShot|
|Microsoft IIS||Apache, Nginx, Lighttpd|
|MS SQL Server, Oracle Database||Mysql, MariaDB, PostgreSQL|
|Google Apps, Dropbox||ownCloud and Nextcloud|
|Proprietary Operating Systems||Open-source Operating Systems|
|Apple macOS, Windows 10, IBM AIX, HP UX, MS Server 2019||Debian, Ubuntu, RHEL, Kali Linux, Rocky Linux, FreeBSD,|