Открытое и свободное программное обеспечение
Иногда я пишу короткие учебные тексты по разным темам, связанным с IT. Чтобы потом не читать их в студенческих рефераатах, решил выкладывать их на Pikabu: в отличие тематических блогов вроде habr-а, тут публикации со временем не самовыпиливаются, а поисковики индексируют местные тексты ничуть не хуже, и антиплагиат отловит засранцев (эдакое депонирование для бедных). Если промахнусь с тегами, не пинайте сразу, а подскажите как исправиться.
Данный текстик написан для студентов и призван помочь осознать разницу между бесплатным, открытым и свободным программным обеспечением. Автор топит за свободное, но живет в мире без розовых единорогов, поэтому иногда и сам не гнушается написанием коммерческого.
Итак, в момент установки программы вас обычно просят принять условия лицензионного соглашения. Вы не глядя нажимаете "Принимаю", после чего программа устанавливается. Но это не просто формальность. Программа — интеллектуальная собственность её разработчиков, и их права защищены законом. Использовать программу можно только на тех условиях, которые выдвинули её правообладатели. Например, копия программы может быть “привязана” к определенному компьютеру, и при замене компьютера придется раскошелиться на новую копию этой программы.
Конечно, ограничения не могут противоречить закону. Например, в статье 1280 Гражданского кодекса РФ предусмотрено право законного приобретателя программы самостоятельно изучать её устройство и вносить в нее изменения для достижения способности программы к взаимодействию с другими программами, так что лицензионный запрет на декомпиляцию и дизассемблирование программ в России не работает.
Чтобы ограничить возможность бесплатного копирования программ, разработчики добавляют в них защиту: например, раньше для установки программ приходилось вводить код лицензионного ключа. Современные программы обычно требуют зарегистрировать установленную копию через интернет. Кроме того, они постоянно шлют своим разработчикам отчеты о том, как и на каких компьютерах их используют. Если копия программы используется нелегально, пользователь получает предупреждение или судебный иск, а функциональность программы может быть ограничена до покупки лицензии и прохождения процедуры регистрации установленной копии.
Конечно, можно воспользоваться средствами обхода таких ограничений от анонимных хакеров, но неизвестно, какую функциональность при этом добавят в программу они. Так что легально купить программу часто оказывается проще и безопаснее, чем использовать пиратскую копию. Особенно если программа используется юридическим лицом для коммерческой деятельности.
Некоторые программы имеют версию, распространяющуюся бесплатно. Например, многие программы для художественного или инженерного творчества часто предлагают студентам использовать бесплатную версию с немного ограниченной функциональностью. Производителю это выгодно, поскольку чем больше на рынке будет специалистов, владеющих этой программой, тем дешевле использование этой программы обойдется конечным потребителям — работодателям этих специалистов.
Иногда приложение бесплатно для пользователя, но при этом разработчики зарабатывают на рекламе, интеграции с платными сервисами, или на продаже всевозможных платных дополнений. Авторы многих “бесплатных” приложений зарабатывают на том, что агрегируют и продают корпорациям информацию о своих пользователях; так что если вы не понимаете, на чем зарабатывают авторы вашего любимого бесплатного приложения, весьма вероятно что вы и есть их товар.
Открытое программное обеспечение (Open Source)
Некоторые разработчики используют принципиально иной подход к ведению бизнеса: они открыто выкладывают исходные тексты своей программы в репозитории, доступные через интернет. Любой другой программист может изменить этот исходный текст, и получить свою копию программы с нужной дополнительной функциональностью.
Авторы таких программ зарабатывают не на продаже копий, а на корпоративных клиентах, которым обычно требуется техническая поддержка и доработка функциональности под задачи их бизнеса. Авторские права разработчиков при этом по-прежнему защищены законом, так что никто другой не может легально продавать эту программу, даже если существенно её переработает.
Открытый код -- конкурентное преимущество: покупатель может самостоятельно провести аудит безопасности и убедиться, что в программе нет ошибок, “черных ходов” или скрытых “закладок”. При грамотной политике владельцев авторских прав, вокруг программы со временем образуется сообщество разработчиков, которые дорабатывают её функциональность и совместимость с другими программами.
Часто открытые программы распространяются бесплатно, но программный код “бесплатных” программ обычно закрытый, то есть держится разработчиками в секрете.
Свободное программное обеспечение
Некоторые разработчики идут на более решительный шаг: они объявляют программу свободной от коммерческих ограничений. По-английски “свободная” (free) звучит как “бесплатная” (free), но это не одно и то же. Понятие и принципы свободного программного обеспечения сформулировал Ричард Столлман в 70-е годы.
Программа может называться свободной, если владелец авторских прав в лицензионном соглашении:
1) не ограничивает, для чего можно использовать программу;
2) позволяет открыто распространять исходный программный код;
3) позволяет без ограничений распространять копии программы и исходного кода;
4) позволяет изменять программу и открыто публиковать измененную версию.
То есть свободную программу можно 1) запускать, 2) изучать, 3) распространять и 4) улучшать без всяких ограничений со стороны её авторов.
Кажется, что кто угодно может взять свободную программу, доработать её и начать продавать как коммерческую. Но так сделать не получится: во-первых, права авторов по-прежнему защищены законом, а во-вторых, никто не купит платную программу, если есть такая же, но свободно распространяющаяся.
Если свободная программа востребована пользователями, вокруг нее быстро формируется сообщество разработчиков, которые за свой счет улучшают и дорабатывают её функциональность. В отличие от программ с открытым кодом, пользователи свободных программ защищены от произвола авторов. Ведь если авторы программы вдруг передумают и решат сделать её закрытой и коммерческой, сообщество пользователей и разработчиков сможет продолжить использовать, дорабатывать и развивать исходную, свободную версию программы.
Многие корпорации вкладываются в свободное ПО, чтобы не зависеть от производителей коммерческого. Например, программный код Linux, свободного ядра операционных систем, дорабатывается такими гигантами программной индустрии как IBM, Intel, Oracle и Google, которые боятся попасть в зависимость от разработчиков коммерческих операционных систем вроде Microsoft и Apple.
Свободные операционные системы, веб-серверы, системы управления базами данных и другое системное программное обеспечение часто не уступает коммерческим аналогам, но о прикладных программах такого не скажешь: разработка крупного программного продукта может стоит десятки миллионов долларов, и такую работу невозможно профинансировать за счет одних энтузиастов. Казалось бы, крупнейшим заказчиком, инвестором и выгодоприобретателем от свободного софта могло бы стать государство. Но государство — довольно проблемный заказчик, и сформировать эффективный механизм разработки свободных программ за государственный счет не так просто, как может показаться.





