Политика свободного лицензирования. История Linux: от ядра к дистрибутивам
История возникновения свободного ПО
Разработка ПО как научное исследование
Особенность программного обеспечения состоит в том, что оно производится в одной форме – в виде исходного текста (source code), а распространяется и используется в другой – в виде двоичной программы, машинных кодов, по которым невозможно однозначно восстановить исходный текст. Чтобы изменять программу, исправлять ошибки или даже просто точно установить, что и как делает программа, необходимо располагать ее исходным текстом.
Первоначально создание программного обеспечения для компьютеров было в первую очередь академическим занятием. Для специалистов в области компьютерной науки (computer science) каждая программа представляла собой результат научного исследования, в некотором смысле аналогичный публикации статьи. Это означает, что исходный текст программы был обязательно доступен всему научному сообществу, поскольку любой научный результат должен быть верифицируем, т. е. подтверждаться другими исследователями и быть открытым для критики. Таким образом, процесс разработки программного обеспечения принципиально более схож с научным процессом: ученый брал существующие программы, исправлял их в соответствии со своими идеями и публиковал исправленные программы – новый результат.
Однако технология производства компьютеров развивалась не менее активно, чем программное обеспечение для них. В 1970-е годы существовало огромное разнообразие архитектур вычислительных машин, различавшихся и производительностью, и ценой. Естественно, для каждой архитектуры приходилось разрабатывать отдельный набор программного обеспечения. С середины 1970-х в большинстве американских университетов (где преимущественно и развивалась компьютерная наука) для академических разработок использовались компьютеры архитектуры PDP-10, что позволило сотрудникам разных университетов использовать разработки друг друга на своих машинах. Сотрудники лаборатории искусственного интеллекта массачусетского технологического института в конце 1970-х разработали для PDP-10 собственную операционную систему ITS ( I ncompatible T imesharing S ystem, несовместимая система с разделением времени) и очень большой набор программ для нее. исходные тексты написанных в МТИ программ были общедоступны, сотрудники других университетов пользовались их исходными текстами и присылали им исправления. Все программное обеспечение в этих лабораториях было полностью академическим, а среди ученых-разработчиков царил настоящий дух сотрудничества.
ПО как "патентованный" продукт
В условиях огромного многообразия архитектур компьютеров программное обеспечение составляло неотъемлемую часть самой машины, причем далеко не самую дорогостоящую. Производители компьютеров поставляли их вместе с основным программным обеспечением – по крайней мере, с операционной системой. Производство компьютеров было наукоемким, но в основе своей коммерческим предприятием.
В ситуации, когда программное обеспечение является предметом продажи, на него распространяются уже не только законы научной разработки, но и свойства материальных предметов, которыми можно торговать, обмениваться, право владения и пользования которыми стоит охранять законодательно. Так программное обеспечение попало в разряд интеллектуальной собственности, т. е. исходный текст программы стал рассматриваться как произведение, объект применения авторского права. Чтобы защитить свои интересы, производители компьютеров и программного обеспечения используют лицензии – вид договора между обладателем авторских прав и пользователем (покупателем) программного обеспечения. Подобные договоры заключались и с университетами – например, университету передавались исходные тексты программ и право изменять их, но запрещалось распространять эти тексты за пределами университета. Подобные ограничения означали, что тексты соответствующих программ не могли открыто обсуждаться в сообществе, т. е. не существовали для научной разработки. Были у компьютеров и программного обеспечения покупатели и вне академической среды – например, банки. Таким пользователям не столь важно получить исходные тексты программ, они больше заинтересованы в программном обеспечении как в готовом продукте и платят деньги за надежные и удобные программы.
В европейской культуре так долго вырабатывались правила собственности по отношению к материальным предметам, что распространение этих прав на предметы нематериальные – программные продукты – выглядит делом естественным и не вызывает сомнений. А поводов для сомнений немало. Главное отличие программного продукта от, допустим, табурета – т. н. безущербное копирование. Если грабитель отбирает у крестьянина табурет, совершается злодеяние: крестьянин табурета лишается, терпит ущерб. Если крестьянин отдает кому-то табурет добровольно, он его также лишается, поэтому вправе требовать возмещения ущерба – например, деньгами. Для того, чтобы ущерба у крестьянина не происходило, табурет нужно воспроизвести: добыть досок, позвать столяра, краснодеревщика и оплатить их работу, и один из двух получившихся предметов обихода отдать грабителю. В этом случае ущерб – денежный – терпит тот, кто оплачивает копирование табурета. Совершенно естественно при этом законодательно запрещать нанесение ущерба, то есть признавать право распоряжаться вещью только за одним человеком – за ее хозяином. Никаких дополнительных механических или юридических приспособлений, запрещающих воспроизводить табуреты, при этом не требуется.
Иное дело – программный продукт. Сколько бы средств ни было вложено в его разработку, процедура его копирования (переписывания с одного носителя данных на другой) резко отличается от процедуры воспроизведения табурета. Она не требует участия ни одного из авторов программы, ни, по большому счету, вообще человека. Единственная расходная статья при этом – цена носителя данных и амортизация копировального устройства. В результате такого копирования получается два экземпляра программы, создающие удобства уже для двух человек. Таким образом, если человек оценивает приносимые программой удобства выше стоимости носителя данных, копирование – благо. Если же относиться к программному продукту, как к материальной вещи, и закреплять право ее использования за каким-то одним человеком, возникает множество неурядиц, каждую из которых приходится решать искусственными, а зачастую и противоестественными методами.
Например, придется изыскивать, какой ущерб все-таки наносится "хозяину" программы при ее безущербном копировании. Обычно при этом фигурирует понятие "упущенная выгода", то есть та прибыль, которую хозяин мог бы получить, но не получил из-за того, что продукт скопировали. Вспоминается история 30-х годов, когда советский колхозник украл мешок колхозной пшеницы, и был осужден за хищение в крупных размерах: если, мол, эту пшеницу всю посадить, да вырастить, да собрать, вышло бы несколько центнеров. Приходится изобретать хитроумную аппаратуру, мешающую копированию или причиняющую при этом ущерб. Приходится вводить в законодательство особую категорию прав, условно назовем ее "патент" 1Условно – потому, что далеко не во всех странах разрешено выдывать патенты на программное обеспечение, однако везде отношения собственности на исходные тексты программ регулируются общими или специальными разделами законов об авторском праве (в разных государствах они разные)., ограничивающую злоупотребления – и свободу – всего человечества в пользу хозяина патента. Причем далеко не всегда хозяин патента и автор изобретения – один и тот же человек!
Далее в лекции патентованные программные продукты и способ их разработки будут в чем-то противопоставлены свободно распространяемым программам. Термин " патентованный программный продукт " будет означать не наличие действительного патента на программу, а наличие у программы собственника, который относится к ней как к материальному объекту (в случае патентованных программ). Патентованные программы часто называют "проприетарными" (от английского термина "proprietary") или просто "коммерческими" (что, строго говоря, неверно, так как "делать коммерцию" – то есть получать выгоду – можно различными способами, и многие успешные свободные проекты это подтверждают).