"As our society grows more dependent on computers, the software we run is of critical importance to securing the future of a free society. Free software is about having control over the technology we use in our homes, schools and businesses, where computers work for our individual and communal benefit" Free Software Foundation
Free software is software that grants everyone permission to use, study, copy, modify and/or distribute the software.
Free and open source software are provided at zero cost but the word "free" does not refer to the cost of the software. "Free" refers to the fact that everyone has freedom to use the software for their benefit. These freedoms (use, study, copy, modify, distribute) are granted to everyone and are protected through an enforceable legal license.
A Free Software license ensures that the public has commercial and creative rights to that software. The commercial and creative rights include the rights to reproduce, modify and sell the software. Typically, the only restrictions for free software licenses have the goal of ensuring that neither the software nor its derivatives become non-free. This means that non-free software cannot include free software and that no one has the right to restrict the freedoms granted by the free software licenses. There are many different free software licenses but all "free software licenses" provide and protect the same rights.
The Free Software Foundation is a non-profit organization that promotes the development of free software and documentation. Their mission is to defend the rights of all free software users. Their view is that software must be free to ensure society does not lose control over its computing.
The 4 basic freedoms are defined as follows:
The freedom to run the program, for any purpose (freedom 0) .
The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
The freedom to redistribute copies so you can help your neighbor (freedom 2).
The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.
The term open source came into use in the late 90s as a re-branding of the free software movement. Some members of the free software movement wanted to refocus the dialogue on free software toward its commercial value. They prioritized the technical and economic benefits of open source code and open development, and avoided the political and moral issues that had been a focus of the "Free Software" movement. The goal was to increase participation from the commercial software industry.
The term FOSS (Free and Open Source Software) is often used to acknowledge both movements and perspectives. The primary differences between the free software and open source licenses are the values upon which the licenses are based. Despite the differences in priority and/or focus all "Free Software" is open source and almost all software that is acknowledged by the Open Source Initiative is also Free Software.
One of the goals of free and open source software is to improve the quality of software. When software is proprietary only the vendor with access to that software has the capabilities to repair and/or enhance it. Changes to the software are dependent upon the skills and/or desires of the vendor.
With open source there is a community that is able to fix and improve the software. This increases the potential for fixes and enhancements and ensures that profit is not the only motive behind modifications. Software is enhanced or modified based on the needs and skills of the community. The priority for the development of the software becomes what is needed and not what is profitable.
Protection of Liberty
A primary motivation for open source is to ensure that personal liberty is maintained. Visibility into what software does and how it works is necessary to ensure that software is performing as it should and has no unwanted functionality. With free software the access to source code provides the opportunity to validate the functionality and change it if needed.
Many believe that the best path to developing computing technology is to ensure that everyone has the opportunity to access and contribute to it. By making source code visible it is possible for developers to learn from each other and to leverage the work of others to develop or improve products.
There is little doubt that having access to the source code for all Linux applications can be of great value to developers writing new applications or services. There is the potential to save countless hours writing code by using and/or modifying code that was written for other purposes.
The cooperative model where people share and work together on projects is more effective than the closed proprietary model. At a minimum the cooperative model should improve efficiency by reducing duplication of effort, at best working as a team will improve everyone's performance.
Technology and non-technology companies have embraced open source and accepted it as a way companies can share development costs. Technology companies such as Novell, Red Hat, IBM and HP use, develop and contribute to open source software. This decreases their costs for those common components that they all share and use. It also allows them to use some capabilities without any development or software costs.
Many large and successful companies such as web hosting and online service companies utilize open source almost exclusively to deliver their services. They utilize Linux servers, Apache, Wordpress and countless other open source tools as components of their core services.
These companies and the clients they service generate jobs and revenues in the billions. With more than 50% of all websites hosted on Linux the economic impact of open source on the internet alone is significant. However, the utilization extends beyond the internet and includes government, science, education, business and home use.
Open source makes it possible for everyone to have access to advanced computing technology at a low cost. It protects our freedom by allowing us to control the software that we use. It also provides the opportunity to learn and provides a frame work to execute and develop applications and services.