Раздел форума:
Коммунизм и программное обеспечение - The Free Software Movement
Утопический коммунизм оказался в области программного обеспечения. Движение свободных программ (Free Software Movement) пытается сделать все программное обеспечение бесплатным и открытым, что почти полностью исключит инвестирование капитала в развитие программ и приведет к тому что разработкой ПО будут заниматься добровольцы или государство.
Существует опасность, что некоторые государства все же начнут использовать GPL как основную лицензию, что является ошибочной тактикой, которая приведет к негативным последствиям.
Использование выражения "свободная лицензия" по-отношению к GPL является как минимум не логичным.
ОПРЕДЕЛЕНИЕ:
Свободная лицензия - это такая лицензия, которая не имеет ограничений.
Пример - BSD.
GPL имеет ограничение. Эта лицензия принуждает под угрозой судебной расправы открывать полный исходный код программы, в которой используется хотя бы малая часть кода, выпущенного под этой лицензией. Имея хотя бы одно ограничение, лицензия не может называться свободной.
Следовательно GPL это "не свободная" лицензия.
Товарищ Столлман играет на тонкостях психологии человека и повсеместно использует выражение FREE, хотя реальной свободы в лицензии GPL - нет. Если он делает это намеренно и логично осознает, то его можно смело назвать обыкновенным обманщиком и спекулянтом.
---------------------------------
Introduction to Open Source
First, an introduction. The Open Source Movement is a broad social movement among software developers to produce software where the source code (the human readable - one hopes - form of the software) is available to the users, and can be modified by future users. Source code is the human produced element of software. Today, most proprietary software is provided as "binaries" or "object code" - which is a very cryptic form of the software generated by computers from the source code.
In general, Open Source provides a way for volunteer programmers to produce software that everyone can use - without the cost of marketing or even corporate structure. In some special cases (see below), profit-oriented companies also contribute open source software.
Advantages of Open Source
Open source has many good attributes. Sophisticated users of proprietary software (a small minority) are limited by not having access to the source code. Access provides the ability to diagnose and fix bugs and installation programs, and to understand the software. True Open Source also provides cross-fertilization as those who modify the software are required to contribute their changes back to the community if they distribute the software. There are number of other positive aspects that come from the Open Source community.
Disadvantages of Open Source
Open source as a general principle has only a few disadvantages.
One is that it may force revelation trade secrets that have significant value, thus inhibiting investment in using those trade secrets with such a license.
Open source results in a limited range and poor packaging of software. Open source producers only work on their interests, and the interests of programmers cover only a small part of the software arena. Furthermore, the ecology of open source overemphasizes coding to the detriment of documentation, installability, and understandability.
Open source may compromise security - although this is a matter of dispute: security experts often argue that "security through obscurity" does not add security, and open software proponents argue (often correctly) that having the source open means that security holes are more likely to be found *before* they are exploited, as more people are reading the code. However, the "security through obscurity" argument is flawed. It is really meant to counter the lazy belief that obscurity is sufficient to provide security, and to cause folks to realize that cryptographic algorithms are strongest if they have been exposed to open review. Real-world security usually combines obscurity and other techniques.
Some Good Results from Free Software and Open Source
The Free Software movement (a subset of the Open Source Movement), started by Richard Stallman, has produced some remarkably good results. The Linux operating system is the most well known example. The Apache web server is the most popular web server in the commercial web world. What could be wrong with such results?
GPL, on the other hand, is Often Bad
However, the Free Software movement strongly advocates the GPL license (one form of open source - see below), which is strongly anti-capitalist. They have an additional goal, enforced in the license: software should be free (no cost and no trade secrets or proprietary code).
GPL License
One of the most common forms of Open Source software is that produced with the GNU Public License (GPL). The GNU Public License requires anyone who distributes products based on GPL'ed software to also provide the source code, including any modifications that were made by the distributor. It is a "viral" license in that any code that is GPL'ed will always be GPL'ed, as will any derivative works. In other words, one cannot produce proprietary software under GPL or incorporating any GPL'ed code withouth providing, at no cost, the source code that was created. GPL was the invention of Richard Stallman and is the license under which Linux is released. It is the preferred license of the Free Software movement.
BSD License
Another common form of Open Source software licensing is the BSD (Berkeley) license. A BSD license allows users of the software to either redistribute the source with their modifications, or to keep the source confidential. BSD licensed software is commonly used by for-profit companies such as Microsoft and CISCO.
Note that in both cases, a company can profit from selling hardware that uses the Open Source software, but only in the BSD case can a profit be made directly by improving and then selling the software itself.
It is ironic that the BSD license provides more freedom than the Free Software movement's GNU!
Value of GPL
GPL software has a very useful place in the modern world. It is a form of computer charity to business and individuals, and it also allows a form of collaboration between software creators that leads to genuine creativity. It also provides a training ground for programmers and designers. Of course, the BSD license has these same advantages.
GPL Economy - Charity, Ego, Reputation - but NOT Capitalism
However, the effort to produce GPL software is normally unpaid. Contributors achieve their reward in terms of satisfaction of having contributed (charity), plaudits from users and other contributors (ego), and enhancement of professional reputation (indirect capital gains).
Because GPL strongly limits the rights of those who produce derivative software, it does not allow the power of capitalism to operate in a very useful manner. A company has little reason to invest in software which it is required to release for free to the entire world. Users do not have to pay for it, and competitors can get a running start against the real creator of value. Thus GPL is strongly anti-capitalist in the software world.
GPL Irony - Hardware Makers can Profit, but not Software Makers
GPL does nothing to inhibit hardware manufacturers from taking the donated efforts of the creators and making profits by basing their hardware on the usage of this free software. In fact, one of the largest hardware producers (IBM) does exactly that. IBM advertises its computers, including the largest, as platforms for (GPL'ed) Linux. Thus GPL's goals are anti-capitalist, but the only capitalists injured are those who seek to invest in software as their primary product! This is a truly silly result and is typical of applying utopian ideals to the real world.
Why Companies invest in GPL for their own Capitalistic Benefit
There are companies that invest in GPL'ed software (or software with similar licenses). Sun Microsystem supports the Apache Jakarta project. But Sun has an ulterior, closed-source motive! The Jakarta project provides the reference implementation of an important component which can only be used by Sun's proprietary, closed source Java language! Thus GPL'ed software is being used to support a very closed software environment. This was *not* a goal of GPL, but rather another non-utopian consequence of the real world.
Some companies (most notably Red Hat Software) have a business model that is based on providing services to the GPL world. Thus Red Hat Software contributes to Linux. It makes some money by selling distributions of Red Hat Linux, but anyone can get that software for free, so that profit area is limited. Only those who wish to take advantage of the added value of the documentation, support and a nice box pay for this software. Thus GPL has limited the added value that a software producer can contribute to documentation and packaging.
GPL will Never replace Proprietary Software
In contradiction to its goals, GPL software will never replace a significant portion of proprietary software. The reason is that it relies on either non-monetary rewards to its creators, or special market circumstances (such as the Sun and IBM examples) to pay creators. Thus it relies largely on the charity and vanity of programmers. This model tends to produce some very clever software, but often not very good software packages. Programmers win plaudits for clever software. They don't win plaudits for documentation. Programmers prefer to solve technical problems, rather than the more mundane issues of installation packages or business software. Programmers love to *use* open source because it is free, and programmers can figure out how to install it. Other users would prefer to pay a bit for ease of installation and better documentation.
GPL's assumption that it can replace proprietary software contains an implicit assumption that there is a limit to how many different software programs are required. It is essentially a static assumption - it denies changes in the needs for software.
It also ignores such important but mundane sofware applications, such as credit card processing, insurance processing, inventorying, embedded software (a car computer, a microwave oven controller), process control software, etc. In other words, it tends to focus on either flashy software (e.g. graphics) or infrastructural software (operating systems, web servers, etc). The reason is that this software tends to be the sort that leads to plaudits to the creators, or it supports other profit making entities that will pay for non-proprietary software (see the Sun example again).
The Danger in GPL - Government Funded or Usage of Software
The danger in GPL is the movement to force its adoption by governments. This takes two forms, both cheered by GPL advocates and many open source advocates.
By far the most dangerous movement, currently being highlighted by Microsoft, seeks to force government funded software to be released with the GPL license. This actually *restricts* the use of software compared to the current approach of public domain licensing. It means that government funded software (often the result of academic research - such as the BSD Unix operating system) can never be used in proprietary software.
If this had been the practice over the last 20 years, most of the internet software now in use would need to have been *redeveloped* by private industry, rather than adopted and improved by that industry. This is a clear case where industry (the enemy, after all, of utopian communists) would have to pay for this software, while everyone else would get it for free! It would also likely have inhibited the development of many clever products, including the Routers that form the backbone of the internet (Many Cisco routers use BSD, NOT GPL licensed software).
The other form is the effort to force governments to use *only* GPL'ed software. Some governments have already gone along with this - after all, GPL'ed software is much lower cost. Of course, in the real world governments need to use some software that simply is not available in the GPL world - such as mapping software that is only sold in proprietary form in order to protect valuable proprietary map databases. So these governments are either crippled in some ways, or (as actually happens) they have to keep making exceptions.
Furthermore, the long term effect of this approach is to reduce the capital flow from government into software development, which means that software features of primary value to government will simply not be developed.
Because ultimately governments should be responsible to their constituents, they should make the decisions on what kind of software they wish to buy based on their needs. In many cases, certain kinds of GPL'd or BSD'd or public domain software will in fact be the right case. Also, having governments pay Microsoft's monopoly rents for every desktop is not necessarily in their best interest. But like any utopian movement, the Free Software movement seeks to impose global restrictions.
Страницы
"свобода" в понятии GPL - совсем не означает, что можно свободно хапнуть чужой открытый код и использовать, как захочешь. GPL была создана именно для защиты тех, кто публикует свой код. если вы не публикуете свой код, или не используете GPL-код, никто не разгромит ваш офис и не сожжёт ваш дом, требуя изменить лицензию. но если вы используете чужой GPL-код, будте любезны придерживаться правил. тем более, что многие продукты идут под dual license (пример - MySQL), хотите - берите под GPL, хотите - никто не мешает купить коммерческую лицензию
Где можно купить коммерческую лицензию ядра Linux ?
>рассказывать про "угрозу GPL" - это как сокрушаться, что все стали переводить старушек через дорогу забесплатно
В микромасштабе - вопросов нет, аналогия со старушками принимается.
В макромасштабе - если многие развивающиеся государства и университеты начнут использовать GPL вместо текущего Public Domain Licensing (т.е. абсолютно free), то есть риск что в индустрии производства ПО в некоторой степени механизм свободного рынка заменится моделью плановой экономики. Недостатки такой модели всем известны.
Linux kernel лицензируется по GPL, которая, кстати, не запрещает коммерческой эксплуатации. public domain - это ещё больший "коммунизм", чем GPL, там плоды ваших трудов могут использоваться кем угодно, причём у вас, как у автора, вообще нет никаких прав на свой труд, даже авторских...
The original author of SQLite has dedicated the code to the public domain. Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original SQLite code, either in source code form or as a compiled binary, for any purpose, commerical or non-commerical, and by any means.
SQLite - по-настоящему свободное программное обеспечение.
Точнее, это "коммунизм" без диктатуры. Предоставляет обыкновенную свободу выбора и действий.
настоящей свободы не бывает, либо она приведёт к ситуации, когда все будут использовать тот же SQLLite, а автор будет лапу сосать
2 инкогнито
GPL - не диктатура, это скорее принцип справедливости: если ты взял что-то у нас, верни чем можешь. свобода полная. к тому же есть и ещё более свободная LGPL
Проанализируйте сами: программист который выбирает операционную систему Линукс для своих разработок - просто не в состоянии переписывать заново многие компоненты, и поэтому многие из таких программистов _вынуждены_ выпускать код под лицензией GPL.
Если бы такой программист захотел выбрать второй вариант который гарантирует ваш "принцип справедливости" (не брать что-то у вас и закрыть код), то ему пришлось бы заново переписывать очень многие вещи, потому что платных компонентов очень мало (Trolltech, Borland). А бесплатных и одновременно не GPL - вообще большая редкость для Линукс.
Поэтому GPL, в сложившейся ситуации более напоминает диктатуру.
Например под Windows - большинство необходимых компонентов уже готовы для бесплатного использования в закрытых программах (тот же DirectX или ADO), в крайнем случае некоторые библиотеки можно докупить.
P.S. Если дискуссия продолжится - буду только уточнять мнения. Ибо не хочу спорить в принципе - ибо моя точка зрения одна, жизнь диктует другое, а жить надо. Пример - я многое использую из Линукса.
НО. После вольного перевода на Free Pascal...
Да, Windows стоит дорого и поэтому в Беларуси, Украине, России, Китае, и даже Индии - развит пиратский рынок. Согласен с тем, что политика монополии очень не справедлива по-отношению к слаборазвитым странам.
Но тем не менее, если неожиданно разработка индийских или русских программистов окажется успешной, купить одну лицензионную версию Windows - не составит большой проблемы.
Используя GPL - во многих случаях особенно когда требуются сторонние компоненты, успех уже сразу ограничивается рамками, причем не денежными. В практике это означает тупик.
Прибыль от software под GPL в основном получают спекулянты которые владеют каналами дистрибуции (типа RedHat, IBM и Novell). Это как раз тот вид бизнеса в котором разработчик лишается прав (как основной получатель прибыли от своего труда).
покурите пожалуйста матчасть. под Linux никто не запрещает разрабатывать коммерческий и даже закрытый софт. Более того, многие библиотеки идут под LGPL, то есть их можно линковать к проприетарному софту. разработчик обязан выпускать код под GPL только если он вносит изменения в GPL-софт и распространяет его как свой продукт.
что касается "бесплатности" DirectX/ADO/IE - это чисто коммерческий ход, вы их покупаете вместе с Windows
А в чем по вашему заключается логика программиста, который бесцельно теряет свое время на написание кода под GPL ? По умолчанию - используя или дополняя другие GPL программы ?
Если бы использовалась лицензия BSD для создания отдельного проекта - как минимум завоевал бы уважение и потрясающую саморекламу. А в случае GPL - такая деятельность у очень многих работодателей и девелоперов кроме презрения ничего не вызывает.
2Патологоанатом
Я с вами абсолютно согласен, только речь шла не об этом. Имелось в виду то, что разрабатывать коммерческий или бесплатный закрытый софт под Windows - гораздо проще чем под Линукс, потому что на платформе Microsoft для возможности _закрыть код_ созданы более благоприятные условия.
Впрочем, многое становится понятным, если заглянуть на главную страницу цитирумого блого. В красном углу висит медалька: "Blogs for Bush". После этого можно не удивляться отсутствию логики у последователей этого американского черномырдина.
ну, GPL AFAIK появилась именно в США, а не в более коммунистических странах
2 Инкогнито
нет никаких проблем для разработки закрытого софта под Linux, для этого достаточно распространять *свой* код, использующий LGPL-библиотеки, а не модифицированный GPL-код
Ну если вам надо объяснить на конкретном примере что значит "в случае GPL - такая деятельность у очень многих работодателей и девелоперов кроме презрения ничего не вызывает" тогда привожу:
1) заходим на буржуйский сайт RentACoder.com
2) переходим Software Coders -> How Does It Work for Coders?
3) далее, выбираем Request Bids
4) нажимаем первый попавшийся запрошенный проект, например, Web Meeting application
ссылка Bid:
http://rentacoder.com/RentACoder/misc/BidRequests/ShowBidRequest.asp?lngBidRequestId=279605
одно из конкретных требований работодателя:
"No GPL, GNU"
кстати про лицензию BSD или Public Domain Licensing таких ОСОБЫХ упоминаний не приводится.
Это уже стандартные требования в случае работы по договоренности, с последующей передачей копирайта. Так вот, фирмы-заказчики не хотят принимать копирайт от разработчика, если в разработке хотя бы один компонент лицензирован под GPL.
Да и еще...
Если вы серьезно участвуете в проектах под GPL и ваше имя и фамилия сильно засветилось во многих популярных местах, то не удивляйтесь если некоторые работодатели Вам будут чаще отказывать при приеме на работу, чем другим программистам. Сейчас это начинают практиковать за границей, пройдет 5-6 лет, такое будет распространено и в Беларуси. Собственно говоря, никто не хочет рисковать и давать работу убежденным анархистам и коммунистам, которым неизвестно что может прийти в голову - к примеру, взять часть ПО фирмы и открыть его с лицензией GPL в интернете.
А с каких это пор Вы стали пытаться намеками отождествлять демократов с коммунистами и анархистами? Кстати, последние создали демократам антирекламу своей нелогичной истерикой, поэтому недалекий Буш и выиграл на фоне еще более бестолкового фильма Миши Мура.
Что касается GPL, то зря Вы так самоотверженно посвящаетесь этому делу. Сэкономьте лучше время, и поразмысльте как лучше заработать на том что вы программируете (если в самом деле что-то пишите).
Для Линукса, лучший вариант - предлагает Патологоанатом: писать закрытые программы используя LGPL-библиотеки, а не модифицированный GPL-код.
Я думаю человек "серьезно участвующий в проектах под GPL" получает за это "серьезные" деньги :-)
> "No GPL, GNU"
ну, это немного не в тему. в данном случае в силу вступают совсем другие (трудовые) отношения - заказчик-разработчик, а не разработчик1-разработчик2. код, полученный от разработчика, полностью принадлежит заказчику, и у заказчика только одна обязанность - заплатить за разработку, а у разработчика нет имущественных прав на код
В этом правиле существует слишком уж много исключений. Например Debian. Насколько там "серьезные" деньги?
Сайт Debian.org: выбираем раздел "Debian Developers' Corner".
Далее, переходим на страницу "Joining Debian" и читаем:
http://www.debian.org/devel/join/
The Debian Project consists of volunteers, and our products are developed entirely by volunteers. We are generally looking for new developers who have some technical knowledge, an interest in free software, and some free time.
Есть упоминания о том, что нужны средства для покупки серверов для создания зеркал, но нет ни малейшего намека на то, что деньги от donation по какой-то схеме распределяются между участниками (в качестве компенсации за вложенный труд).
Невозможно целый день писать "бухгалтерию" - for money, а после работы "an interest in free software, and some free time" - отлаживать Apache.
Вообщем я это к тому что на open source тоже можно заработать.
А Debian это вообще-то особый случай.
Любителям Windows могу посоветовать для начала приобрести ее лицензионную копию.
Open source - это полезная вещь.
GPL - вредная.
Причем это уже больше политика нежели лицензия.
Идет разговор о том, что довольно глупая парадигма доминирует в области открытого ПО. Причем представляет опасность сравнимую с патентами.
Пример: человек пишет ПО и боится:
1) чтобы его алгоритм не совпал случайно с запатентованым (потому что придется платить)
2) чтобы его алгоритм не совпал случайно с лицензированым алгоримом под GPL (потому что придется раскрывать код).
ну, это не совсем так. нет алгоритмов, "лицензированных под GPL". под GPL лицензируется конкретный код (в отличие от патентов, информация в которых, кстати, открыта)
:^)
Да, патенты хуже чем GPL.
Но так или иначе - если участки кода из огромнейшей базы кода под GPL, нечаянно окажутся в вашем закрытом ПО (взятые из учебника какого-нибудь или из каких-то наработок нанятого программиста) - то вас можно уже привлекать к административной ответственности через суд.
скажите, а если в вашем закрытом ПО "случайно" окажется не-GPL код, то вас не привлекут исключительно из-за того, что "никто не узнает"? к тому же GNU, в отличие от каких-то там SCO, по мелочам не придирается
За (если мне не изменяет склероз) три года боев так и не пришли к единому мнению.
ИМХО: если берешь какой-то кусок из чьего-то кода стоит писать в комментариях автора. Закрытый код неприятен некоторыми сюрпризами вроде программных закладок & etc. Для рядового пользователя остальное - по барабану. Все равно в тексте копаться не будет, да и вообще предпочтет бинарники.
Страницы