Open source

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 15:55, 31 января 2019.
Рисунок 1 - Лого Open source

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

Определение

Определение Open Source (Открытое ПО) используется организацией Open Source Initiative для определения степени соответствия лицензии на программное обеспечение стандартам Открытого программного обеспечения (Открытое ПО). Основываются на директивах Debian для свободного программного обеспечения, которые большей частью написаны Брюсом Перенсом.

Определение состоит из десяти требований к лицензиям на Открытое ПО:

  • Свободное распространение. Это значит, что лицензия не должна налагать ограничений на продажу и распространение ПО.
  • Доступные исходные тексты. Даже если ПО не поставляется с исходными текстами, эти тексты должны быть легко доступны.
  • Возможность модификации. Простая возможность читать исходные тексты не позволяет экспериментировать с ними и выпускать модификации
  • Даже в случае неприкосновенности авторского исходного текста, производные программы и их исходные тексты должны свободно распространяться.
  • Отсутствие дискриминации против людей и групп людей. Некоторые страны, например, США, имеют некоторые ограничения на экспорт ПО.
  • Отсутствие дискриминации по цели применения. Свободная лицензия должна разрешать все виды деятельности, включая генетические и ядерные исследования, коммерческое применение и т. д
  • Распространение лицензии. Права, связанные с Открытым ПО, должны быть применимы ко всем пользователям программы без заключения дополнительных соглашений, например, соглашения о неразглашении.
  • Лицензия не должна ограничивать другие программные продукты. За исключением банальной несовместимости, пользователь имеет право выбирать, чем пользоваться.
  • Лицензия должна быть технологически нейтральной. То есть, лицензия не должна требовать что-либо от интерфейса или технологий, применяемых в производной программе.
  • Лицензия не должна быть привязана к конкретному продукту. Права на программный код не должны зависеть от того, является ли программа частью какого-то продукта. Человек, распространяющий программу в отрыве от сборника или перенёсший часть кода в другой продукт, имеет такие же права, какие давал сборник. [Источник 1]

История

В 1990-е годы свободное ПО считалось экзотикой в корпоративной среде, а единственным заметным конкурентом проприетарных гигантов во главе с Microsoft долгое время была компания Red Hat, однако со второй половины 2000-х годов ситуация начала быстро меняться. Открытое программное обеспечение стало мейнстримом для многих крупных компаний, и появились десятки надежных поставщиков открытого ПО, которые достигли надлежащего высокого уровня экспертизы и опыта для того, чтобы обслуживать крупных и требовательных корпоративных клиентов.

На сегодняшний день действуют немало игроков, которые в ряде направлений успешно конкурируют с поставщиками коммерческого ПО. Помимо Red Hat, это такие ориентированные на открытый софт организации, как Google, Apache Software, Novell, SUSE, Acquia и др. На рынке появляется все больше OpenSource аналогов существующих проприетарных решений. Сообщества разработчиков открытого ПО становятся сильнее и повышают качество и функциональность продуктов.

Как правило, сама разработка предлагается бесплатно, а коммерциализируется она за счет поддержки и кастомизации. Это создает дополнительную конкуренцию и, как следствие, способствует развитию открытых программных продуктов. [Источник 1]

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

Открытый код

Итак, что же можно считать открытым кодом? Практически всё ПО доходит до конечного пользователя в уже готовом виде. То есть, в виде готовых работающих программ с удобным и понятным интерфейсом. В случае, если код такого ПО является открытым, любой пользователь может внести в него свои изменения, варианты исправления ошибок и так далее. С течением времени версия этого продукта всё больше совершенствуется. Примерами операционных систем с открытым кодом являются Linux, UNIX, Ubuntu[Источник 2].

Преимущества открытого кода:

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

Как у любой программы, у ПО с открытым кодом есть свои недостатки:

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

Особенности открытого кода

Продукт может считаться Open Source программой не только лишь оттого, что его код доступен всем пользователям. Важнейшим условием также является абсолютная бесплатность программы. Под "абсолютной" понимается то, что пользователь не должен платить на протяжении всего её использования, даже при попытке внести свои изменения в код. Данный продукт может быть свободно распространён кем угодно и, соответственно, изменять его, без каких либо ограничений в сфере или сроках использования. Таким образом, подобные программы можно использовать как для ведения бизнеса и обучения, так и для научных исследований, использования в своих целях неограниченное количество времени. Несомненно, всё вышеперечисленное влияет на популярность таких программ среди пользователей. Лицензия таких программ, очевидно, также свободная. Нет абсолютно никаких ограничений на применение, изменение, распространение, использование с другим совместимым программным обеспечением. [Источник 3]

Проприетарное ПО vs. открытое ПО

Рисунок 2 - Проприетарное ПО: результаты опроса
Рисунок 3 - Открытое ПО: результаты опроса

