Свободное программное обеспечение (далее — ПО) это отдельная область, регулируемая специфическими правовыми нормами и обладающая собственной терминологией, в которой, к тому же, нередко возникает путаница. Поэтому имеет смысл привести определения далее используемых терминов. Это особенно уместно, когда мы говорим о программах в школе, ведь свободное ПО пока очень слабо проникло в эту важнейшую сферу применения компьютеров.
Свободными называются программы, автор (или иной обладатель имущественных авторских прав) которых опубликовал (обнародовал) их в сопровождении так называемой свободной лицензии, или, если следовать терминологии отечественного законодательства, публичного авторского договора, передающего приобретателю права: 0) пользоваться программой для любых целей (в рамках российского законодательства это тавтология, так как у правообладателя нет правомочия ограничивать цели, в которых собственник экземпляра программы может ее применять) и на неограниченном количестве компьютеров или мест в сети; 1) беспрепятственно получать доступ к исходным текстам программы; 2) изготовлять (производить) неограниченное количество дополнительных ее экземпляров, как для собственного пользования, так и для распространения или сдачи в прокат/аренду, но только на условиях свободной лицензии, возмездно или безвозмездно (по своему выбору); 3) модифицировать ее как для собственного пользования, так и для распространения на тех же условиях.
Конкретная лицензия (условия конкретного договора) могут предоставлять приобретателю дополнительные правомочия, безусловно или на определенных условиях, и это не делает программу несвободной. Несвободной (проприетарной, от англ. proprietary) является программа, распространяемая на условиях, ограничивающих вышеперечисленные права приобретателя.
Следует иметь в виду, что термин программы с открытым исходным текстом (также говорят «с открытым исходным кодом» или просто «с открытым кодом»; от англ. open source software) часто используется как синоним свободных программ, хотя возможность получить исходный код — это только одно из условий свободного распространения программы.
В отличие от коммерческих программ с закрытым кодом, вся работа по разработке и поддержке которых проводится внутри фирм-владельцев, программы с открытыми исходными текстами часто не имеют географического центра разработки. Программы с открытыми исходными текстами — результат работы тысяч проектов. Некоторые из этих проектов централизованы, некоторые сосредоточены в фирмах, но большинство объединяют программистов со всего света, которые знакомы только по переписке. Создать свой проект или присоединиться к другому может любой и, в случае успеха, результаты работы станут известны миллионам пользователей. Пользователи принимают участие в тестировании свободных программ, общаются с разработчиками напрямую, что позволяет быстро находить и исправлять ошибки и реализовывать новые возможности.
Именно такая гибкая и динамичная система разработки, невозможная для проектов с закрытым кодом, определяет исключительную экономическую эффективность открытой модели разработки. Низкая стоимость таких разработок, отлаженные механизмы тестирования и распространения, привлечение людей из разных стран, обладающих разным видением проблем, защита исходного текста программ лицензией GPL — всё это стало причиной успеха свободных программ.
Свободные программы (free software) не следует, как это часто делают, путать со свободно распространяемыми (shareware, иногда почему-то называемыми у нас условно-бесплатными). Такие программы распространяются для бесплатного использования (обычно на фиксированный срок), однако их исходные тексты остаются закрытыми. Не следует также путать свободные программы с бесплатно лицензируемыми (freeware), когда вы получаете право использовать бесплатную лицензионную версию программы, однако это несвободная лицензия, то есть вы также не получаете исходных текстов программы и права на ее модификацию и распространение.
Не следует путать коммерческое с несвободным, а некоммерческое — со свободным. Значительная часть (вероятно, большая) свободного ПО разрабатывается в рамках коммерческих проектов. В то же время, существует большое количество некоммерческих несвободных программ (freeware).
Не следует смешивать открытость исходных текстов программ (open source) и открытые стандарты на интерфейсы программ (open standards, open systems и т. п.). Интерфейс (то есть способ использования) программы открывают для того, чтобы программы разных разработчиков могли без затруднений взаимодействовать друг с другом даже (и в первую очередь) если их исходные тексты недоступны. Вне всяких сомнений, стандартизация взаимодействия программ друг с другом и с пользователем — дело благое, и мы должны быть благодарны разработчикам открытых стандартов за то, что они не берут денег за право их использования.
Узел терминологических тонкостей и концептуальных сложностей можно разрубить, введя такое определение: свободные программы — это программы, все услуги по разработке, модификации, сопровождению и поддержке которых продаются на свободном рынке.
В результате, например, свободный дистрибутив какой-либо версии GNU/Linux
, включающий, помимо операционной системы и нескольких операционных сред, большое количество прикладных программ, стоит от нескольких десятков до нескольких тысяч рублей. В то время, как собрать даже небольшую часть аналогичных несвободных программ может обойтись и в десять, и в сто раз дороже[1]), и причина этому не в «бесплатности» чего-либо, а в конкурентности рынка.
Мы избавим читателя от обсуждения анатомии рынка (как формируются цены, кто, за что и каким образом вознаграждается), отослав интересующихся к соответствующей литературе[2]. Важно то, что этот рынок успешно развивается уже в течении четверти века, есть примеры исполнения им задач, немыслимых для отдельных корпораций (самый яркий из них — разворачивание в девяностых на основе свободных программ и систем всемирного сообщества сетей Интернет), и, наконец, то, что после некоторых колебаний, большая часть лидеров компьютерной отрасли сегодня практически однозначно высказывается в поддержку свободного ПО.
[1] Например, типичная цена одно-двухдискового дистрибутива российской сборки, включающего ПО, достаточное для обеспечения школьной программы по информатике, не превышает трехсот рублей, в то время, как комплект из Microsoft Windows
и Microsoft Office, покрывающий лишь часть программы, со всеми скидками обойдется не дешевле трех тысяч на каждое рабочее место.
[2] Свободное программное обеспечение: Бизнес-модели и корпоративные инициативы / Под ред. М. Отставнова. — М.: ГУ-ВШЭ, 2001. Расширенную версию этого сборника можно найти на
Реймонд Э. Собор и базар // Открытые системы. 1999. ## 9–10.