Open Source is software distributed as open source. Such an application can be modified (modified, supplemented) for your tasks without violating the copyrights of developers, as well as studied for vulnerabilities, used for the development of other programs, etc.
The concept of open source software is an alternative to proprietary software that is distributed by commercial companies, with limited or completely closed code. The term itself was proposed in 1998 as a more correct, though close in meaning, synonym for free-software. Most open source software is also free software.
The difference between open source and free-software
The term free-software was coined in 1985 by Richard Stallman, a researcher at the Massachusetts Institute of Technology. At the time, he was working on several free software, including a text editor for minicomputers. After the program was sold to a commercial company, he founded a project called GNU in 1983. It was a completely free UNIX-compatible operating system with a set of equally free applications.
The development of this project was the Free Software Foundation, a non-profit foundation created by Stallman and his team of enthusiasts. Its activities were based on the following principles:
free use — the ability to run the program for any purpose;
free learning — the ability to research the program and adapt it to the needs of the user, for which open source code and documentation are required;
free distribution — the right of the owner to share the program with other users at his discretion;
Free enhancement is the ability to improve the software and thereby benefit the entire user community.
According to the philosophy of the Free Software Foundation, software was considered free software if it satisfied all four points. However, there were certain conflicts:
Free software does not have to be non-commercial, it can be distributed and used for a fee.
The term "free" in the English-speaking environment often means not only "free", but also "free" - that is, a program could be distributed for free, but at the same time not available for study and/or modification, which is contrary to the principles of the Free Software Foundation.
To address this ambiguity, in 1998 free software programmers and ideologues Eric Raymond and Bruce Perens coined the term open source. To develop the concept, they founded the non-profit Open Source Initiative in the same year.
The first open-source product was Netscape Communicator, the main competitor to Internet Explorer at the time. The founders of OSI developed the definition of open source and its criteria, based on the Debian Free Software Manual (DFSG). They identified 10 requirements that an open source license must meet. We will focus on the key ones:
There shall be no limitation between the parties to the sale and/or distribution of the Program as part of the Aggregate Software, which includes Programs from other sources.
The sale of open source software does not involve the payment of royalties or other fees to the developer.
The software must be distributed in source code (preferably) or in compiled form. If the program is not distributed in source code, it should be accompanied by extensive advertising of how to obtain it (preferably free download on the web).
It is not allowed to intentionally obfuscate the source code of the program in order to complicate its research, reproduction, editing or use.
There is no form of discrimination in the distribution of open source software against any individual, group, or field.
You may modify or create derivative works from the software, and they are subject to the same license as the original program.
If we summarize all the differences between the concepts of open source and free software, they can be summarized as follows:
Free-software prioritizes the right of a person (user) to freely distribute, use and study the software.
The open source concept focuses on the convenience of open source code in terms of software development, modernization, and support.
But in practice, these differences are often leveled, and "among the people" both concepts are used, if not as identical, then as close synonyms.
Types of open source licenses
At first glance, the concepts of open source/free-software and licenses are not compatible with each other. And at first, open source enthusiasts really didn't use licensing agreements. However, the experience of one of the founders of the Open Source Initiative has shown that even maximum freedom should be regulated, especially when it comes to the product of intellectual labor.
A license does not necessarily mean restrictions and payments to the licensee. It is any agreement between the parties that discusses the principles of their relationship with each other. Today, open source software is distributed under several types of licenses.
Public Domain. Such licenses are most often related to creative materials. These works are in the public domain and belong to the whole society, not to individual authors and developers. They can be used however you want without asking for permission. Accordingly, they are not subject to copyright, intellectual property, trademark and patent laws. An example of such a license is CC0 from Creative Commons.
Permissive. They are similar in nature to the public domain, but do not require a copyright waiver. Such licenses practically do not restrict the use of the software product by users and developers. They also do not restrict the application of other licenses to products derived from the original, i.e., they are not copyleft. Examples of such license agreements are BSD, MIT, Apache, WTFPL.
Copyleft. The name of the category is a derivative antonym of copyright, that is, such licenses give the right to distribute copies and derivatives of the original product without the permission of the author or copyright owner. However, the distribution must be subject to the same license as the original product. That is, you can't make proprietary software that is a derivative of free software. Examples of copyleft licenses are Creative Commons Attribution, ShareLike, and the GPL.
In contrast to these categories of licenses, proprietary licenses are used for open source software. Such agreements recognize the program as the private property of its author and his monopoly on its distribution, use, copying and modification. That is, proprietary software cannot be free on all counts. At the same time, however, the source code itself in such programs can be open.
Benefits of Open Source Software
For users:
Savings – the vast majority of open-source products, as well as their modifications and copies, are distributed free of charge;
support — communities of enthusiasts are quickly formed around open source projects, who constantly develop manuals, search for and fix bugs, create plugins that expand the functionality of the main software, etc.;
Quick feedback — since many open source programs are created by small teams, the user gets an answer to their questions faster.
Privacy: Unlike proprietary software, open-source software generally does not require the user to provide their personal information, which can then be used for advertising or other purposes.
Interoperability – Most open source products are developed for multiple platforms, making life easier for users of different operating systems.
For Individual Developers:
accessibility — the developer can find any program for training and development, creating their own projects, and absolutely free of charge;
adaptability — the developer can modify the "open" program for their specific tasks;
Support — the presence of a developed community of experts allows the developer to get any help with the software, as well as to be sure that the programs he needs are constantly being refined and improved.
For Corporations:
customer acquisition – by participating in open source projects, corporations attract the attention of users to their other products (including paid ones), as well as develop an ecosystem around them at the expense of third-party developers, saving their own resources;
Employee Engagement – By constantly engaging with the open source enthusiast community, the company can find valuable talent to work on its projects.
Incentives for development – by buying an open-source software company, the corporation retains its employees and gives them an incentive to develop their projects further;
Competition – The availability of open-source software forces corporations to constantly improve their commercial products for similar purposes.
Disadvantages of open source software
Plagiarism. Commercial developers can cash in on an "open" product by using its source code for their projects with little to no attribution. Thus, in fact, someone else's software is passed off as one's own and sold at significant prices.
Reduced support. The developer of an open source program often does not know that it is used in other projects, and therefore cannot provide adequate support for its development. Also, many open source creators quickly lose interest in their work without receiving a financial incentive.
Vulnerability. Many open source projects are based on products from other vendors. Often, developers don't communicate with each other, which ultimately leads to vulnerabilities that can be exploited by attackers, such as identity theft.
Open Source Examples
Historically, the first software product officially recognized as open source was the Netscape Communicator browser. Originally created on a commercial basis, it began to lose out in the competition with Microsoft's Internet Explorer, which forced its developers to open source the program. Subsequently, the open-source Mozilla Firefox was also developed on the basis of this browser.
Other well-known examples of free software are:
OpenOffice is a text editor similar in function and interface to the paid Microsoft Office suite;
GIMP graphic editor, the capabilities of which are not inferior to the functionality of paid Adobe Photoshop;
WordPress is a content management system used in blogging sites and news resources;
Android is a mobile operating system for smartphones and tablets that is installed on more than 2.5 billion devices today;
Linux (GNU/Linux) is a desktop operating system that is popular with developers, system administrators, and other IT professionals due to its openness.
Today, the open source software market is growing steadily, successfully competing with proprietary programs. Open source gives users a legitimate opportunity to use quality products absolutely free of charge or for a relatively small fee. This is especially true for countries with strict intellectual property and copyright laws.