On September 27, 1983, Richard Stallman posted a message on the Usenet group net.usoft entitled "a new implementation of Unix." He wrote:
"After Thanksgiving, I begin writing a complete Unix-compatible system called GNU (short for Gnu's Not Unix) and make it freely available to anyone who can use it. I need support with work, money, programs and hardware.
...
Why should I create GNU
I believe that the golden rule requires that if I like a program, then I should share it with other people who also like it. I cannot in good conscience sign a non-disclosure agreement or software license.
So that I could continue to use computers without violating my beliefs, I decided to collect a set of free programs sufficient to enable me to do without any program that is not free."
This was the beginning of the free software movement as we know it today. It has acquired enormous proportions; Its active members number in the hundreds of thousands, and there is a thriving business around free software that is worth billions of dollars.
The community's best-known product, Linux, is one of the most widely used operating systems. The issue of switching from proprietary software (hereinafter referred to as software), primarily Microsoft software, to free software is being discussed at the government level. The free software community continues to grow rapidly. Unlike most idealistic endeavors of this kind, it is a success, so great that even opponents of the idea cannot ignore it.
From time to time, debate arises about what would have happened if Stallman had not put forward his initiative. Most likely, those who claim that free software would still develop in one form or another are right. But in my opinion, it is undeniable that it was Stallman's work that shaped the open source community in its current form.
Instead of trying to "capture the vastness," I want to focus on one side of the story: the method Stallman used to achieve his goal. As far as I can tell, this method has no analogues. Namely: Stallman soon created a non-profit organization - the Free Software Foundation, the purpose of which was to implement his program.
Secondly, he outlined his position in the GNU Manifesto (Russian translation here ). Third (and most importantly), the Free Software Foundation published the GNU General License Public .
Of course, Stallman and his associates were engaged in writing free software and promoting their views in “traditional” ways. All this was necessary for the success of the business, however, in my opinion, it was the GPL that was the defining and vital tool at the initial stage of the development of the community.
Stallman's goal is idealistic - "My work on free software has an idealistic goal: to promote the spread of freedom and cooperation. I want to encourage the spread of free software instead of proprietary software based on the prohibition of cooperation, and thereby make our society a better place" (see "Copyleft" : pragmatic idealism" , I must note that Stallman certainly achieved this goal). The tactics used for this, however, are very thoughtful and pragmatic. The GPL is not some kind of party charter or program. This is exactly a software license. Once attached to a program, it becomes legally binding on any user of the program (more precisely, the requirements of the GPL come into force as soon as the user decides to transfer the program to someone else).
The GPL is intended to encourage the creation of new free software and improvements to existing ones, while at the same time preventing the removal of free code into a "private" domain. An important feature of the GPL is that using the GPL does not require agreement with Stallman's ideology (which is quite radical - Stallman apparently does not accept any software business based on the exploitation of the restrictions provided by copyright). In practice, most programmers who do not share the rather radical position of FSF, and even many commercial enterprises, find it a convenient tool for achieving their goals. On the other hand, the GPL is generally considered an acceptable tool by those who would not like their contributions to be "made money." This is not a random feature. The GPL is intentionally designed to be acceptable to as many people as possible.
How does the GPL work? As stated above, the GPL serves several purposes; one of them is to protect free software from “privatization” and being stolen into proprietary commercial products 1 . In addition to solving a tactical problem, this also has a motivating effect - people are usually more willing to invest their energy in a more or less altruistic endeavor if they have guarantees that it will actually benefit society and not fill the pockets of the most cunning businessmen.
Second, the GPL is designed to allow all those ways of making money from free software that benefit the open source community, or at least do not harm it. 2 In my opinion, this is a very unusual point, and I would like to draw attention to it. As a rule, mixing philanthropy with business is feared like hell, and those who do so are usually right. The desire to earn money can very quickly distort the goals of altruistic activity and bring it to a sad end (as a side effect, once again discrediting the idea itself).
All the more interesting is the case when material interest was used as an incentive to attract to cooperation those for whom the moral incentive is insufficient - people and corporations who are completely indifferent to the idea itself, and at the same time avoid the associated dangers.
The technical details can be found in the GPL itself, Pragmatic Idealism and the GNU Manifesto, but in short the GPL can be boiled down to just two things:
You have the right to use as you wish (including modify and distribute) the code under the GPL, subject to the following conditions:
In addition, free software is often useful when companies or research organizations need to modify a program for certain purposes. For example, add support for a new architecture to the GNU C compiler (I myself had to do this a couple of times) or try out some new algorithms for research purposes.
Free software is almost impossible to replace with anything else, because commercial software with a license that allows this kind of interference is quite rare, and the price of such a license is usually such that it is beyond what is acceptable for most projects. I want to note that for this motive to work, it was necessary to do a lot of work to create such an array of free software that would have a fairly large value (for the sake of the right to remake several small programs for their own purposes, corporations would not change their usual policy). Much of this work was done within the FSF.
In themselves, such work on modifying free software is carried out for mercantile reasons and is financed from the budget of relevant projects or grants. After the main task is solved, the question arises of what to do with these modifications in addition to using them for their intended purpose. The GPL does not require their publication, but since it eliminates the main motive for “holding” them, they are often published (the usual motive of most administrators is “maybe someone will be able to sell” - they almost never succeed in selling, but the desire to hold turns out to be great). Most of them are unclaimed in this case, but a number of changes that seem valuable to the community are included in the product on a “permanent” basis.
The commercial benefits of collaborating with the open source community go beyond these reasons, but I don't want to go into detail here. It's good to note that there have been significant changes in the morale of the software industry over the past decade, driven by the development of free software, and such contributions are now viewed much more positively, which in itself encourages companies to disclose their texts in cases where they have no compelling reason not to. do. The “dog in the manger” reflex, although it did not disappear completely, was noticeably weakened.
It is interesting to note two points: firstly, computer giants like IBM quickly got used to free software, military departments and governments of various countries also quickly appreciated the opportunities provided to them. On the other hand, the traditions of the hacker community began in the 60s in academia, which was funded by large corporations and the military, and directly in large corporations such as AT&T. This seems natural to me - large capital and state structures are a suitable environment for the development of “communist” relationships within them. They are large enough to benefit from the reduction in intrasystem costs resulting from the removal of artificial barriers to information exchange. Lost revenues from “trading information” are more than compensated for by increasing the overall efficiency of their activities. Medium and small computer businesses turn out to be much more tied to the “proprietary” model of doing business.
Secondly, despite fairly good internal coordination and even a certain political influence (the community's lobbying activities are quite effective), the free software community is not an organization in the usual sense of the word - it lacks any formal organizational structures. All issues are resolved as if “by themselves”. It would be inappropriate for this post to go into detail, and I simply refer those interested to Eric Raymond's articles (see list of related links).
In conclusion, I want to note that, in my opinion, the importance of free software goes beyond the computer industry: we are dealing with a dynamically developing informal community, the scale of which is significant for one of the most important sectors of the modern economy. This community has existed for 20 years and still does not detect negative trends in its development. By its very existence, it refutes the popular thesis that the only possible effective economic system is a market system. Being based on the limitation of property rights (in fact, on the abolition within the community of the currently fashionable concept of “intellectual property”), it makes it undeniable that private property is an institution that always best contributes to the growth of the well-being of society.
In my opinion, it is this, and not tens of millions of lines of program code, that is the main result of the activities of programmers involved in the development of free software - they managed in our mercantile world to rehabilitate the values of cooperation and joint activity for the common good and truly “ make our society better .”
Related links:
A Brief History of Hackerdom ( Russian translation ) - an overview of the history of hackers (hackers here refer to people who write programs because they enjoy doing it, which is the original meaning of the word).
Free Software Foundation texts ( a page with Russian translations of some texts, another page with translations).
Some texts from there:
Eric Raymond's notes on open source community analysis:Cathedral and bazaar ( "Cathedral and Bazaar" ) - an article devoted mainly to some technological issues of free text programming. But besides this, it contains a description of a real example of developing a free program. This is perhaps one of the best texts for understanding how free software is actually written.
Steven Levy. "Hackers" is the history of the hacker community until 1984 (the year the book was published). A most fascinating book - read in one breath - and without the slightest sign of "cranberries". Unfortunately, it has not yet been published in Russian.
NOTES
1) Simply declaring a program's code "public domain" does not solve this problem. Unlike books, programs require constant modification, and any such modification makes the resulting program the private property of the author of the change.
The fact that the author will not demand money or prevent the distribution of the code (and probably does not even think about this possibility) does not change the situation - the fundamental thing here is that he automatically has such a right and may want to exercise it at any time.
If such a program begins to displace free versions (and this does not require a significant contribution to development, it is enough, for example, simply that the program will support new versions of the hardware), then the temptation to exercise this right may be too strong.
Another case is when free software overlaps with some patent. The patent holder may then try to use the patent to prevent others from using the program as free, thereby effectively taking ownership of it. Even if the patent is successfully challenged in court, it will be a costly and time-consuming undertaking, and the mere threat of litigation with an uncertain outcome may be enough to discourage others from continuing to work on the program (which, again, leads to the privatization of all code ).
If there is an intention to hijack a particular free program, more sophisticated and effective strategies are possible.
The GPL prohibits this practice - any program containing code placed under the GPL must also be placed under the GPL. Any use in violation of this condition is unlawful. As is easy to see, this eliminates the first of the abuses, and although it leaves the possibility of filing claims for patent infringement, it excludes the possibility of deriving any significant benefit from this. A patent can destroy a free program (in reality, force the community to modify it in such a way as to circumvent the patent), but it does not provide an opportunity to get paid for it.
Unfortunately, all this is not abstract “horror stories” (there were quite a lot of precedents of this kind). Right now the company SCO (formerly called Caldera) is trying to appropriate the rights to Linux (and not only to it) on very dubious grounds. Ironically, Caldera at one time emerged precisely as an Open Source company making money from free software, and its main opponent in the current conflict is IBM, which until recently evoked approximately the same associations in the computer world as Microsoft now does. and is notorious for actively resorting to patent blackmail on occasion.
In this case, IBM acts as one of the significant sponsors and contributors to Linux and filed a counterclaim against SCO, accusing SCO of violating the GPL (and, for good measure, several of its patents). The cost of the issue here is very high - SCO's claims and the uncertainty caused by them have already caused significant damage to the Linux-related business (several lawsuits have been brought against SCO in this regard), the capitalization of SCO itself exceeds $100 million, and if SCO loses the case against IBM, all claims against it will be almost automatically decided in favor of the plaintiffs. And SCO in this case will most likely cease to exist. If SCO wins the case (which is unlikely), it will get its hands on assets worth billions of dollars.
2) Of course, as in any other case of formal legislation, there may be cases where the letter of the GPL conflicts with its spirit. This, unfortunately, is an inevitable cost of this method.
3) This is an important point that is very often misunderstood: You are not obligated to distribute your changes to GPL code - the terms of the GPL come into force only if you have this intention. restrictions on you As long as you don't redistribute the code, the GPL doesn't impose any .
4) For those who are surprised by the opportunity to make money by selling something that you can get for free, I can remind you that pirated CD dealers successfully make money by duplicating something that anyone, with some effort, can copy themselves, and publishers make good money from publishing books that have long since entered the public domain.
In cases where free software is distributed in this way, this activity is completely legal - it is simply not the right to use the program that is being sold, but the service of copying it. Free software does not have to be free at all - for example, no one is obliged to provide you with a Linux distribution for free (and the seller has the right to charge you any price). However, the fact that it cannot prevent you from getting it from anyone else who is willing to give it to you, nor can it prevent you from distributing it further, makes the price either very low or even zero (most free software is available on the Internet, and the only cost when receiving it is payment for Internet access).
The Free Software Foundation's views on this issue are outlined in more detail in the article "Selling Free Software."