Open Source and How We're Using It Today
‘Open source’ is a term that’s used quite often within the blockchain and Ethereum ecosystems.
Fintech professionals use it, developers use it, and marketers and purveyors of the blockchain industry even use it as a buzzword. But what does open source truly mean, and why is it transforming our entire online universe? And more importantly, why should users ultimately care about what open source is, or does?
Open Source Licenses
The term open source directly relates to the original code of software that is visible and can be redistributed and modified. In its primitive definition, a user may look up a recipe for chocolate chip cookies on an online recipe database. That recipe is visible and can be tested. The user (in this case, the baker) can also change or expand on the ingredients, and even publish their newly modified recipe onto the online recipe database.
Open source refers to a license that allows the software to be freely used, modified, and shared, similar to the recipe example above. There are over 50 different open source licenses but the most commonly used include Apache License 2.0, BSD 3-clause, MIT license, GNU Library or “Lesser” General Public License (LGPL). In addition, open source licenses break into two subsets: Copyleft and Non-Copyleft.
The Copyleft license is a general method for making software (or other intellectual property) accessible to developers and users by requiring all modified and extended versions to be bound by the same license. A Copyleft open source license essentially gives all users the freedom to redistribute and change the program and extend those same freedoms to downstream users and developers.
In contrast, a Non-Copyleft open source license gives all users the freedom to redistribute and change the program but does not require these freedoms to extend to downstream users and developers.
Copyleft open source licenses give users the following freedoms:
- The freedom to run the program, for any purpose.
- The freedom to study how the program works, and adapt it to your needs
- The freedom to redistribute copies so you can help your neighbor.
- The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.
Open Source Products We Use Every Day
Open source software can be implemented for personal and commercial purposes in areas such as blogging, the blockchain, cloud management, cryptocurrency, databases, desktop publishing, development tools, games, Internet of Things (IoT), IT Management, operating systems, visualizations, etc.
However, open source software should not be confused with proprietary software. With proprietary software, users cannot view or edit the software’s source code. The user can open the developer tools on the front end to see the language used to write the code, but they cannot make any changes that will benefit them, such is the case for Google and Facebook. Though, restrictions can be a good thing. With proprietary software, the more restrictions a software has, the less freedom and flexibility conveyed to the end user.
Even if a user isn’t a developer, there are still open source products on the market today that people use without their knowledge. Here are a few examples of open source products that people commonly use:
More commonly recognized by its penguin logo counterpart, the development of Linux is one of the most prominent examples of free and open-source software collaboration. The underlying source code may be used, modified and distributed—
Linux (also known as GNU/Linux) is a computer operating system, like Microsoft Windows or Apple Mac OS. Unlike those two, however, Linux is built with a collaborative development model. The operating system and most of its software are created by volunteers and employees of companies, governments and organisations from all over the world.
The operating system is free to use and everyone has the freedom to contribute to its development. This co-operative development model means that everyone can benefit. Because of this, we like to call it Free Software, or Socially Responsible Software. Closely related is the concept of Open Source Software. Together, Free and Open Source Software is collectively abbreviated as FOSS. This contrasts with the proprietary (or closed source) development model used by some software companies today.
Most bloggers or small companies use Wordpress because it offers an easy-to-use interface and multiple tools to build a site. Wordpress may not seem like an open source operation to most. But it does use PHP, an open source server-side scripting language, and MySQL, an open source relational database management system, where it is licensed under GNU General Public License (GPL), version 2.
For example, when selecting the theme of the site, web designers can pick an existing theme, design their own, or, due to the open source nature of the platform, modify an existing theme to match a preferred style. Another example is the content management system (CMS) which provides users with endless tools to manage the content.
Moodle, the learning management system, is used by tens of thousands of organizations and universities around the world. It offers employees and students ranging from 1st grade to college, a platform to further educate themselves. Moodle has also become a great platform for institutions to communicate with employees and students, even allowing submittal of school or work assignments.
Moodle is written in PHP and is licensed GNU General Public License (GPL), version 3.
VLC Media Player
Licensed under the General Public License, VideoLAN can distribute free and open source software. One of the products they produce it the VLC Media Player. This multi-platform player allows you to watch any files, DVDs, or streams. Users can download and customize the player by adding their own skin or installing new extensions. For those who want to add more to a video they are watching, they can. With VLC Media Player, users can add video and audio effects that appeal to the viewer.
These days, the open source concept has extended its reach beyond software products. HitRecord offers a unique take on media production. Founded in 2005 by actor Joseph Gordon-Levitt and his brother Dan, the company aims to aid creative minds that lack resources, the ability to collaborate, contribute to, or provide feedback on projects.
For example, an animator can upload a black-and-white short. If someone thinks it’s lacking color, they can paint in whatever they desire. Another user can record the narration or speaking roles, while another can add a music score. The collaborations may never end but an improved product is born.
Open Source and Ethereum
Ethereum is licensed under the LGPL which is a Copyleft open source license that makes an exception to the source code disclosure requirement for programs linked to the software libraries. This affects the current use of Ethereum in a positive way because it allows other programmers to add to the software by contributing improvements. These improvements are disclosed to everyone and have access to the improved version as well. Think of it as a global peer review of source code where anyone can comment and propose changes or improvements. This license also allows a broader involvement with proprietary software since they are not required to disclose their source code when linking to the software libraries.
This license benefits future users of Ethereum because they will have access to any new and improved versions while retaining the same freedoms in the original program. Open source licenses promote the users’ freedom to share and change software which ultimately leads to better quality products. This is important because software can be copied and changed a lot easier than material objects- users would miss out on these innovations if the above freedoms were not in place.
Open Source Gives Power Back to its Users
Lastly, open source software allows users to view the entire source code of the program. This is important because by viewing the source code, the user knows the software’s capabilities and limits. Proprietary software does not extend this same freedom to its users resulting in a less knowledgeable user base who are unaware of the capabilities of the software they’re using. In closing, open source software actually puts the users more in control of the program, whereas proprietary software places the program and its developers, in control of the users.