Promoting Innovation in Technology: The Fundamentals of Open Source Software

By:  Ridgeway Woulfe

Open source software is a trending avenue for developers to continue the innovation and evolution of the industry, but the law surrounding open source software is deeply nuanced and complicated.  This article will provide a basic understanding of the core concepts of open source software, which is opening up the technological market place to allow advancements from any member of the public and enabling greater access to quality software.[1]

To begin, open source software can be defined as computer programming which allows anyone to inspect, change, or enhance the source code however the user sees fit.  Source code is the language which is used to determine what the software does and how the user can interact with it.

One of the main things that separates open source software from ordinary software is that ordinarily the source code is hidden from the end-user[2], while open source software, as the name implies, gives users free access to the source code.  Perhaps more importantly, however, is that the authors of the source code in open source software does not claim proprietary ownership over the code.  In order to use proprietary software (think Microsoft or Apple), the user must agree not to alter, disseminate, or otherwise interact with the source code not expressly permitted by the developer.[3]  Open source software authors allow and often encourage users to interact and change the source code.

Still, authors of open source software can place some restrictions on how the source code can be used while maintaining the label.  Some include a requirement that any software released based upon the open source software be released as open source software which prevents modifying authors from “closing” their software.  This is sometimes known as “copyleft.”  Others take this restriction further by prohibiting release of any altered version of the open source software by charging a licensing fee.  In general, however, users of open source software are free to use the source code as they wish.

Open source software can be distributed for free or with a purchase.  Ultimately what determines the rules regarding licensing agreements which users must agree to before using the software.  Proprietary software restricts users access and use of the software.  Paid open source software restricts access to the source code and use of the software until the user pays and agrees not to give that source code for free.  Unpaid open source software allows access, only requiring users to agree to specific uses, if anything at all.

The distinction is important for a wide variety of reasons.  One of the most important for users is that open source software gives them control over the product.  Don’t like a function?  Change the source code.  Wish the software did something else? Change the source code.  With the right programmer, open source software allows the user to customize their experience. 

Additionally, some users feel more secure using open source software.  Having a wide variety of eyes looking at the source code makes it more likely that security-risking bugs will be caught before a problem arises.  Other users prefer open source software because it ensures the program will continue to be available and be tinkered with.  If a proprietary software company decides it is finished with a product, nothing more will happen to ensure the stability of the product.

Open source software is an ever-expanding industry, continuing to allow users to customize and further develop a software product.  As the industry continues to emerge, the rules and laws surrounding it continue to develop.  With this basic understanding of what open source software is and how it operates, you can grow in your understanding of how to use it to your advantage and how influential it will be in developing technology.

[1] A small sampling of some of the world-changing innovations can be found here:  https://opensource.com/life/14/11/five-humanitarian-open-source-projects

[2] End-user meaning the consumer who actually uses the software for its intended functions.

[3] This language appears in the “Terms of Use” you probably clicked through.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s