Фанату Linux на заметку: чем свободная программа отличается от открытой

Приведу несколько терминов, определяющих в российском массовом сознании чуть ли не одно и то же: свободное ПО, открытое ПО, ПО с открытым исходным кодом, бесплатное ПО, Linux. Если вспомнить о нашей привычке употреблять к месту и не к месту английские слова, то к этому ряду добавятся Freeware, Free Software и Open Source. Поскольку к большому числу синонимов мы уже привыкли с детства, то подобное разнообразие прекрасно вписывается в наш менталитет. А напрасно.

Что такое Freeware

Freeware никакого отношения ни к свободе, ни к открытости не имеет. Так обозначается ПО, которым можно пользоваться бесплатно. Однако при этом могут накладываться ограничения на его распространение, а модификация будет невозможной по причине недоступности исходного кода.

К тому же Freeware — это не некая четкая категория, которая включает в себя все тонкости получения и использования программ. В частности, можно встретить ПО, которое бесплатно только для домашнего или некоммерческого использования. И хотя интуиция подсказывает, что именно имеется в виду под этим термином, вопросов остается много. Скажем, такой: можно ли устанавливать это ПО на личную машину, если ее владелец работает дистанционно, т. е. зарабатывает таким образом деньги?

Еще одно не очень понятное требование часто выдвигают наши настоящие и бывшие соотечественники. Желая продемонстрировать лояльность к нашей общей родине, они объявляют, что программу можно использовать бесплатно только в странах бывшего СССР. И не вполне ясно, к чему это относится — то ли к гражданам Союза, то ли к территориям новообразованных государств. Например, будет ли это условие соблюдено, если компьютер пересек границы?

Разумеется, пока эти соображения носят сугубо умозрительный характер — реальных судебных процессов, вызванных неправильной эксплуатацией ПО типа Freeware, не было. Точнее — еще не было. Но давайте вспомним, что какие-то пару лет тому назад никому и в голову не могло прийти, что за использование нелицензионной Windows начнут преследовать работников школ. Поэтому как-то не хочется стать тем самым прецедентом, с которого все и начнется. В общем, некоторая аккуратность тут не помешает.

Что такое Free Software

Понятие Free Software ввел в обиход сам основатель Free Software Foundation (FSF) Ричард Столлман. Он же сформулировал четыре критерия, при соответствии которым программа может считаться свободной. Вот они:

  • программу можно использовать с любой целью;
  • можно изучать, как программа работает, и адаптировать ее для своих целей;
  • можно распространять копии программы;
  • программу можно улучшать, а затем публиковать свою улучшенную версию, — с тем чтобы принести пользу всему сообществу.

Очевидно, что второе и четвертое условия могут быть выполнены только при доступности исходного текста программы.

Что такое Open Source

Несколько позже основатели организации Open Source Initiative (OSI) Эрик Реймонд и Брюс Перенс сочли, что термин Free Software может иметь неоднозначные толкования (в английском языке слово “Free” означает не только “свободное”, но и “бесплатное” — вспомните Freeware), и вследствие этого он не всем понравится. Поэтому они ввели новое понятие — Open Source.

Критерии открытости сформулировал Брюс Перенс. Они практически полностью соответствуют признакам, на которые ориентируется проект Debian (кстати, именно Брюс Перенс был его лидером в 1996—1997 гг.). Десять условий Open Source таковы:

  • нельзя ограничивать распространение программы и требовать за нее денежную компенсацию;
  • исходные тексты программы должны быть доступны;
  • на основе программы могут создаваться производные продукты, которые можно распространять на тех же условиях, что и оригинал;
  • если распространение производных работ запрещается по причине требования сохранности целостности исходного текста, то должно быть разрешено свободное распространение патчей;
  • недопустима дискриминация пользователей или их групп. В частности, программа не может быть недоступной жителям какой-то страны;
  • программа может использоваться с любой целью;
  • не должно быть никаких дополнительных соглашений, относящихся к ПО;
  • нельзя юридически привязывать программу к какому-либо другому продукту;
  • нельзя накладывать какие-либо требования на другие программы;
  • на пользователя программы нельзя накладывать какие-либо ограничения технологического характера.

