Однако начать я хотел бы с воспоминаний о совсем другой статье, достаточно древней в масштабах компьютерной эры. Статье Евгения Рыбникова Дюжина ножей в спину Open Source. Потому что она и являет собой квинтэссенцию мифов, легенд и предубеждений, сформировавшихся вокруг открытого и свободного программного обеспечения. И уж если такие предубеждения бытуют в среде IT-профессионалов - а смею вас уверить, тот, кто скрывается под псевдонимом Евгения Рыбникова, действительно высокий профессионал в этой области... Так вот, если такие предубеждения бытуют в среде IT-профессионалов, то что же говорить, о людях, по роду своей основной деятельности лишь вынужденных использовать компьютеры? И потому боюсь, что к теме открытого и свободного программного обеспечения придется обращаться еще не раз.
А теперь - к статье Виктора. Для начала, во избежание недоразумений, оговорюсь: я категорически и полностью согласен со всеми ее основными положениями. И в настоящей заметке лишь хотел бы а) несколько дополнить ее, и б) высказать свое мнение по некоторым частным ее моментам, которые представляются мне спорными.
Статья начинается с классификации программного обеспечения по степени, если так можно выразиться, доступности. Выделяются такие группы:
О коммерческом софте говорить особенно нечего - на Руси любой ребенок знает, что такое Windows и Word. А также то, что покупать их по коммерческим каналам совсем не обязательно - на то есть базары и лотки. Так что - замнем для ясности.
В группу условно-бесплатного софта (т.н. shareware) объединено несколько различных на первый взгляд способов распространения программ. Однако все они объединены одним: распространяемые на этих условиях программы для полноценного использования требуется тем или иным способом оплатить. Еще мне хотелось бы подчеркнуть здесь, что собственно shareware-программ в настоящее время практически не встречается. Как правило, под этим псевдонимом выступают либо trial-версии, либо варианты коммерческих программ с обрезанной функциональностью.
Бесплатное программное обеспечение (freeware) в полном смысле отвечает своему русскому имени - но не английскому, тут возможны разночтения, связанные со знаменитым отличием бесплатного пива от свободного слова. Общее для этой группы программ - то, что за их использование платить не нужно или не обязательно. Последняя категория (т.н. donationware) по сути своей гораздо больше соответствует shareware в его исконном значении: понравилась программа (или просто захотелось отблагодарить разработчика) - заплатил, не понравилась - не заплатил...
К сказанному здесь Виктором можно добавить одно: по моим наблюдениям, длящимся вот уже почти 15 лет, статус freeware обычно - сугубо временный. В случае успеха проекта такой бесплатный проект очень быстро становится shareware (в понимании пункта 2) или даже просто обычным коммерческим. А в случае неудачи - тихо и незаметно прекращает свое существование. Исключений из этого правила очень мало. Мне на память приходит только Arachnophilia Пауля Лютуса - типичный, кстати сказать, пример donationware.
А вот по поводу ПО с открытыми исходными текстами я бы поспорил. Как показало обсуждение на Линуксфоруме, Виктор имел ввиду лишь одну, совершенно конкретную разновидность софта с открытыми исходниками - т.н. comercial with sources. То есть - обычное проеприетарное ПО, сопровождаемое (подчас за отдельную плату) исходными текстами. Однако это - относительно редкий способ распространения программ широкого назначения. Мне в этой связи вспоминается, пожалуй, только BSD/OS, известная также как BSDi - операционная система BSD-семейства, основанная на той же кодовой базе, что и FreeBSD, но, в отличие от последней, распространяемая за деньги. А вообще comercial with sources более характерен для узкоспециализированных программ и заказных разработок.
Обычно же термину Open Source придается гораздо более широкое понятие, подразумевающее просто доступность (физическую и юридическую) исходных текстов некой программы. И таким образом, свободное программное обеспечение, составляющее следующую группу, оказывается лишь подмножеством ПО с открытыми исходниками. Ибо свободный софт подразумевает доступ к исходным текстам - очевидно, что без этого невозможно реализовать ни право на изучение программы, ни право на ее модификацию.
При этом открытое ПО оказывается почти столь же неразрывно связанным с ПО свободным: ведь мало радости от свободы изучения или модификации, если нет права распространять модифицированную (например, исправленную) версию. И потому на практике обычно оказывается, что все открытые, но не совсем свободные проекты либо постепенно эволюционируют в сторону полного Freesoftware, либо утрачивают свой свободный статус.
Ну собственно по главной теме статьи - свободному ПО - также есть о чем подискутировать с Виктором. Правда, большая часть моих вопросов разрешилась в личной переписке. Тем не менее, согласиться с тем, что подлинно свободное ПО - это ПО под лицензией GPL, я не могу. Ибо софт, распространяемый под лицензией BSD и родственными (MIT, X-консорциума и другими, обычно объединяемыми понятием "университетские лицензии") предоставляет пользователи все степени свободны - свободу использования, изучения и модификации, свободу распространения. Более того, в некотором отношении BSD-лицензия даже "более свободна", так как не требует непременно свободного распространения продукта, созданного с использованием BSD-лицензированного кода.
Конечно, как правильно отметил Виктор, при этом возникает некоторый риск: человек, использовавший 95% свободного кода, добавляет в него 5% функциональности и получившийся продукт распространяет как закрытый коммерческий. Однако этим можно пренебречь: ибо по условиям BSD-лицензии он может закрыть только 5% своего личного вклада, права "наложить лапу" на изначально свободные 95% он не получает. И на практике такие коллизии решаются очень просто: на базе свободного кода создается fork (порождение) со столь же свободным статусом. Примером тому - недавние баталии вокруг изменившейся лицензии XFree86: сторонники полной свободы софта просто создали полностью свободный Xorg, который успешно развивается. Хотя, убей меня Бог, я так и не понял, в чем же новая лицензия XFree86 ограничивает свободу...
А вообще, именно BSD-лицензированные продукты замечательно демонстрируют мирное сосуществование свободного и проприетарного софта. Примером чему - MacOS X, основанная на свободных микроядре Mach и системном обрамлении FreeBSD, надстроенными проприетарным графическим интерфейсом.
Подчеркну - я вовсе не утверждаю, что BSD-лицензия однозначно лучше GPL: в некоторых случаях лучше сработает одна, в иных же - другая. Более того, на мой взгляд, в 99 случаях из ста вообще не имеет значения, под какой именно из свободных лицензий распространяется тот или иной программный продукт. Тем не менее, можно представить ситуации, когда BSD-лицензия оказывается единственно приемлемым выбором. Правда, практически такие ситуации пока, вроде бы, еще не возникали (и слава Богу), поэтому рискну прибегнуть к несколько утрированной аналогии.
Как известно, принцип расщепления ядра урана - общеизвестный научный факт, находящийся, если так можно выразиться, в свободном доступе. Технологическая цепочка создания на его основе ядерной бомбы, также базируется на массе научных принципов, столь же общеизвестных. И что же, руководствуясь логикой GPL, технология создания ядерной бомбы также должна быть открытой и общедоступной?