What is Open-Source Software?
This article takes a look at open-source software, a trend which dominates content management systems, programs and even operating systems. Written with complete beginners in mind, the article compares closed- and open-source projects and how they work as well as citing some popular examples of the latter.
What is Open-Source Software?
All of the computer programs you have ever used, whether they are downloaded and installed on your computer or smartphone or running straight off the Internet in the form of a cloud computing solution, actually consist of files containing machine code which looks nonsensical to most of us. Rather than writing in machine code, programmers use a programming language such as Java or C++ to create what is known as the source code. The source code is then compiled into machine-readable code by a program called a compiler. The compiled code is basically the program itself, such as the Web browser you are using right now.
There is no practical or reliable way to reverse the process (i.e. decompile), so no one can actually tell how a program was written and precisely why it works in the way it does. Most software companies and Web developers, such as Microsoft or Google, generally keep their source code to themselves, effectively keeping their programming techniques secret from the rest of the world. However, other developers release the source code to the public so that any programmer can edit and modify it from the ground up, effectively creating their own unique versions of the original program. When the source code is made available in such a manner, it is described as open-source.
Closed Vs Open-Source
Source code can be compared to cooking recipes or blueprints. Some food recipes are trade secrets belonging to the companies that manufactured them, as is the case with other industries. Pharmaceutical companies are a good example of an industry which tends to hold onto its trade secrets for as long as possible to prevent other companies from making generic versions of the same thing, thus driving down the costs of the end product dramatically. However, with open-source products comes the concept of sharing plans, ideas and methods in order to collectively develop and improve the original recipe.
Open-source software is not just about giving something away for free for people to do with as they please. In fact, a primary motivation of the original developer might be to make money by providing product support and related services or even by relying on donations. The main advantage of open-source software is that it allows for enormous collaborative projects to form where there is virtually no limit on budget or other resources.
Examples of Popular Open-Source Projects
Open-source software is perhaps most prevalent when it comes to Web design. Rather than manually writing HTML code or using complicated desktop software to develop websites, millions of bloggers, webmasters and other developers now use content management systems (CMS). After all, pretty much anyone can now create a blog or other type of website using a CMS such as WordPress, Joomla or Drupal. In fact, these CMSs are used on over a quarter of all websites, and they are all open-source, facilitating constant community-driven development.
Aside from Web-based software such as the examples mentioned above, there are also open-source desktop programs for all of the world’s major operating systems, including those which run on mobile devices such as smartphones. In fact, the world’s largest open-source software project is an operating system itself – Linux. Linux and its many derivatives dominate mainframes, supercomputers and Web servers, although they account for less than two percent of desktop and laptop operating systems. The Google Android operating system is also based on the Linux kernel, and it became the world’s most popular mobile operating system in 2011.
There are many free alternatives for everyday productivity applications as well. For example, the free and open-source OpenOffice.org, though now defunct, gave birth to Apache OpenOffice and LibreOffice among others, both programs being popular free alternatives to the expensive Microsoft Office suite. Other immensely successful open-source projects include the Mozilla Firefox Web browser, the FileZilla FTP client, the GIMP image editing software and the VLC Media Player (which actually plays every audio and video format unlike most other media players).
Open-source software plays an essential part in everything from cloud computing to Web design to downloadable applications and operating systems.
Open-source cloud computing is steadily becoming popular, since it allows enterprises and businesses of all sizes to create fully customized and scalable solutions which meet their precise needs.