Компания Barracuda Networks, предлагающая ПО для защиты от спама и вирусов, а также для балансировки нагрузки и мгновенного обмена сообщениями, провела опрос среди 228 своих корпоративных клиентов, чтобы определить все преимущества открытого ПО над проприетарным, и наоборот. Второе основное преимущество проприетарного софта — более лёгкая интеграция в компании (которую отметили 47% опрошенных), однако это преимущество хоть и небольшими темпами, но всё-таки теряется. Третьим выгодным отличием проприетарного ПО являются автоматические обновления, что, как мне кажется, выглядит странно (см. рисунок 2).

Что же касается преимуществ проприетарного софта над открытым, то 65% опрошенных указали на недостаток поставщиков профессиональных услуг, как на препятствие к Open-Source (имелись ввиду компании вроде Accenture и Wipro). Однако стоит отметить, что эта ситуация быстро меняется и основные компании, занимающиеся системной интеграцией, уже предоставляют подобные услуги (см. рисунок 3).

Главным козырем открытого ПО является его цена — действительно, свободное ПО куда доступнее проприетарного, и 80% клиентов отметили этот фактор. Вторым важным фактором была названа открытость исходного кода (про это не забыли 57% клиентов Barracuda), а третьим — проверка кода сообществом (отметили 41%). [Источник 4]

Экономическая выгода

В отличие от коммерческого ПО, которое создаётся для получения прибыли, бесплатное ПО создаётся в первую очередь для людей. Однако есть и другие причины. Например, некоторые программы рождаются таким образом: разработчик создаёт проект для своих конкретных целей и нужд - то есть, для собственного использования - а затем обнаруживается, что этот проект также востребован и интересен среди других пользователей, которые приступают к его доработке и усовершенствованию. Таким путём проект становится глобальным и уже не находится под контролем одного человека. То есть, у проекта появляется сообщество. В качестве интересного примера можно рассмотреть проект Blender. Это пакет для создания 3D графики, разработанный компанией NaN. Для открытия исходного кода этого проекта под лицензией GPL сообществом была собрана сумма в €100000. Принято считать, что бесплатные ПО с открытым исходным кодом не приносят своим разработчикам никакой прибыли, однако это не так. Например, компании RedHat и Novell, выпускают дистрибутивы Linux для корпоративных клиентов. Согласно лицензии, они не могут их продавать. Однако в ней ничего не сказано о продаже подписки на обновления их продуктов, обучающие курсы и тому подобное. Mozilla Foundation — некоммерческая организация, разрабатывающая линейку популярных продуктов, таких как браузер Mozilla Firefox и почтовый клиент Mozilla Thunderbird, получает приличную спонсорскую помощь. Корпорация Sun Microsystems является главным спонсором открытого офисного пакета OpenOffice. Список можно продолжить и дальше (см. рисунок 4). [Источник 3]

Модели использования Open Sourse

Высокая эффективность Open Source как модели разработки является бесспорной на сегодняшний день. Но остаётся вопрос о монетизации ПО с открытым исходным кодом. Основатель и главный редактор сайта FOSS Force Кристина Холл выделяет три основных бизнес-модели, которые могут использоваться поставщиками открытых решений.

Двойное лицензирование

Эта модель строится на возможности разработчика выпускать свой продукт под разными лицензиями, однако вторая версия должна иметь некоторые функциональные отличия, учитывающие интересы коммерческих клиентов. Такая модель предусматривает то, что свободный вариант используется для привлечения сообщества к разработке, ознакомления потенциальных пользователей с возможностями решения и организации обратной связи с ними. А другой, «запатентованный», релиз поставляется за деньги, но включает в себя дополнительные функции, сервисную поддержку и другое. Конечно, такая модель применима только тогда, когда разработчик оперирует своим кодом, либо кодом с лицензией, согласно которой третьим лицам можно изменять условия распространения.

Поддержка и услуги

Используется такими успешными компаниями, как Red Hat и IBM. Концепция этой модели состоит в том, что сам продукт остаётся свободным, а деньги разработчик получает за счёт технической поддержки, обучения и настройки. Как правило, в этом случае компании открыто публикуют исходный код, а сами решения распространяют в бинарных файлах. Способ монетизации посредством поддержки наиболее эффективно работает при разработке критически важных для бизнеса решений.

Открытое ядро

Данная модель в последнее время не пользуется особенной популярностью. Итак, она представляет пользователям определённый свободный продукт, функциональность которого увеличивается при помощи проприетарных плагинов. Конечно, основной разработчик имеет преимущества во внесении в продукт изменений. Этот способ кажется наиболее простым и перспективным, но некоторые разработчики считают его неустойчивым в долгосрочной перспективе из-за критически важной роли проприетарных дополнений.

Рисунок 4 - Программы разработанные по концепции open source

Операционная система Linux в контексте Open Sourse

Мир Open Source велик и разнообразен.Здесь можно найти приложение, отвечающее любым требованиям и нуждам. Но в основе всего этого лежит операционная система GNU/Linux, или просто — Linux. Она основана на тех же принципах, что и ПО с открытым исходным кодом — свобода выбора и действий.

