What is Open Source, and what is it eaten with in our time
In 2021, the Russian authorities again drew attention to Open Source. They talked about him at SPIEF, an Open Source development strategy is being prepared. In a word, something moved, touched and drove. To understand where and why, you need to carefully understand the question - what is Open Source and what is it "eaten." In this article, the author tried to give the most detailed, informative and justified answer to this complex and relevant question.
Content |
Question of definitions
Let's start with definitions, not chronology, to first understand what the subject matter is.
There are two close, but different concepts - Open Source Software (OSS) or Free Software (ACT). Sometimes they are combined in the concept of FOSS - Free & Open Source Software, or even FLOSS (the word "Libre" is added to emphasize that "Free" is not free, but free). Behind the two concepts are two different public organizations - Free Software Fondation (FSF) and Open Source Initiative (OSI). In Russian texts, OSS is sometimes translated as GPO (open source software), but in this article we will do without this unscrupulous translation.
The famous programmer and ideologist of the ACT Richard Stallman founded FSF in 1985, and defined the ACT as providing 4 basic "freedoms," with a modern version of which[1]on the FSF website. For the American reader, this echoes the famous speech of F. Roosevelt (1941) about four freedoms (speech, religion, from want, from fear), which later formed the basis of the Universal Declaration of Human Rights adopted by the UN in 1948. Software that is not free, FSF calls proprietary (proprietary).
In Russia the definition of SPO is officially given[2]a translation into Russian of Stallman's four basic freedoms, namely (hereinafter quoted from GOST): ... Software distributed under a simple (non-exclusive) license that allows the user to:
- use the computer program for any purpose not prohibited by law;
- Access the source texts (codes) of the program both for the purpose of study and adaptation, and for the purpose of processing the program for computers; Distribute the programme (free of charge or for a fee at its discretion);
- make changes to the computer program (recycle) and distribute copies of the modified (redesigned) program taking into account possible requirements of license inheritance;
- In some cases, distribute the modified computer program by the user under conditions identical to those on which the original program is provided.
Several dozen public licenses have been developed, the most popular of which are GPL, LGPL, BSD, MIT, Apache[3].
The new word is the SSPL[4]which was a response to the spread of the cloud model of access to software.
Open Source Initiative - an NGO founded in 1991 by Eric Raymond, a famous programmer, author of the famous article "Cathedral and Bazaar"[5]which ceased cooperation with the too authoritarian and radical Stallman.
In fairness, the founders of the ACT/OSS movement often held radical political views - anarchism, property denial, etc., and tried to translate their views into concepts of software distribution and work on it. However, in our time, the era of pragmatism has come in FOSS, and the fervor of socio-political radicals has been replaced by economic calculation and considerations about business efficiency.
In the definition that OSI gives Open Source, there are as many as 10 points that can be found on the OSI[6] Definition website[7]meaning[8] which is in the absence of restrictions on the distribution of source codes. There is no analogue in domestic standards.
Since most popular public licenses meet both ACT and OSS requirements, people often confuse these concepts. However, this is not the same. Stallman explains the difference in the article[9]the differences are more philosophical than practical, and in most cases we are talking about the same software. But when we talk about him as an ACT, we mean the philosophical side - how much it provides fundamental freedoms. When we talk about it as Open Source, we are primarily interested in pragmatic things - a model for developing and distributing this software, its suitability for solving specific problems, its application in business, etc.
How did Open Source arise?
At the beginning of the computer era, no one thought about selling programs and hiding source code. In the 1950s and 1960s, computers were manufactured by large companies, like, IBM users were primarily scientific organizations, state agencies and the largest corporations. Computer users developed programs themselves and exchanged source codes. The culture of free exchange ON exists about as long as computers exist.
In 1969, IBM began selling software separately from computers. In the second half of the 70s - early 80s, software was recognized in the United States as an object of copyright. Relevant legislation and jurisprudence arose, the concept of a license for the use of software arose, which can be sold and bought.
In parallel, open source software was also developed. In 1969, Ken Thompson and Dennis Ritchie of Bell Labs created the first version of the UNICS free operating system. They did it for themselves and their colleagues. In 1973, the operating system was published under the name UNIX and distributed at the cost of media, mainly in the scientific environment. Then the first distribution of the free operating system arose - BSD (Berkeley Software Distribution), containing the UNIX system itself and a number of useful utilities. Then Bell Labs closed the UNIX code and raised prices. Clones of this operating system have begun to occur. Scientists liked the free exchange of program code, and in their midst the idea of Open Source, although not designed in any way, continued to live and mature.
In 1988, MIT and Berkeley universities published their Open Source licenses. In 1989, Richard Stallman's FSF published its "contagious" GPL license.
At the turn of the 1980s and 1990s, the Internet was born, which radically increased the ability to exchange information, including software codes. He also dramatically increased the need for new programs, expanding the scope of computer applications. In 1991, Finnish student Linus Torvalds created the first version of the new Linux operating system, which is destined to turn the world around and become the banner of the ACT and Open Source. The 90s were a time of growth in OSS due to the advent of the Internet. In 1991, Larry Wall released the 4th version of his Perl language, which began to gain popularity as a universal programming tool . In 1993, a free operating system was released. FreeBSD In 1995, Michael Stonebreaker opened the Postgres DBMS code.
In the 1990s and early 2000s, OSS was developed mainly by scientists and Internet companies (such as Yahoo, Rambler, Google, etc.). As for programmers in the 1960s, for them this software was a by-product that helped solve their main problems. There was a situation where various companies, including competing ones, were interested in the development of this software, while none of them were interested in its sale.
Therefore, in the early 2000s, OSS tightly occupied the servers of Internet companies and universities, while Microsoft Windows reigned on the PC.
But already in 1998, Microsoft felt a threat from OSS to its market. This is clearly stated by the so-called Halloween documents[10]which became public through the leak of information. In 2003-2007, Microsoft ran the advertising company Get The Facts, in which, manipulating numbers and facts, stated that Linux is in all respects worse than Windows. The head of this company, Steve Ballmer, openly called OSS a "cancer."
Meanwhile, Apple abandoned the kernel of its own development operating system and began to develop OS for its BSD-based PCs. Google began developing a next-generation OS for mobile devices - Android - based on Linux (released in 2008). In the same year, the Postgres community began to actively declare that PostgreSQL is ready for use in the Enterprise sector due to the general maturity of the product, the ability to replicate and organize failover clusters, and, of course, full-fledged work under Windows.
The story ends and our time begins
By 2021, the landscape had changed in an interesting way:
- Open Source and commercial software are no longer two different warring camps, but two development methods that complement each other and occupy their niches, determined by the suitability of these methods for solving problems of different classes.
- OSS is already being developed not only by individual enthusiasts, but primarily by large companies that implement their plans for their own interests. For example, the main contributors Linux now are (Microsoft oddly enough),,, and Red Hat Google Huawei other giants. This process is due to the fact that corporations and governments have become OSS consumers, and their needs can only be met by developers of an appropriate scale. The second decade of the 21st century was a parade of "cuming outs" of companies that declared that they use, and significantly, OSS.
- The complexity of the largest OSS products has reached such a level that the publication of source data in itself does not mean complete openness. To engage in the development of something based on these sources, it takes huge time and labor costs. It is not easy to understand tens of millions of lines without any design documentation (not only its publication, but even its presence, Open Source principles do not require). Sometimes - almost impossible, given that the product continues to develop and the code changes. The concept of Open Design in relation to program code has not yet been born - when not only the codes themselves are open, but also documents explaining the internal device of the system are necessarily present and also open.
The way the founding idealists Stallman, Raymond and others saw OSS and ACT is no longer entirely applicable in our time.
In addition, there is a new, cloud-based software usage model. In this case, there is no replication of the software (users do not receive copies), in this regard they are deprived of the opportunity to study and modify the sources (this is the basis for the development of OSS, despite the fact that the percentage of users who used these opportunities is small).
The classic Open Source, in which some users pay for the product with their contribution to its development, does not work in the clouds. Therefore, many Open Source figures noticed a threat in the clouds, thanks to this, the SSPL license [5] arose, under which Mongo DB has been distributed since 2018, and from 2021. Elasticsearch SSPL is more "contagious" than the GPL, since it requires someone who uses the product to provide any service to fully open the source codes of absolutely all the software used in the service. The entire service is infected. In a sense, this is a logical extension of the GPL in case of clouds, but nevertheless, OSI and FSF did not recognize this license. It seems that the sources are open, but this is not Open Source. And not the ACT.
Convergence of Open Source and Commercial Software
The classic Open Source is characterized by a Developer-driven development model, in which the main source of development is the ideas of the developers. Naturally, it is difficult for the developer to take the position of the end user if this user is not a competent IT specialist. And there is no institute of analysts building bridges between users and developers in the classic Open Source. This is not surprising: Open Source originated spontaneously, people wrote programs that they themselves need.
The main principles of the Developer-driven approach are:
- "Users don't know what they want"
- "We know better what they need"
- "Because we ourselves are the best users"
In contrast to this approach, companies are developing alternative approaches to meet the needs of users, trying to guess or even create these needs. Signals characterizing this approach:
- "Make me like a neighbor"
- "And well, quickly satisfied the client!"
- "Why do they not do what we want again!"
Both approaches have their pros and cons. But it is important to understand that everything great in IT was created thanks to the ideas of developers. Companies that develop commercial software based on Open Source have the ability to effectively combine both approaches.
If you consider the evolution of communities developing large Open Source projects, you can usually notice three stages:
- Individual developers (enthusiasts) develop software for themselves and similar;
- Developers hired by companies using OSS develop software based on the interests of these companies;
- There are specialized companies that develop and commercialize OSS.
The basic principles of OSS and ACT were formulated at the first stage, and now the most famous and common products have already reached the third.
Is Open Source good for any application?
If you look at examples of successful applications of Open Source, these will be primarily products related to system software - operating systems, DBMS, virtualization tools, Web servers, compilers and interpreters of languages, system libraries, etc. OSS office LibreOffice, which, however, comes from a StarOffice created by Sun Microsystems, can be considered relatively successful . Oracle, a year after Sun's takeover, stopped developing the office, and he gradually began his own life.
Finding a successful Open Source project like accounting, ERP system, CAD/CAM system is quite difficult. There is something like that, but it is very inferior to its commercial brethren.
So, Open Source is good for system software, and noticeably less efficient for application software. The reasons for this are likely to be:
- The system software is not intended for end users. It can be developed by programmers "for themselves and for themselves like that."
- System software needs a very large number of people. Among them there are enough developers to make their overall work sufficient to create a product.
- System software is very knowledge-intensive and time-consuming, the development cycle is long. It is beneficial for individual companies to join forces to create general-purpose products or components on the basis of which they will solve their tasks.
- The development of system software is often associated with the implementation of new scientific and technical ideas, so it is close to academic communities, and difficult for corporations.
Open Source and States
Since 1999, the visionary Chinese have developed their Linux distribution called RedFlag. But then Linux was immature, and China's capabilities were much less than now. It was not possible to transfer the entire country to RedFlag, and the project was closed[11]However, having met with US sanctions, China decided to strengthen its technological independence and again began to actively develop OSS[12]
In 2003, the Munich City Council, seeing the suffering of Windows NT4 users, decided to switch to OSS[13] took 10 years. Many cited the Munich project as an example of OSS success. However, the suffering of users has only increased. The problem is that user OSS at that time was not mature enough. The server software could be translated, and this did not cause problems. Therefore, I had to move back to Windows, which was perceived by many as an epic failure of OSS. At the beginning of 2020, Munich again announced its intention to move towards OSS, but[14] is already more careful//There[15] the Gartner Hype Cycle, doesn't it?
In 2012, French Prime Minister Jean-Marc Airault distributed a circular letter[16], in which he invited French ministries and departments to switch to Open Source. For several years this was done. The largest systems, including tax and pension, the Ministry of Internal Affairs, customs and others were transferred to OSS - Linux, Postgres, etc. At the same time, the share of OSS in business increased - including thanks to the competence gained at the expense of the government program.
At the end of 2010, when Vladimir Putin was Prime Minister, the Russian government adopted a plan for the transition of state authorities and federal budget institutions to the ACT for 2011-2015[17], but this plan was not implemented. The analysis of the reasons for non-compliance was not published, but, obviously, in Russia there were not enough companies capable of taking responsibility for the functioning of the ACT in the state. The maturity of the ACT products itself was inferior to the modern one, but the example of France shows that with a thoughtful approach and the proper competence in the country, the task could be solved at least partially.
When the process of transition of state bodies to domestic software began in Russia and since 2016 the Unified Register of Russian Software began to be filled [18], it turned out that system Russian software is almost completely products based on international OSS projects.
On September 6, 2018, the Ministry of Digital Affairs published on its website an article "ACT in state bodies"[19]which provides a number of interesting theses that we will consider to illustrate important features and popular misconceptions.
- First of all, the ACT is identified with the OSS, which is not entirely correct.
- Imaginary free ACT. The absence of royalties does not mean free of charge. In reality, the need to purchase technical support, the costs of adapting and operating software, retraining personnel are expenses that are often neglected, relying on the free ACT. Recall Stallman's words: Free Software is not Free as beer, but Free as speach.
- Perceived greater safety of the ACT. Openness is often seen as a guarantee that there are no vulnerabilities. Eric Raymond formulated the "Linus Law" as "Given enough eyeballs, all bugs are shallow," that is, with a sufficient number of eyes, all the bugs on the surface. Alas, this was not so. Probably, such a "law" works only for fairly simple software. There were many errors in the ACT, including[20], for example,[21]. A group of researchers from University of Minnesota decided to test the "Linus Law," deliberately passing into the core of the vulnerability system, which turned out to be undetected until scientists hackers confessed to the deed of[22] in the ACT were difficult to look for, especially if it was developed by others. Domestic developers will be helped in this by the FSTEK, created ISP RAS jointly FSTEC with the non-profit Linux Security Research Center[23]
- "The ACT is easy to adapt: the large number of available free applications allows them to adapt to the specific needs of users and create new necessary programs based on them." Unfortunately, the ACT does not adapt itself. Unlike commercial software, whose vendors provide users with ready-made solutions, the ACT is a set of individual elements that can be linked to the finished solution. This requires certain, and considerable, labor costs, and in general higher qualifications from those who implement the ACT.
- "The use of the ACT takes into account national interests. Despite the fact that the creation of free programs is inseparable from the global community of developers, services for their adaptation, implementation, support and development are usually provided by national firms, which is more beneficial to the state and society. " This is only partly true. It is more correct to say that the development of the ACT is in accordance with national interests. The fact is that without a deep understanding of the internal device of the product, which can be obtained only during its development, it is impossible to provide the above-mentioned services, including technical support (which includes, incidentally, correcting errors and vulnerabilities, see above about how easy it is to find them). Without the development of the ACT and relevant competencies, we will replace the sewing with cheaper (but rather dumb) soap: instead of depending on foreign corporations that can guarantee at least something, we will get dependence on international communities that explicitly refuse guarantees.
2021 Boom
The boom is long overdue and matured gradually, since the most fundamental domestic ON - operating systems - is based on Linux Open Source.
On February 10, 2021, the Vedomosti newspaper reported[24]Ministry of Digital Affairs is preparing a draft resolution changing the conditions for getting into the register of domestic software, according to which Russian developers will not need to confirm the "significant revision" of a freely distributed open source software product . In other words, the way is open to the Register and further to public procurement for masters of sticking their nameplates to free products. Perhaps this did not correspond to the true intentions of the ministry, but caused some concern in the industry.
At the end of May 2021, Andrei Vanin, a member of the Supervisory Board of the RFRIT Foundation, one of the leading state development institutions, told[25]that Open Source as a promising direction in IT will be given special attention.
In early June, a discussion was held at SPIEF on the topic "Open Source in Russia: be or not be," at which Deputy Minister of Digital Development Maxim Parshin announced the need for Russia to adopt an Open Source[26] strategy[27]This strategy is currently being prepared by the ministry with the involvement of experts from the industry.
Why Open Source to the Russian state?
Open Source is an obvious global trend in recent decades. His popularity was constantly growing, and now it is no longer possible to shut it under the carpet. Compliance with world trends (better, of course, their advance) is what the domestic industry needs in order to be competitive. In the opinion of the author, we are talking about trying to give our IT tires a kind of kick so that they wake up and run. Of course, in our digital age, the state is interested in a strong IT industry, both in order to solve its problems and to increase competitiveness in the world market, and in order for the country to part with the image of a "gas station with missiles" in the outside world.
And also, Open Source is the way to modernize IT education (but this is a topic for a separate article).
Nowadays, Open Source is no longer an ideology. This is primarily a way in which companies solve common problems that they find difficult (not profitable) to solve alone. In itself, the public openness of the sources is no longer so important (there is little to get the sources, you still need to be able to use them). Closed consortia can solve a similar problem. But Open Source is a global community that has arisen in general spontaneously, and solving, among other things, such issues that individual companies would never have reached. This is a complex socio-economic phenomenon that is still to be studied and analyzed. However, the importance of Open Source in the agenda of the modern world is beyond question. A time passed when he was not taken seriously, he was laughed at, he was feared and tried to destroy.
But, doing Open Source in Russia and planting it everywhere, it is important for the state not to cross the "stick." Communities still stop working when managers or states try to manage them. I would not want Open Source to start making a "cure for everything," or new "nanotechnologies." It is hoped that this will be avoided. The publication of the Open Source Support Strategy Draft and its discussion, expected in the fall of 2021, will show a lot.
The author is Ivan Panchenko.
Notes
- ↑ the Free Software Foundation//What is Free Software? available
- ↑ by state standard specification P 54593-2011 GOST P 54593-2011 Information technologies. Free software. General provisions.. This is
- ↑ Licenses and Standards
- ↑ Server Side Public License (SSPL).,
- ↑ Eric S. Raymond//The Cathedral & the Bazaar: O'Reilly Media, Inc. (Feb 2001) ISBN: 9780596001087,
- ↑ [https://opensource.org/osd Open Source
- ↑ , the ]
- ↑ of
- ↑ R.Stallman//Why Open Source Misses the Point of Free Software,
- ↑ Eric Raymond//The Halloween Documents,
- ↑ by China closed the Red Flag Linux project: OpenNet, 15.02.2014.
- ↑ E.Kasmi//China urgently creates a "national OS." What it will be like: CNews, 12.12.2019.
- ↑ A. Alizar//How Munich translated 15,000 PCs from Windows to Linux: Habr, 12.05.2014. The project
- ↑ [https://www.cnews.ru/news/top/2020-05-14_vlasti_myunhena_hotyat_promenyat Elyas Kasmi
- ↑ , here, back. Munich in the third round changes Microsoft software to ACT: CNews, 15.05.2020. ]Reminds
- ↑ PostgreSQL in France - a story in two letters (original documents with Russian translation by I.V. Oreshina)
- ↑ Decree of the Government of the Russian Federation No. 2299-r from 17.12.2010
- ↑ out. The Unified Register of Russian Software
- ↑ Free software in state bodies: Ministry of Digital Affairs of the Russian Federation, 6.09.2018
- ↑ critical List of known vulnerabilities of the Linux kernel
- ↑ recent: Root-vulnerability in the Linux kernel and denial of service in systemd: OpenNet, 21.07.2021
- ↑ Elyas Kasmi//Major Linux developer expelled from the community for mocking user experiments: CNews, 22.04.2021. Vulnerabilities
- ↑ , creates a Linux security research center for 300 million rubles: Tadviser.
- ↑ E. Kinyakina//Russian software will be diluted with foreign ones. Vedomosti, 10.02.2021 that the
- ↑ the RFRIT to expand its activities: The RFRIT website 24.05.2021
- ↑ [https://forumspb.com/programme/business-programme/91475/ Open Source development
- ↑ in Russia: be or not be?: SPIEF 2021. ]