Applications are one of the most important ingredients in any operating system. They are advantageous especially when they are open-source. Open-source allows to share 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 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
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.
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.
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.
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 that lots of improvements in open-source software come from the academic community.
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.
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
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
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 graphic 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 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 software that provides services to clients. It could be a web server provided we services or an FTP Server providing file transfer services to clients.
Linux Network Services
DNS Server: One of the main functions of a DNS server is to convert the hostname to 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 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 many other open-source software, 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 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
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 native protocol NFS when sharing files between Linux machines.
Linux Database Services
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 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 port and raw socket connection.
WinSCP: WinSCP is free and open-source software that is well developed for the purpose to use FTP, SFTP, SCP, WinSCP, WebDAV, 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 in any of the open-source projects by developing new modules, finding issues in existing code or documentation, and develop patches.
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,|