Введение в POSIX'ивизм

       

Истоки Free Software


И тут можно сделать интересное наблюдение: большинство т.н. "университетских" лицензий по своей сути тяготеют к формулировкам BSD-стиля. Почему?

Ответить на этот вопрос не трудно. Дело в том, что Ричард Столлмен, формулируя (в первой половине 80-х годов прошлого века) свои принципы свободы софта, явным или неявным образом, но - изобретал велосипед. Ибо принципы его суть не что иное, как условия, на которых испокон веков распространялись результаты любых научных исследований (к слову сказать, и Ричард деятельность свою начинал как сотрудник вполне академической организации - лаборатории искусственного интеллекта MIT). Каковые, по определению, должны быть общедоступны, открыты в отношении методики и которые вольно использовать любым образом (за исключением приписывания себе их авторства и ограничения доступа к ним других).

Использовать - в том числе и для коммерческих продуктов, реализуемых через вполне закрытые технологии. Согласитесь, было бы нелепым требовать от создателей дизеля или двигателя внутреннего сгорания полной открытости их результатов на том основании, что они базируются на общедоступных законах термодинамики. А ведь именно это и констатирует BSD-лицензия, имеющая сугубо академическое происхождение (не смотря на то, что работа изначально финансировалась "мирным" американским ведомством).

Не случайно первые работы над проектом BSD, полностью вписывающиеся в идеологию Free Software, начались существенно (лет за 10) раньше того, как Столлмен сформулировал свои знаменитые принципы в 1984 году.

Аналогию между научными разработками и Free Software можно углубить. Что является неотъемлемым атрибутом профессионально выполненной научной работы? Тем самым, который безошибочно позволяет отделить всамделишнюю, скажем, геологию или историю от трудов всякого рода атлантологов, уфологов и прочей "фоменковщины"? Атрибутом этим является научный аппарат. То есть для наук экспериментальных - публикация методики измерений, позволяющих независимое воспроизведение результатов; для наук феноменологических, типа той же геологии - описания полевых наблюдений; для истории иже с нею - ссылочного аппарата (дающего читателю теоретическую возможность порыться в первоисточниках).


Именно научный аппарат делает возможным проверку и воспроизведение выводов исследователя профессионалом в той же области науки. А специалисту-"смежнику", не владеющему деталями материала по конкретной проблеме, позволяет безбоязненно ссылаться на полученные другими результаты - в небезосновательном расчете на то, что ошибки будут выявлены специалистами соответствующего профиля.

Разумеется, само по себе наличие научного аппарата не гарантирует высокого качества научной работы. Однако оно позволяет выполнить (хотя бы в первом приближении) ту самую публичную экспертизу, за позитивными примерами которой далеко ходить не нужно - имя им легион.

Опять отвлекусь: впрочем, на произведения "фоменковцев", похоже, такая экспертиза никакого влияния не оказывает - число книг означенного академика на полках магазинов не уменьшается. Видимо, это тот случай, когда требуется не экспертиза (нечего экспертировать-то), а простое игнорирование.

Ту же роль, что научный аппарат в исследованиях, в области Free Software выполняют открытые исходники. Их наличие само по себе не гарантирует высокого качества программы. И, разумеется, пользователю, далекому от программирования, исходные тексты на Си мало чего скажут. Однако, как и в науке, пользователь вправе ожидать, что ошибки в открытой программе будут выявлены людьми, разбирающимися в этом получше него. Не только выявлены, но и исправлены, а не возведены в ранг непременной особенности данной программы. А он, пользователь, вследствие открытого характера разработки об этом узнает своевременно - при наличии желания, разумеется. И, надо сказать, все эти ожидания в большинстве своем оправдываются...

Собственно говоря, именно публичная экспертиза кода (или, проще говоря, механизм обратной связи пользователей и разработчиков) - одна из причин, почему открытость исходников (то есть явление Open Sources) почти неизбежно влечет за собой свободу распространения программы в соответствие с принципами Столлмена. Действительно, какой смысл имеет выявление ошибок (свобода изучения) без возможности их исправления (свободы модификации) и предоставления доступа к скорректированной версии (свободы распространения)?

Показательно, что все успешные проекты, некогда коммерческие, но подвергшиеся процедуре открытия исходников на определенных, не вполне соответствующих GPL- или BSD-лицензиям, условиях, рано или поздно эволюционировали в сторону полной свободы в понимании Free Software. Здесь достаточно вспомнить StarOffice, Netscape или GRASS. Причем характерно, что на базе одного и того же открытого кода вполне мирно уживаются как полностью свободные программы (OpenOffice.org, Mozilla или многочисленные Gecko-клоны), так и программы, сохранившие свой проприетарный статус (первозданные StarOffice и Netscape). Программы же с открытыми исходниками, не ставшие истинно свободными (например, Solaris или True64 Unix), очень быстро потеряли и свой открытый статус, вернувшись в лоно проприетаризма.


Содержание раздела