20 лет инициативе Open Source
«Всё началось с того, что компания Netscape Communications Corporation опубликовала исходный код web-браузера Netscape Communicator как открытое программное обеспечение. Причиной такого поступка послужила конкуренция с браузером Microsoft Internet Explorer, которая привела к заметному снижению прибыли.» Именно так мы планировали начать статью про 20-летие OSI. Но потом как-то подумалось, что это нам всем далеко за 30, а Хабр наверняка читают те, кто в 1998 году только родился, и начать рассказ с середины «для посвящённых» было бы просто нечестно. Конечно, всё началось раньше. Гораздо раньше.
Исторический фон для создания 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, друзья!