Open Source или Free Software

Как нетрудно заметить, эти два термина — Open Source и Free Software — очень близки. Разница между ними носит, скорее, идеологический характер. Если под первым подразумевается прежде всего эффективная модель разработки, то под вторым — право на распространение, модификацию и изучение.

Отсюда и разница в употреблении этих обозначений ПО. В частности, Давид Уилер, один из представителей OSI, отмечал, что использование термина Open Source более уместно, если желательно подчеркнуть технические преимущества продукта, а вот про Free Software лучше говорить при намерении указать на независимость программы и отсутствие контроля со стороны третьих лиц за ее распространением и эксплуатацией.

В свою очередь, представители FSF считают, что определение Open Source слишком узко и может использоваться не в том смысле, который они вкладывают в эти слова. Таким образом, Free Software и Open Source — хоть и близкие, но самостоятельные направления.

Поскольку мы живем в России, то чаще используем отечественные определения. Причем их даже больше, чем английских, поэтому вероятность путаницы нисколько не уменьшается при переходе на русский язык.

СПО, ОПО, ПООК и другие уродцы

Например, мы часто говорим про открытое ПО (ОПО), подразумевая под этим ПО с открытым исходным кодом (ПООК). Поскольку из контекста обычно понятно, о чем именно идет речь, мы привыкли не обращать внимания на довольно серьезную ошибку.

Дело в том, что открытое ПО — это не Open Source, а Open Software, если переводить дословно. А это означает не более чем программу с открытыми протоколами. Но английский термин используется крайне редко, вот и прижилось такое не вполне корректное сокращение. Поэтому в случаях, когда возможно разночтение, более правильно говорить о ПО с открытым исходным кодом.

Всегда ли свободное программное обеспечение (СПО) будет представлять собой ПО с открытым исходным кодом? Правильный ответ — чаще всего. Но исключения возможны.

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

Но тогда, может быть, ПООК всегда является свободной программой? Опять же нет. Хотя чаще всего это действительно так.

ПО с открытым исходным кодом можно беспрепятственно изучать. А вот для модификации, распространения или иных способов его использования может потребоваться отдельное разрешения автора.

И уж конечно, совершенно некорректно называть СПО или ПООК просто бесплатным. Нулевая цена вовсе не подразумевает передачу пользователю каких-то дополнительных прав и тем более никак не обязывает разработчика делаться с кем-то исходным текстом. Хоть и не запрещает ему это делать.

СПО за деньги

К тому же СПО вполне может продаваться за деньги. Например, именно таким образом распространяются так называемые коробочные версии дистрибутивов Linux. Правда, в этом случае покупатели могут надеяться на получение печатного руководства пользователя и купона на техническую поддержку. Хотя и это совершенно не обязательно.

Рассмотрим пример, ставший уже хрестоматийным. Из него станет понятно, что приведенные выше рассуждения — вовсе не отвлеченная теория.

Операционная система Microsoft Singularity

ОС Singularity, разрабатываемая корпорацией Microsoft и представляющая собой высоконадежную среду, относится к ПООК. То есть ее исходные тексты доступны в виде Singularity RDK (Research Development Kit) и распространяются под специальной лицензией Shared Source. Но свободным это приложение не является, поскольку массовый пользователь может только изучать продукт, а на всё остальное он не имеет права.

Кстати, из последнего примера видно, что российский термин ПООК следует понимать буквально, и он вовсе не тождественен Open Source в понимании OSI. Причем именно по этой причине многие считают его неудачным. Однако определение уже успело прижиться, и попытка что-то изменить внесет еще большую путаницу, в которой, разумеется, никто не заинтересован.

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

Главная тема: 
field_vote: 
Пока без оценки

Комментировать

Filtered HTML

  • Use [fn]...[/fn] (or <fn>...</fn>) to insert automatically numbered footnotes.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote> <strike> <code> <h2> <h3> <h4> <h5> <del> <img>
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.