Существуют так же и другие открытые операционные системы (например, GoogleAndroid - закрытая, iOS и Symbian- условно открытые), но Linux является одной из самых практичных и удобны. И действительно, эта операционная система лидирует на рабочих станциях и серверах вот уже второй десяток лет, благодаря своей надежности, защищенности, функциональности и непритязательности к оборудованию. Ещё в недавнем прошлом эта операционная система вызывала у неквалифицированных в определённых областях пользователей трудности при работе. Однако в дальнейшем всё резко изменилось. Во многом благодаря росту сообщества пользователей, даже государственным учреждениям некоторых европейских стран и корпорациям, вкладывающим деньги в разработку и улучшение Open Source ПО, Linux стал гораздо дружелюбнее и легче в освоении и использовании. Естественно, в связи с этим он получил широкое распространение среди среднестатистических пользователей персональных компьютеров. [Источник 5]

В отличие от большинства других операционных систем, GNU/Linux не имеет единой «официальной» комплектации. Вместо этого GNU/Linux поставляется в большом количестве так называемых дистрибутивов, в которых программы GNU соединяются с ядром Linux и другими программами. Наиболее известными дистрибутивами GNU/Linux являются Slackware, Debian GNU/Linux, Red Hat, Fedora, Mandriva, SuSE, Gentoo, Ubuntu. Из дистрибутивов российских разработчиков наиболее известны ALT Linux и ASPLinux.

60% серверов в мире используют операционную систему Linux, обладающую высокой надежностью и безопасностью в эксплуатации. Десятки тысяч компьютерных вирусов для Windows не могут распространяться и размножаться на компьютерах с операционной системой Linux.

GPL

Рисунок 5 - Лицензии Open source

Большинство лицензий на программное обеспечение лишаeт права распространять и вносить изменения в это программное обеспечение. Генеральная Публичная Лицензия GPL (General Public License), напротив, разработана с целью гарантировать право совместно использовать и вносить изменения в свободное программное обеспечение, т.е. обеспечить свободный доступ к программному обеспечению для всех пользователей.

Условия Генеральной Публичной Лицензии GPL применяются к большей части программного обеспечения Free Software Foundation, а также к любому другому программному обеспечению по желанию его автора. (К некоторому программному обеспечению Free Software Foundation применяются условия Генеральной Публичной Лицензии GNU для Библиотек). Также можно применять Генеральную Публичную Лицензию GPL к разработанному программному обеспечению.

Говоря о свободном программном обеспечении, имеется в виду свободу, а не безвозмездность. Генеральная Публичная Лицензия GPL разработана с целью гарантировать вам право распространять экземпляры свободного программного обеспечения (и при желании получать за это вознаграждение), право получать исходный текст программного обеспечения или иметь возможность его получить, право вносить изменения в программное обеспечение или использовать его части в новом свободном программном обеспечении, а также право знать, что вы имеете все вышеперечисленные права. Чтобы защитить права, вводится ряд ограничений с тем, чтобы никто не имел возможности лишить этих прав или обратиться с предложением отказаться от этих прав. Данные ограничения налагают определенные обязанности в случае, если кто-либо распространяет экземпляры программного обеспечения или модифицирует программное обеспечение.

Например, если есть желание распространять экземпляры такого программного обеспечения за плату или бесплатно, нужно передать новым обладателям все права в том же объеме, в каком они принадлежат вам. Необходимо обеспечить получение новыми обладателями программы ее исходного текста или возможность его получить. Вы также обязаны ознакомить их с условиями Генеральной Публичной Лицензии GPL. [Источник 1]

Источники

  1. 1,0 1,1 1,2 Открытое программное обеспечение Open Source // Tadviser. [2005-2019]. Дата обновления: 27.10.2011. URL: http://www.tadviser.ru/index.php/Статья:Открытое_программное_обеспечение_(Open_Source) (дата обращения: 28.01.2019)
  2. Что такое Open Sourse?// Белые окошки. [2012-2019]. Дата обновления: 22.07.2013. URL:https://www.white-windows.ru/what-is-open-source// (дата обращения 27.01.2019)
  3. 3,0 3,1 Понять Open Sourse // Хабрхабр. [2006-2019]. Дата обновления: 23.09.2015. URL: https://habrahabr.ru/post/267473/ (дата обращения 27.01.2019)
  4. Плюсы и минусы проприетарного и открытого софта по мнению корпоративных клиентов // Хабр. [2006-2019]. Дата обновления: 04.10.2007. URL: https://habr.com/ru/post/14737/ (дата обращения: 26.01.2019)
  5. Чем отличаются открытая и закрытая операционные системы // КакПросто. [2019-2019]. URL: https://www.kakprosto.ru/kak-902944-chem-otlichayutsya-otkrytaya-i-zakrytaya-operacionnye-sistemy- (дата обращения 28.01.2019)

Ссылки

proglib.io [Электронный ресурс]: Как получить опыт и зарабатывать на Open Source проектах / Дата обращения: 29.01.2019. Режим доступа: https://proglib.io/p/open-source/