Код нараспашку
Программу, которая стоит 3000 рублей, разрабатывают десять программистов. Другая распространяется бесплатно, а делают ее 100 человек. Третью можно получить так же свободно, но при этом в ее поддержке и разработке принимают участие 1000 специалистов. Почему такие разные подходы? В чем разница? Где ошибка?
Если подходить к вопросу Open Source максимально абстрактно, то налицо целая философия: как будто компьютерные гении всего мира собрались и создали собственное идеалистическое учение о способах разработки и использования программ. Согласно этому учению, пользователь не платит программисту за написанное приложение, однако сам посильно помогает в его разработке. Таким образом программы создаются целыми легионами программистов разного уровня со всех концов света. Хотя такое представление об открытом ПО — самое общее и абстрактное, в реальной жизни все намного сложнее.
Основные понятия
Open Source Software, открытое программное обеспечение или программное обеспечение с открытым исходным кодом, — общедоступная совместная разработка программных продуктов. Говоря более строгим языком, это стратегия разработки ПО, согласно которой доступ к исходным кодам может получить любой желающий. В некоторых случаях сама программа может быть платной, но ее исходные коды все же должны находиться в открытом доступе для просмотра и изменения. Приложения Open Source доступны как отдельным пользователям, так и любым компаниям и организациям. Условия распространения, использования, модификации и доступа к таким программам описываются в лицензиях, под которыми выпускается открытое ПО.
Принципы свободных программ максимально похожи на идеологию открытых, однако путать их не стоит. Разница в том, что свободное ПО защищено свободными лицензиями и так называем копилефтом (от англ. copyleft). Последний представляет собой антипод копирайту (copyright). В основе копилефта лежит концепция использования законов авторского права для расширения прав и свобод людей. Применительно к софту это означает, что все последующие изменения и новые версии свободных программ должны оставаться свободными.
Из школьных уроков информатики всем известно, что в первозданном виде любая программа представляет собой набор текстовых команд, который с помощью разнообразных инструментов превращается в исполняемый код. Чаще всего он представляет собой бинарный файл, содержащий данные и команды для центрального процессора. Обратно в текстовый вид в общем случае его преобразовать нельзя при всем желании.
Сейчас мы говорим о программах с закрытыми исходным кодами. Они могут распространяться на безвозмездной основе или требовать от пользователя денег, каких-либо действий, использования какого-то определенного устройства. Собственно, поэтому разработчик и не желает раздавать доступ к исходникам, а подобные программы называют собственническими или проприетарными. Кроме того, некоторые разработчики бесплатных программ специально закрывают доступ к исходным кодам из соображений безопасности. В качестве примера можно привести известный интернет-мессенджер QIP.
К программам, представляющим еще один класс — полусвободное ПО, легко можно найти все исходные коды, а самими приложениями можно пользоваться сколько и как угодно, но только в некоммерческих целях.
Читать продолжение...