Исторический фон для создания OSI
Free Software зародилось вместе с первыми ПК примерно в середине 70-х, но тогда оно всухую проигрывало проприетарному ПО, которое было единственной основой всего мира программного обеспечения. И тем более, не было ни идеологии, ни философии open source — в общем, «настоящих буйных мало, вот и нету вожаков». Первый слом произошёл с появлением Интернета, в котором Unix-подобные системы играли ощутимую роль.
Тогда же появился и первый «вожак» и по-хорошему «буйный», который впервые сформулировал концепцию Free Software, — Ричард Столлман. После первого эксперимента со свободным ПО (драйвер для принтера), он приступил к разработке собственной операционной системы Hurd. Понятно, что один он с ней никогда бы не справился, поэтому в 1983 году он создал GNU (GNU’s Not UNIX), внутри которого при прямом участии Столлмана появились и Emacs (текстовый редактор), и GCC (компилятор), и сборщик gmake, и др. Спустя 2 года существования GNU выпустили манифест, в котором не только рассказали о проекте, но и призвали программистов всего мира присоединиться к движению Free Software.
Fossmint.com. Молодой Столлман и его философия.
Со следующей организацией Столлмана знакомы многие из нас (и многие получают их информативные рассылки) — Free Software Foundation. Тем временем, текстовый редактор Emacs был использован компанией Unipress для создания своего платного проприетарного продукта. Это был удар со стороны бизнеса — стало ясно, что идею нужно каким-то образом защищать. Сперва появилась идея copyleft (по образцу copyright) — кто угодно мог использовать код, модифицировать его и распространять, но только на тех же свободных условиях. Из копилефта выросла лицензия GNU General Public License (GPL) как ответ наглому Юнипрессу. В 1985 году FSF сформулировал четыре основных признака, по которым можно отнести софт к свободному ПО. Вот они:
- запускайте ПО для любых нужных вам целей;
- изменяйте программу в соответствие с вашими потребностями — чтобы эта свобода была реализована на практике, должен быть доступ к исходному коду, так как без этого внести изменения в программу весьма проблематично;
- распространяйте копии, бесплатно или за вознаграждение;
- распространяйте изменённые версии ПО, чтобы сообщество могло извлечь выгоду из всех ваших улучшений.
К тому времени у Столлмана появились сторонники и… противники, которые вроде как были за свободное ПО, но и поживиться за его счёт были не прочь. Столлман был (и остаётся!) воинствующим сторонником идеального мира полностью открытого ПО, а вот часть его последователей решили создать полумеры и придумали open source.
У каждой войны и революции, как известно, есть причина и повод. И если в бизнесе и деловом мире причиной чаще всего выступают деньги, то поводом стало одно событие, опять же связанное с деньгами. И вот здесь самое время вспомнить о начале нашего поста.
OSI добра
Итак, всё началось с того, что компания Netscape Communications Corporation опубликовала исходный код web-браузера Netscape Communicator как открытое программное обеспечение. Причиной такого поступка послужила конкуренция с браузером Microsoft Internet Explorer, которая привела к заметному снижению прибыли. Кстати, выход Netscape в опенсорс через 5 лет привёл к тому, что появился новый браузер — Mozilla Firefox (между делом, вот прекрасная PDF со сравнением проприетарного и свободного ПО — на англ. языке.).
Прикладное софтоведение. Источник: Google
Как появился Open Source, который должен был стать понятным всем? 3 февраля 1998 года в Пало-Альто собралась конференция по Free Software, которая и дала начало явлению (а это явление — социальное, культурное, экономическое) open source.
Люди, собравшиеся на конференции, преследовали две цели: во-первых, сделать концепцию свободного ПО более понятной и прозрачной для широких масс, а во-вторых, отвязать мысли пользователей от слова «free», что испокон капиталистических веков трактовалось не только как свобода, а больше как «бесплатный». Ну примерно как на этой картинке:
Поэтому одна из участниц конференции, Кристин Петерсон, предложила формулировку «open source». Примерно в это же время Эрик Раймонд и Брюс Перенс основали Open Source Initiative (OSI) — организацию, целью которой стало продвижение идеологии открытого ПО, оказание технической поддержки и, конечно, контроль за соответствием практики использования софта свободным лицензиям (коих к нашему времени стало несколько). Понятно, что Столлман был возмущён таким раскладом, обвинял OSI в том, что они от философии ушли к методологии разработки (сравните free и open).
Что было дальше? В принципе, всё ожидаемо: коммерциализация отдельных аспектов, создание «лукавых» с точки зрения free software форм лицензирования (например, ПО, которое можно использовать в коммерческих разработках) и главное, потрясающе главное — то, ради чего и почему сегодня про 20-летие Open Source на Хабре пишет разработчик проприетарной коммерческой CRM-системы — open source покорил мир, в движение влились сотни тысяч, миллионы программистов со всего света. Появились приложения, программы, целые системы и отдельные библиотеки, операционные системы и языки программирования. Без опенсорса нет практически ни одного серьёзного проекта. Одними из первых open source поддержали Linux, Sendmail, Perl, Python, Apache. А одним из первых проектов, показавших, что свободное программное обеспечение может стать ещё и успешным бизнесом, стала SugarCRM, получившая несколько популярных и не очень форков.
За что стоит любить open source?
- Первое и главное — над открытым исходным кодом работают сотни тысяч программистов, увлечённых профессионалов, которые создают удобные библиотеки, инструменты, полезные программы. Это не просто разработчики, это наднациональное сообщество, объединённое одной целью — сделать мир лучше, жизнь проще, будущее технологичнее. Это звучит очень пафосно, но, если вы не обитатель Хабра, а просто случайно попали в статью с поиска, зайдите на GitHub и посмотрите на количество опенсорсных проектов — там есть открытое ПО на 337 языках программирования, среди которых первое место держат JavaScript, Python, Java, Ruby, PHP, C++.
Forbes.com - Возможность находить любое, даже самое уникальное ПО для работы и обучения даёт огромные возможности малому бизнесу, студентам и науке.
- Open Source проекты — это практика для студентов-программистов, без понедельников и начальников. Можно начинать с небольших проектов, разбираться, создавать своё, а потом контрибьютить в известные проекты, пока одногруппники дозубривают доисторические учебники. Это даст огромный плюс и в учёбе, и в глазах работодателя.
- Активные сообщества обеспечивают поддержание продуктов в актуальном состоянии, происходит постоянная отладка — таким образом, популярное свободное ПО часто обновляется и обеспечивает пользователей всеми необходимыми функциями.
- Свободное ПО можно адаптировать к своим потребностям — если есть время, голова на плечах и, как ни странно деньги (опционально). То есть в теории можно не ждать, когда какой-то вендор вытащит фичи из бэклога, а взять open source и доработать самому.
- Свободное ПО делает коммерческий софт лучше и дешевле для конечного пользователя, ведь опенсорсные компоненты не ложатся в себестоимость. Например, мы в разработке своей RegionSoft CRM используем два важных open source проекта. Первый — это СУБД Firebird, которая нас не подводит на внедрениях даже самого крупного масштаба, второй — виртуальная АТС Asterisk, мощная система VoIP, которая покрывает почти все потребности бизнеса в телефонии и управлении телефонией.
На самом деле, мы знаем, за что open source любить не стоит, но не писать же об этом в юбилейной статье! Обязательно как-нибудь коротко напишем об аргументах против (исключительно в бизнес-решениях).
Ну и напоследок два факта об open source:
- Логотип OSI — отсылка к букве О (open), которая скрещена с замочной скважиной, символом разблокированного исходного кода. Его создал Колин Виброк.
- Microsoft некоторое время назад перестал бороться с open source, в 2016 году присоединился к Linux Foundation, и теперь даже появился слоган «Microsoft loves Linux». Корпорация уже открыла исходный код .NET Core 1.0, PowerShell, Visual Studio Code и Edge. На GitHub Microsoft в лидерах по количеству участников и опережает Facebook, NPM и Angular.
15 лет назад Стив Балмер назвал open source раковой опухолью, а сегодня Сатья Наделла считает совершенно иначе.
Вот, как это выглядит:
А вот прекрасная альтернативная трактовка:
Согласитесь, мало кто за 20 лет из инициативы и бельма на глазу проприетарного ПО смог стать краеугольным камнем развития и функционирования всей отрасли информационных технологий.
А сегодня, с опозданием почти на неделю, мы поздравляем open source с 20-летием и даже не будем желать развития и процветания — потому что без него уже невозможно развитие науки, бизнеса, ИТ, искусственного интеллекта, нейросетей, космоса. В общем, всего человечества.
Be open, друзья!
Комментарии (18)
easimonenko
09.02.2018 17:15Неплохо было бы уточнить, в чём сыр-бор. Чем отличается ПО с открытыми исходниками от свободного ПО? Ведь не всякое открытое ПО является свободным. В этом одна из основных подоплёк и спора между FSF и OSI. В мире открытого ПО преобладают лицензии типа BSD, MIT, Apache, которые позволяют превращать открытое ПО в закрытое ПО. Это противоречит изначальным целям открытия и освобождения исходников.
justhabrauser
10.02.2018 09:18Это древний холивар.
Вы немного ошибаетесь: всякое открытое (open) ПО есть свободное (free), но не наоборот.
Там было что-то про free beer, не помню уже.
Поэтому freeware != opensource software.
Ну так тут принято.
Сравните лицензии MIT и GNUkhim
10.02.2018 09:44Вы немного ошибаетесь: всякое открытое (open) ПО есть свободное (free), но не наоборот.
Все 4 варианта возможны.
WTFPL — Free Software, но не Open Source
Artistic-1.0 — Open Source, но не Free Software
Хотя да, лицензий, которые признаёт FSF и не признаёт OSI и наоборот — немного.
А по поводу того, что free software — лучше… Столлман аж целое эссе написал… что, впрочем не отменяет того факта, что количество людей, желающих «вести священную битву за свободное ПО» — меркнет на фоне количества прагматиков…
Я бы даже сказал, что без прагаматиков — ничего бы не было. Кроме emacs'а, может быть. Самый важный свободный проект, GCC, изначально был создан Столлманом, но «в каждой бочке затычкой» он стал благодаря прагматикам. А когда Столлман решил закрутить гайки, прагматики просто взяли — и создали другой компилятор и другую стандартную библиотеку.
KeyJoo
09.02.2018 23:24-2Да хотя бы на картинки посмотрите америкосовские: их менталитет не таков, как наш, и они видят в корпорации Microsoft — Оганизованную религию с богом Windows, а в OpenSource = религию атеизма BSD/Nix/Android etc… Не мракобесие ли чудят? Везде ищут тайный смысл...
true-grue
10.02.2018 16:15+2А я бы хотел напомнить о ПО с «лицензией» public domain (PD, «общественное достояние»). Такого рода ПО всегда находилось вдали от идеологической конфронтации и коммерческой выгоды. Конечный пользователь о нем часто и не слышал. Но именно программы с пометкой PD были двигателем развития информатики. Достаточно вспомнить такие исторические примеры, как SPICE и MACSYMA.
Помните знаменитое письмо Гейтса к членам клуба любителей компьютера по поводу кражи Altair BASIC? Менее известно, что в то же самое время вышел замечательно спроектированный Tiny BASIC (1976), созданный Деннисом Аллисоном из Стэнфордского университета. В коде Tiny BASIC фигурировало «Copyleft; All Wrongs Reserved». Tiny BASIC с различными добавлениями успешно использовался на некоторых микрокомпьютерах.
Мне думается, формат PD для определенного рода программ и сегодня актуален.EviGL
10.02.2018 17:51+1А в чём основные отличия от Apache, BSD, MIT? Мне всегда казалось, что последние — как раз адаптация для мира ПО того же общественного достояния.
true-grue
10.02.2018 18:33+1Как ни странно, на этот вопрос не так уж легко ответить. По крайней мере, ответ с учетом юридических тонкостей вполне заслуживает отдельной заметки на Хабре.
Некоторые известные разработчики, в частности, D. J. Bernstein, считают, что явное указание своей работы, как общественного достояния, вполне достаточно. cr.yp.to/publicdomain.html
Другие указывают, что в некоторых странах понятие «общественное достояние» может трактоваться по-разному.
Насколько я знаю, в настоящее время наиболее полно соответствует понятию public domain лицензия CC0: creativecommons.org/share-your-work/public-domain/cc0
AquiHostStrider
10.02.2018 21:56+1Я просто присоединюсь к поздравлениям. Пожелаю всем творческих и профессиональных успехов. Да, про GNU и FSF я в своё время узнал из журнала «Компьютерное Обозрение», itc.ua. (Я, правда, бросил его читать более 10 лет назад, но речь сейчас не об этом.)
А кое-кому, вроде сотрудников Santa Cruz Operation, пожелаю… м-м-м… э-э… всего того, чего они заслуживают, в десятикратном размере (злорадный хохот).
easimonenko
Нисколько не умаляя достоинства статьи:
open source -> открытые исходники
free software -> свободное ПО
В чём проблема писать и говорить на чистом русском языке, а не на креольском?
Axelus Автор
Это общепринятая терминология в области IT. Причина лишь в этом :)
easimonenko
Не верно, потому что:
1) при заимствовании терминологии в русский язык пишут кириллицей, плюс слова видоизменяются под язык, например, program -> программа;
2) не заимствуют терминологию, если есть родные эквиваленты, причём давно устоявшиеся.
Analitik_Telecom
Мицгол, перелогиньтесь! :-) Вот три года отпахал в open source проекте, и ни разу не говорили мы про «открытые исходники», «опенсорс» — да, было. Да и вообще в ИТ-среде крааааайне редко заменяют open source на открытые исходники.
Wexter
Open source/free software это не только открытые исходники и свободное ПО, это больше идеология и в этом контексте бессмысленно переводить их на русский язык.
easimonenko
Почему тогда на официальном сайте GNU, одного из проектов FSF, например, здесь http://www.gnu.org/philosophy/philosophy.html все слова переведены?
khim
Потому что фанатики фанатичны во всём? Open Source — прагматики, Свободное ПО — фанатики, неудивительно что первые говорят по русски об «опенсорс», а вторые — о “ПО с открытыми исходными текстами”… первое просто тупо кореоче и проще произнести…
easimonenko
Что ж, переходите тогда уж полностью на английский язык, будете тупо в среднем в полтора раза короче говорить. Да и речь станет гармоничней.