программное обеспечение с открытым исходным кодом всегда предполагает

Открытый исходный код 101: Что это такое?

Russian (Pусский) translation by Ilya Nikov (you can also view the original English article)

Проекты с открытым исходным кодом доступны везде, в Интернете, на вашем компьютере и на вашем мобильном телефоне. В этой статье мы рассмотрим:

1. Что такое ПО с открытым исходным кодом?

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

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

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

2. Популярные примеры

Доступны миллионы проектов с открытым исходным кодом. Ниже приведен список некоторых очень популярных и примечательных примеров.

3. Как это работает

Проект с открытым исходным кодом обычно включает три этапа. Давайте быстро рассмотрим каждый этап.

Этап 1. Содействие

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

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

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

Если вы ищете вдохновение в проекте, над которым нужно начать работать, всегда есть много интересных проектов, особенно если вы смотрите на сайтах, таких как GitHub, SourceForge и Google Code.

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

Этап 2: фиксация

Когда вы внесли необходимые изменения или внедрили функцию, которую вы задумали, вы передаете свои изменения основному проекту и отправите их разработчикам проекта для просмотра.

Это можно сделать с помощью GitHub или на платформе SourceForge. Обычно ваши изменения получают ответ от организации или команды, отвечающей за проект: да или нет, указывая, будут ли ваши изменения включены в проект. Если да, то настало время для стадии распространения. Если нет, то возвращаемся на первую стадию.

Этап 3. Распространение

Возможно, наиболее сложным этапом является распространение проекта с открытым исходным кодом. Здесь окончательная версия передается в репозиторий, где был размещен проект, а обновленные версии для не-разработчиков обновляются. На данный момент организация и разработчики попрощались с их напряженной работой и передали ее общественности для общего пользования, и, конечно, критики.

В итоге

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

Источник

Больше чем софт: что такое код open source и для чего он нужен

программное обеспечение с открытым исходным кодом всегда предполагает

Согласно определению на Open Source Initiative, Open Source Software или программное обеспечение с открытым исходным кодом — это ПО, «исходники» которого доступны для просмотра и изменения. Исходный код можно использовать, чтобы создавать свои модификации софта, а также свободно распространять и даже продавать их.

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

В последние годы потребителями открытого ПО становятся целые страны. Французская жандармерия использует на своих компьютерах свободное ПО Ubuntu, а другие министерства переходят с Microsoft Office на бесплатный LibreOffice. Этот офисный пакет также используют министерства обороны Нидерландов и Италии, муниципалитеты Албании и Испании. А правительство Великобритании перешло с формата PDF в документации на опенсорс-формат Open Document Format for Office Applications (ODF) по умолчанию. РБК Тренды разобрались, в чем плюсы и минусы открытого софта.

С чего начиналось свободное ПО

С 1952 по 1955 год компания IBM начала выпускать IBM 701, первый коммерчески доступный компьютер. ЭВМ не продавали конечным потребителям, а сдавали в аренду научным институтам, военным компаниям и госпредприятиям. Машины поставлялись без операционной системы и программ. Ученые и инженеры начали писать софт сами и делились им с коллегами из других компаний, у которых были аналогичные ЭВМ.

Со временем коммерческих моделей компьютеров становилось больше, и они стали доступны обычным пользователям. Однако под каждую из этих моделей придумывали отдельное ПО. Компании-производители создавали каждый свою операционную систему: BESYS, Compatible Time-Sharing System или CP/CMS. Эти ОС начинали продавать вместе с ПК, и иногда они стоили дороже самого компьютера.

Разработчик Ричард Столлман присоединился к лаборатории искусственного интеллекта при Массачусетском технологическом институте (MIT). Он принимал участие в работе над свободным ПО, например, над EMACS — текстовым редактором для мини-компьютеров семейства PDP. Позднее редактор продали коммерческому дистрибьютору. В 1984 году Столлман решил основать проект свободного ПО под названием GNU (рекурсивный акроним от англ. GNU’s Not UNIX).

программное обеспечение с открытым исходным кодом всегда предполагает

В рамках этого проекта энтузиасты при­ду­мали тер­мин «сво­бод­ное ПО» и сформулировали его критерии: использование, изучение, шеринг и улучшение. Они опубликовали ма­ни­фест GNU. В 1985 году Столлман основал фонд Free Software Foundation (FSF) для развития свободного ПО за счет пожертвований. В 1989 году появилась пер­вая вер­сия ли­цен­зии GPL — General Public License («Универсальная общественная лицензия GNU»). Она должна защитить свободу всех пользователей программ, давать права на копирование, модификацию и распространение софта. Столлман добавил в лицензию понятие «авторское лево» в противовес «авторскому праву», по которому пользователи всех производных программ получают все оригинальные права создателя. Позднее появились другие лицензии, которые позволяют использовать свободное ПО, например, лицензия MIT от Массачусетского технологического института или лицензия BSD от Калифорнийского университета в Беркли.

К 1991 году разработчикам удалось создать независимую работоспособную ОС, но ей не хватало ядра. Тогда Линус Торвальдс выпустил ядро Linux с открытым кодом, а в 1992 году лицензировал его по GPL.

программное обеспечение с открытым исходным кодом всегда предполагает

В середине 1990-х годов в open source пришла первая крупная компания Netscape. Ее браузер Navigator был одним из самых популярных в мире, но с появлением Internet Explorer он стал вытесняться с рынка. В 1998 году в Netscape решили открыть исходный код своего браузера. Год спустя компании не стало, но исходный код Navigator стал основой для одного из самых популярных браузеров — Mozilla Firefox.

В 1998 году возникла организация Open Source Initiative (OSI), которая занимается популяризацией открытого кода. В том же году разработчики придумали альтернативу термину «свободное ПО». Они решили внедрить понятие open source, чтобы сменить парадигму бесплатности на доступность. Впоследствии разработчики Эрик Реймонд и Брюс Перенс написали «Определение Open Source».

В 2014 году представители фонда поддержки открытых проектов Linux Foundation заявили, что в будущем 80% стоимости технологий будет приходиться на открытый код и только 20% — на платные программы.

Плюсы открытого кода

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

Для пользователей

Для разработчиков:

Для корпораций:

Минусы open source

Плагиат. Коммерческие структуры могут использовать открытый код для своих продуктов без указания его авторства. Иногда они вносят минимальные изменения в код, чтобы выдавать его за собственный. Подобное случилось с участниками проекта Leela, которые разработали бесплатный шахматный движок Chess Zero с настраиваемой нейронной сетью. Его использовала компания ChessBase, которая выпустила шахматную программу Fat Fritz. Пакет программ ChessBase Fritz компании стоит от €79 до €99. При этом она отрицает, что каким-либо образом задействовала открытый код.

Аналогичная история была и с Amazon Web Services, которая запустила CloudWatch Synthetics Recorder, расширение Chrome для записи взаимодействий с браузером. Однако данный сервис оказался полностью скопирован с проекта Headless Recorder, созданного разработчиком Тимом Нолетом. В AWS факт плагиата не признавали.

Отсутствие поддержки. Открытый код может использоваться в тех проектах, о которых его авторы даже не подозревают. Таким образом, они не могут оказывать должную поддержку. Кроме того, существует риск, что разработчик небольшого проекта отойдет от дел, а продолжать его дело будет некому, и код начнет устаревать. Проект Libraries.io обнаружил более 2 400 библиотек с открытым кодом, используемых минимум в 1 тыс. других программ, не получавших должного внимания со стороны опенсорс-сообщества. Для потребителя такой программы это может стать проблемой. К примеру, когда программист Азер Кочулу удалил свою библиотеку Leftpad из интернета, проблемы возникли у Facebook, Netflix и других проектов.

Незамеченные уязвимости. Каждый открытый проект зависит от более мелких. В этой цепочке зависимостей легко может возникнуть дыра в безопасности, которую могут долго не замечать. В 2014 году такая уязвимость в безопасности Heartbleed была обнаружена в OpenSSL — программе с исходным кодом, используемой практически всеми веб-сайтами, обрабатывающими платежи с банковских карт. Она делала все эти ресурсы уязвимыми для атак хакеров и кражи данных. По данным GitHub, 17% всех уязвимостей создаются со злонамеренными целями. Исследователи отмечают, что они могут просуществовать до четырех лет, прежде чем будут устранены.

Проекты с открытым кодом

Про­ек­ты GNU и Linux послужили основой для многих продуктов. А приход компании Netscape позволил привлечь внимание ИТ-гигантов, которые со временем начали активно вкладываться в open source.

Проект Debian, одной из старейших операционных систем, основанных на ядре Linux, с момента своего основания разрабатывался открыто. Фонд свободного программного обеспечения спонсировал проект с 1994 по 1995 год, а затем создатели организовали некоммерческую организацию «Программное обеспечение в общественных интересах» для финансирования Debian. Проект включает популярные бесплатные программы, такие как LibreOffice, браузер Firefox, почту Evolution, устройство записи дисков K3b, медиаплеер VLC, редактор изображений GIMP и программу просмотра документов Evince.

Организация Apache Software Foundation тоже начиналась как открытый проект по развитию одноименного программного обеспечения, в том числе веб-сервера Apache. Данный сервер считается одним из наиболее популярных. Он позволяет запускать сайты небольших проектов и малого бизнеса на WordPress. В наше время разработчики поддерживают множество софтверных проектов, которые имеют открытую лицензию Apache Software License. Спонсорами ASF выступают такие гиганты как Microsoft, Huawei и Amazon Web Sevices.

Компания Red Hat, производитель программного обеспечения на основе операционной системы Linux, возникла в 1995 году. Она не только выпускала софт, но и занималась технической поддержкой и обучением системных администраторов и разработчиков. В 2018 году компанию купила IBM.

Google развивалась благодаря Linux и открытому ПО. Компания сама поддерживает такие проекты как библиотека машинного обучения TensorFlow, язык программирования Go, ПО для автоматизации развертывания приложений Kubernetes и другие. В 2017 году Google открыла портал для 2 тыс. своих open source проектов. Компания делится своими наработками в области открытого кода, а также рассказывает о поддержке новых инициатив.

Microsoft, которая изначально была против open source, в последние годы также изменила отношение к свободному ПО. В 2018 году компания передала 60 из 90 тыс. своих патентов на разработки Open Invention Network (OIN) — организации, которая владеет патентами на программное обеспечение открытой экосистемы GNU/Linux и предоставляет право на их бесплатное использование. Чуть позже корпорация приобрела портал репозиториев открытого года GitHub, а также активно принимает участие в развитии открытых проектов, в том числе, Linux.

программное обеспечение с открытым исходным кодом всегда предполагает

Организация Open Source Design объединяет дизайнеров, которые разрабатывают проекты с открытым кодом. Она существует более пяти лет. В работе организации принимают участие UX-дизайнеры Mozilla, GNOME, Fedora, Canonical (Ubuntu), WordPress, Drupal, Libre Office, «википедии» для дизайнеров XWiki и других компаний.

В науке опенсорс-подход распространяется не только на открытое ПО, но и на публикации работ исследователей, открытое рецензирование и развитие открытых образовательных ресурсов. Еще в 1991 году физик Пол Гинспарг основал электронный архив arXiv при Лос-Аламосской национальной лаборатории для публикации в открытом доступе препринтов. Теперь там публикуются работы не только по физике, но и по медицине, математике и еще ряду направлений. Европейская организация по ядерным исследованиям (ЦЕРН) поддерживает не только выпуск оборудования с открытым исходным кодом и открытой лицензией, но и собственный портал открытых данных. Ученые применяют инструменты с открытым кодом также для того. чтобы раскрывать методологию своих исследований. К примеру, они используют Open Notebooks для документирования рабочих процессов.

Продукты с открытым кодом используют не только специалисты, но и обычные пользователи, причем иногда они даже не подозревают об этом. LibreOffice, OpenOffice и NeoOffice позволяют бесплатно работать с текстовыми документами, таблицами, графиками, рисовать и делать презентации. 7-Zip, файловый архиватор с высокой степенью сжатия, помогает экономить место на ПК и передавать большие файлы. Графический редактор GIMP способен заменить Photoshop, так как включает инструменты цветокоррекции, фильтры, рисующие инструменты, маски и слои.

Примеру опенсорс-проектов следуют и корпорации, которые открывают свои программы для улучшения. Так, Microsoft решила поделиться кодом приложения «Калькулятор» для Windows, чтобы открытое сообщество предлагало для него исправления и новые функции.

Открытый исходный код в наши дни помогает поддерживать технологии искусственного интеллекта, блокчейна и сложных вычислений. Согласно отчету Red Hat, который опросил 1 250 ИТ-лидеров по всему миру, 90% этих предприятий используют открытый исходный код: 64% компаний задействуют такое ПО для модернизации инфраструктуры, 54% — для разработки приложений, 53% — для цифровой трансформации. За последние два года эти показатели увеличились на 11%, и в будущем открытый код, вероятно, поможет заменять ручные процессы автоматизированным управлением на программном обеспечении, способствуя инновациям.

Источник

История Open Source кратко: от калькулятора до миллиардных сделок

Когда говорят «Open Source», обычно первые ассоциации — это Ричард Столлман и Линус Торвальдс. Но Open Source начался не с них. Когда в 50-х учёные и инженеры писали ПО, например, для IBM 701, они безвозмездно обменивались результатами своего труда и работали над улучшениями программ своих коллег. Тогда ещё не было проприетарного (закрытого) ПО, но Open Source проекты уже были, и это было задолго до Столлмана и Торвальдса. В истории Open Source было много интересного: программы для «Оборонного калькулятора», коммерциализация UNIX, письмо Билла Гейтса, манифест GNU, Linux и миллиардные сделки покупок Open Source компаний. Мы попробовали разобраться в истории и узнать с чего начался Open Source, какие события способствовали его развитию и почему без Open Source IT не был бы таким, какой он есть.

программное обеспечение с открытым исходным кодом всегда предполагает

Если вам интересен Open Source, то, возможно, наш взгляд на историю тоже будет занимателен.

Что такое Open Source для тех, кто совсем не слышал

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

Но что, если мы нарисуем проект сами и построим по нему дом? Потом опубликуем проект в интернете в свободном доступе, чтобы кто-то другой мог его использовать. Другие пользователи используют наши наработки, просят нас что-то поменять или меняют сами, например, цвет фасадов и размер комнат, и также публикуют его в свободном доступе. Это Open Source. А если кто-то на основе производных от нашей работы начнет зарабатывать, например, строить по ним дома, то это тоже Open Source.

Примерно так можно представить себе Open Source ПО.

«Open Source это способ взаимодействия с ПО, который исключает такие занозы, как контракты при покупке ПО или адвокатов. Мы просто хотим, чтобы программы работали, а люди могли присылать патчи к ним»

Брюс Перенс, автор набора правил соответствия Open Source, руководитель проекта Debian 1996-1997.

В определении на Open Source Initiative указано, что Open Source Software (OSS) — это ПО, «исходники» которого доступны для просмотра и изменения. На основе исходного кода можно создавать свои модификации ПО, а также свободно распространять и продавать. OSS — это, в первую очередь, про распространение, свободу использования, а не про деньги, потому что OSS может быть и платным, и бесплатным.

Предпосылки свободного ПО: всё началось с калькулятора

Изучение истории начнём с 50-х, пропустив эпоху «ламповых» компьютеров величиной с дом. Когда ЭВМ стали уменьшаться до размеров небольшой комнаты, то уже можно было ими пользоваться не только в оборонке, например, для вычисления траекторий ракет.

С 1952 по 1955 компания IBM стала выпускать IBM 701. Это первая коммерчески доступная ЭВМ, которая производилась серийно. Аппараты сдавали в аренду научным институтам, военным компаниям и государственным предприятиям. Физическим лицам не давали, да и стоило это космических денег — от 12 до 20 тыс долларов в месяц или больше 100 тыс современных.

IBM 701 называли также Defense Calculator

Выпуск этой модели — первая точка отсчета в истории. Всё потому, что в комплекте с компьютером было только железо — никакой ОС и программ. Все программы ученые и инженеры писали сами и делились с коллегами из других компаний, у которых была такая же ЭВМ. Можно сказать, что IBM 701 — это первые компьютеры, к которым начали писать «свободно распространяемое» ПО.

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

За несколько лет для 701 и его потомков «семисотой» серии успели наработать достаточно большую базу ПО. Например:

Компиляторы РАСТ, которые использовали методы хеширования (в том числе для 704). Их совместно разработали компания PACT (военный подрядчик) и IBM.

SOS — Share Operating System. Это примитивная ОС, которая основана на разработках General Motors.

Появились языки программирования Interlisp, UCI Lisp и высокоуровневый ЯП Speedcoding для IBM 701, который написал Джон Бэкус для облегчения работы с ассемблером. Для IBM 704 он же разработал FORTRAN и компилятор (1956).

IBM 701 подтолкнул рынок к разработке других коммерческих ЭВМ. Например, появился Bendix G-15 (1956) с массой «всего» 450 кг, Librascope LGP-30 (1956) или первый мини-компьютер PDP-1 (1960) для одного оператора. А когда в 1965 вышел PDP-8, он стал хитом. Это первый коммерчески успешный мини-компьютер, который продавался тысячами единиц предприятиям и научным лабораториям: небольшой, быстрый и стоил «всего» 18 000 долларов.

Рождение, рассвет и коммерциализация UNIX

Моделей коммерческих компьютеров было достаточно, они стали появляться у любителей, рынок рос. Но у всех компьютеров был один недостаток — нет ПО. Под каждую модель ОС писали с нуля. Компании-производители создавали каждый свою операционную систему, например, BESYS, Compatible Time-Sharing System или CP/CMS.

Из всех ОС нас больше интересует BESYS. Её создала Bell Labs для IBM 7090 и IBM 7094. На основе этой ОС с 1965 по 1969 MIT, Bell Labs и General Electrics разрабатывали ОС Multics. Это должна была быть инновационная ОС: централизованная файловая система с иерархическим деревом, разделение памяти процессов, виртуальная память, динамическое связывание и другие фишки. Но что-то пошло не так: работа затянулась, возникли разногласия и компания Bell Labs покинула проект.

Но два сотрудника компании Кен Томпсон и Деннис Ритчи решили «переиспользовать» модульный дизайн Multics и написать на её основе другую ОС.

Кен Томпсон и Деннис Ритчи (справа)

Первую версию ОС Томпсон написал в отпуске на домашнем PDP-7, презентовал руководству и получил команду разработчиков. Проект получил название UNIX.

Примечание. Полное описание системы и историю на русском можно прочитать в учебном пособии «Операционная система UNIX».

Только через 4 года (1973) систему вывели в свет с открытым кодом. Неожиданно она начала захватывать рынок. На это были причины:

Уже существовал рынок программ. Все модели «семисотых» IBM после 701 поставлялись в комплекте с ПО, и продавались физическим лицам. Цена, естественно, была включена в стоимость железа. Но под давлением антимонопольных регуляторов в 1969 году компания начала продавать ПО отдельно. ОС UNIX здесь пришелся как нельзя кстати.

Небольшая цена. За Bell Labs тоже следили регуляторы. Компания принадлежала гигантам телекома AT&T и Western Electric и на них всех распространялось антимонопольное законодательство. Поэтому на UNIX нельзя было завышать цены — ОС продавалась по цене не сильно выше себестоимости физической копии.

Ориентация на массовость. UNIX изначально разрабатывалась именно для персональных машин, например, для PDP-11, которых выпустили 170 тыс. ОС сразу была нацелена на массовый рынок любителей.

Простота и модульность. UNIX состоял из небольших модулей. Каждый модуль отвечал за отдельную функцию и легко менялся.

Переносимость. UNIX было не сложно перенести с одного ПК на другой. Поэтому быстро появлялись рабочие версии UNIX под новые модели компьютеров.

Но UNIX уже не была свободным ПО: поль­зо­ва­те­ли не имели права делиться или ­ме­нять исходный код. Однако, благодаря тому, что AT&T была монополией, компания была обязана предоставлять исходный код (с некоторыми ограничениями) разным университетам. Один из университет — Калифорнийский университет в Беркли, начал заниматься улучшениями ОС. Так появилась собственная «университетская» ОС BSD — Berkley Software Distribution.

В первой версии BSD содержался доработанный компилятор языка Pascal, текстовый редактор Ex, а «апдейты» из BSD переносили в UNIX. BSD была лучше, постоянно обновлялась, в ней появлялись передовые сетевые технологии. Но когда университет стал продавать коммерческие лицензии BSD от 750 до 1000 долларов, корпорация AT&T поняла, что теряет прибыль, и в 1979 году ограничила распространение исходного кода ОС. Позже, в 1983 году Bell Labs «отделилась» от AT&T, и антимонопольные законы уже не мешали коммерциализировать UNIX. Цена ОС выросла — теперь она стоила тысячи и десятки тысяч долларов.

Немного цен на UNIX

Проприетарное ПО и Гейтс

Превратить UNIX полностью в коммерческую ОС у Bell Labs получилось, потому что примерно в то же время, что родился UNIX, разработчики ПО всё больше начинают защищать авторские права на свои технологии. Когда всё начиналось с IBM 701, за ОС, компиляторы, языки и программы никто не брал деньги и не требовал авторских отчислений. Все ЭВМ содержались в лабораториях, компаниях, научных центрах — в академической среде, где информация распространялась свободно.

На рынке появлялось больше ПК: они уменьшались, дешевели, их покупало всё больше коммерческих компаний и частных лиц. Появлялось всё больше ПО (в основном на высокоуровневых FORTRAN и COBOL), которое писали энтузиасты или сотрудники коммерческих компаний и всё чаще возникал вопрос, нужно ли лицензировать программы. В итоге в 1974 программы приравняли к литературным произведениям. Началась раз­ра­ботка лицен­зий для программ, по­яви­лись юри­ди­че­ские за­пре­ты на изменение про­дук­тов сторонни­ми раз­ра­бот­чи­ка­ми.

«Свободное ПО появилось вместе с компьютерами. Оно тогда всё было свободное — просто давали друг другу. Только, пожалуй, в конце 70-х, начале 80-х, люди начали закрывать своё ПО, стали говорить: «Нет, вы никогда не увидите исходный код, даже если это важно для ваших нужд. Пожалуй, винить в этом нужно Майкрософт — именно они были пионерами проприетарной модели ПО»

Брюс Перенс, автор набора правил соответствия Open Source, руководитель проекта Debian 1996-1997.

В 1975 году Билл Гейтс и Пол Аллен разработали интерпретатор языка Basic для тогда ещё нового персонального компьютера Altair 8800 от компании MITS. Как ни странно, но интерпретатор работал, MITS заключила контракт с Алленом и ещё тогда студентом Гейтсом. По контракту они получали отчисления за проданные копии BASIC: от 30 до 60 долларов. Цена на копию программы начиналась с 500 долларов, тогда как железо могло стоить меньше сотни.

Возможно, покупатели компьютеров не хотели платить в разы больше за ПО, чем за железо, потому что в итоге компьютеры продавались тысячами, а BASIC — сотнями. Тогда в 1976 году Билл опуб­ли­ко­вал своё зна­ме­ни­тое «От­кры­тое пись­мо эн­ту­зи­а­стам компьютерного клуба».

В письме было много обвинений в краже ПО (прим: дальше вольный перевод).

«…Microsoft получила много хороших отзывов от сотен людей, которые используют наш BASIC, но очень удивляют две вещи. Большинство этих пользователей BASIC у нас не покупало, а если посчитать деньги, что мы получили от рынка энтузиастов, и время, которое мы потратили на создание, получается, что разработка приносила нам меньше, чем два доллара в час. Оно нам надо?…

Большинство из вас воры, вы платите за железо без вопросов, но почему-то думаете, что софт можно копировать друг у друга бесконечно! Вам плевать, платят ли за его разработку программистам. Своим воровством вы препятствуете появлению хорошего софта, потому что никто не хочет заниматься профессиональным программированием бесплатно…Кто из вас согласен потратить три года на то, чтобы написать программу, отловить все баги, задокументировать проект и раздать всё бесплатно?…При этом среди вас есть те, кто перепродает наш BASIC…Они поганят имя компьютерщиков-энтузиастов и должны быть изгнаны из клуба на первом же собрании, где они появятся!…»

Всё закончилось в 1983. Apple Computer Inc. подала иск к компании Franklin Computer Corp. Вторая просто скопировала Apple II вместе с ОС и продавала. Суд первой инстанции не удовлетворил иск, зато апелляционный подтвердил, что на всё ПО распространяется авторское право. С того момента проприетарный мир победил. Но он же и породил мир Open Source.

Движение свободного ПО, Ричард Столлман и GNU

В 1971 году Ричард Столлман учился в Гарварде и присоединился к лаборатории искусственного интеллекта (AI Lab) при MIT. В процессе разработки ПО всё ещё чувствовался дух товарищества, а до письма Гейтса было целых 5 лет. Столлман отлично вписался и поучаствовал в работе над свободным ПО, например, над EMACS — текстовым редактором для мини-компьютеров семейства PDP.

«Я присоединился к растущему обществу так называемых хакеров: не взломщиков, а людей, которые любят программировать, и изучать, что ещё можно сделать с компьютером. Они разработали полноценную ОС, написанную полностью в стенах лаборатории. И я стал одним из тех, кто работал над этой системой: улучшал, добавлял новые возможности. Это была моя работа и я её любил. Да мы все её любили, поэтому и занимались ей»

Ричард Столлман, основатель проекта GNU.

Когда «машина проприетарного ПО» начала заводиться (начало 80-х) лаборатория закрылась: появилось NDA, сотрудничества всё меньше, разработчики уходят в частные компании и даже создатель версии EMACS для UNIX в 1983 году продал её коммерческому дистрибьютору. Но Столлман считал, что людям необходима свобода решений и информации, свобода менять и улучшать ПО, возможность делиться.

«Чтобы купить работающий компьютер в ранние 80-е, нужно было купить ОС UNIX. Но разработчики этой системы старались контролировать пользователей и всё им запрещать. Они говорят, что для получения системы, вы должны дать обещание, что ни с кем не поделитесь. Для меня это фактически означает стать плохим человеком — я должен предать и отрезать себя от общества, не взаимодействовать с ним.

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

Ричард Столлман, основатель проекта GNU.

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

Получается, что покупая программу, владелец не вправе что-то в ней менять. Например, владелец книги может убрать «лишние» страницы, добавить свои, писать на полях, перепродать или дать почитать другу. С программами так не получится — владелец не вправе что-то менять и дать «попользоваться» программой кому-то другому. Именно это и не нравилось Столлману.

«Давление» проприетарного ПО, убеждения и размышления привели Ричарда к осознанию того, что он мог бы сам создавать открытое ПО и, как автор, разрешить его распространение. Тогда он мог бы пользоваться программами не предавая свои убеждения. Начать решил с ОС, которая станет основой, на которой другие энтузиасты смогут создавать свободное ПО (уже тогда UNIX стала закрытой).

Так, в декабре 1984, появился проект GNU. В январе 1984 Столлман увольняется из MIT и погружается в работу. Увольнение было необходимо, чтобы институт позднее не смог предъявить права на разработки. Столлман решил использовать UNIX в качестве основы, чтобы она была переносима и чтобы пользователи ОС могли легко перейти на новую.

«Само название GNU — это уже хак. Это рекурсивная аббревиатура — «GNU’s Not UNIX»…Это имя означает, что я фактически сделал копию коммерческой системы, но это не была она сама. Свою систему я писал, конечно, с нуля, потому что кодом UNIX нельзя было делиться и он был совершенно бесполезен»

Ричард Столлман, основатель проекта GNU.

Юридические нюансы и лицензии

Кроме системы GNU Ричард и энтузиасты работали над философской и юридической стороной свободного ПО:

При­ду­мали тер­мин «сво­бод­ное ПО».

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

Для финансирования работы, Столлман в 1985 году основал Free Software Foundation (FSF). Это благотворительная организация, которая занимается развитием свободного ПО, за счёт пожертвований. Например, сотрудники FSF написали библиотеку GSL и командный интерпретатора BASH.

Чтобы ПО оставалось свободным, нужна была юридическая защита. Поэтому к 1989 году создали пер­вую вер­сию ли­цен­зии GPL — General Public License. Переводится как «Универсальная общественная лицензия GNU». По замыслу, она должна защитить свободу всех пользователей программ, дать права на копирование, модификацию и распространение программ (в том числе коммерческое). Кроме того, Ричард добавил в лицензию «авторское лево», по которому пользователи всех производных программ также получат все оригинальные права, в противовес «авторскому праву».

«GPL – это одна из немногих лицензий, написанных с позиции сообщества, не ставящая во главу угла защиту интересов компаний или правительственных грантов, как в MIT, например. Но это не просто лицензия, а целая философия, которая повлияла на определение Open Source»

Брюс Перенс, автор набора правил соответствия Open Source, руководитель проекта Debian 1996-1997.

Эта первая «каноничная» лицензия на свободное ПО. Но принцип «авторского лева» приняли не все и впоследствии появились другие лицензии, которые позволяют использовать свободное ПО в проприетарном, например, лицензия MIT от Массачусетского технологического института или лицензия BSD от Калифорнийского университета в Беркли (с несколькими вариациями).

В 1991 году появился новый вариант GPL – LGPL (GNU Lesser General Public License). ПО с этой лицензией можно добавлять в проприетарный софт — если это независимый продукт и он отличается от оригинала.

Linux и GNU

Обычно про Ричарда Столлмана принято говорить, что он прежде всего великий философ, а меня воспринимают как инженера, который воплощает его идею»

Линус Торвальдс, создатель ядра Linux

UNIX состоял из разных модулей — подпрограмм. Чтобы создать полный аналог ОС нужно было заменять каждый модуль один за другим: командные оболочки, ассемблеры, компиляторы, интерпретаторы, отладчики, текстовые редакторы, почтовые программы. Это большая работа и Ричард написал анонс с просьбой о помощи.

Часть оригинала сообщения

К 1991 году благодаря совместной работе сообщества энтузиастов были заменены практически все модули, некоторые из которых стали использоваться вне ОС, например, GCC, GNU Debugger или Emacs. Но в системе не хва­та­ло ядра ОС, а про­ект GNU Hurd по его раз­ра­бот­ке не развивался.

В 1991 Линус Торвальдс выпустил ядро Linux с открытым кодом, а в 1992 — ли­цен­зи­ро­вал ядро по GPL. Linux, также как и GNU, использовал для ос­но­вы UNIX. Это и привлекло к проекту сначала внимание любителей, а потом и Ричарда.

«Народ в интернете скачивал компоненты GNU и запускал их на ядре Linux. В конце концов у них получалась ОС, которую они называли Linux»

Ричард Столлман, основатель проекта GNU.

Ядра Linux как раз не хватало, чтобы завершить работу над сво­бод­ной ОС, которую назвали GNU/Linux. В 1992 году появились первые работоспособные версии и это всё изменило — теперь у сообщества появилась полноценная ОС и множество свободных программ.

«Собор и Базар» и Mozilla

В 1997 году уже была готова версия 2.1 ядра Linux на 800 тыс строк кода. Системой пользовалось уже 3,5 млн человек. В это время Эрик Реймонд (программист и хакер) написал эссе «Собор и Базар», которое повлияло на историю. В эссе Эрик демонстрирует два противоположных подхода к разработке.

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

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

«Конгресс Linux в 1997 году был первым местом, где я представил своё эссе публично. Одним из тех, кто его тогда услышал, был Тим О’Райли. Он решил, что мой текст был довольно интригующим и предложил выступить на конференции Perl. А уже на той конференции кто-то из Netscape послушал моё эссе и рассказал о нём в компании. И вот тогда там загорелся огонёк»

Эрик Реймонд, автор «Собор и Базар», сооснователь Open Source Initiative.

Примечание. Тим О’Райли — один из идеологов движения Open Source, основатель издательства O’Reilly и популяризатор термина Open Source Software.

Netscape — первая крупная компания, которая пришла в Open Source. В середине 90-х браузер компании Netscape Navigator был одним из самых популярных в мире. Но когда появился Internet Explorer, он стал вытеснять с рынка Netscape, потому что распространялся бесплатно вместе с ОС Windows. Netscape теряла рынок, приходилось снижать цены, что негативно влияло на компанию.

Своей политикой с браузером компания Microsoft могла получить монополию на стандарты HTTP и HTML, от которых полностью зависит веб. К тому же, в это время Билл Гейтс финансировал разработчиков HTML и все новшества согласовывались с Microsoft. Если бы Microsoft выдавил бы компанию с рынка, это ударило бы и по другому бизнесу компании — разработке серверного ПО.

Примечательно, что Netscape начиналась с того, что основатель компании Джеймс Кларк разослал письма перспективным инженерам из научного мира. Его предложение состояло в том, чтобы совместить научную работу и зарабатывание денег. Первый сотрудник компании — аспирант-программист из университета штата Иллинойс Марк Андрессен, автор первого в мире веб-браузера Mosaic. Это, а также агрессия со стороны Microsoft, возможно, и стали причинами заинтересованности основателя компании произведением «Собор и Базар». В итоге в Netscape приняли решение в 1998 открыть исходный код своего браузера.

«Я написал документ, в котором пытался объяснить, чем компании выгодно открытие исходного кода…Наш исходный код не просто нечто, из чего мы делаем наш продукт, который потом продаём. Это уже наш продукт, в котором заинтересованы наши клиенты. Я пытался объяснить, какая там возможна бизнес-модель, как будем лицензировать, как будем продавать другие продукты…

Я использовал эссе Эрика, чтобы наглядно показать как работает распределённое программирование: как мы сможем использовать рабочие руки сообщества, чтобы разрабатывать нашу программу дальше, их силами. Люди в интернете могли бы помочь нам писать код, поэтому я и сделал отсылку на эссе. Когда моя бумага разошлась, люди, конечно тут же брали и читали работу Эрика»

Фрэнк Хеккер, в то время инженер компании Netscape.

В 1999 компании не стало, а бесплатный Explorer забрал 90% рынка. Но исходный код браузера стал основой для одного из самых популярных браузеров в мире — Mozilla Firefox. Забавно, что браузер Netscape вытеснил с рынка Internet Explorer, а уже его обогнал Mozilla Firefox — потомок Netscape.

Рождение термина «Open Source»

После события с Netscape стало понятно, что коммерческие компании могут и желают участвовать в развитии свободного ПО. Но для этого необходимо придумать замену термину «свободное ПО», чтобы убрать ассоциации с чем-то дешевым, непонятным, бесплатным и никому не нужным. Чтобы поменять эту парадигму в 1998 в офисе компании VA Linux Systems встретились несколько человек:

Эрик Реймонд, автор «Собор и Базар»;

Ларри Августин, доктор наук, со-основатель и генеральный директор VA Linux Systems;

Кристин Питерсон (присутствовала по телефону);

Сэм Окланд (тогда сотрудник VA).

Они и придумали замену термину «свободное ПО» — Open Source, чтобы сменить парадигму бесплатности на доступность.

Чтобы закрепить новую парадигму Эрик Реймонд и Брюс Перенс написали «Определение Open Source», основываясь на политике Debian. В него входят 10 правил, которые и определяют текущее развитие движения.

«Мы приняли решение, что нам нужен некий экзаменационный лист, который бы чётко определял, что такое Open Source. В результате мы пришли к документу, который называется «Определение Open Source». Он вырос из путеводителя по Debian, который написал Брюс Перенс»

Эрик Реймонд, автор «Собор и Базар», сооснователь Open Source Initiative.

В том же 1998 они основали организацию Open Source Initiative (OSI), которая занимается популяризацией Open Source. Можно сказать, что с этого момента и возник Open Source.

Примечание. OSI и FSF пошли разными путями. Во второй больше внимания на «free» — на свободы. Для OSI основной термин — «Open Source Software».

Настоящее «свободного ПО»

«Мне кажется, что коммерциализация важна. Мы хотим чтобы наш софт был мейнстримом»

Брюс Перенс, автор набора правил соответствия Open Source, руководитель проекта Debian 1996-1997.

Про­ек­ты GNU и ядро Linux стали основой на которой выросли многие другие продукты и проекты. А поступок компании Netscape привлёк внимание людей и бизнеса к движению свободного ПО и стал одной из причин того, что сейчас IT-гиганты активно вкладываются в Open Source. Всё это вместе привело к тому, что ничто не мешало (и не мешает) развиваться Open Source в коммерческом направлении.

Debian. Этот проект полностью основан на философии GNU и связан с фондом свободного ПО, от которого также получал финансирование.

Apache. Apache сегодня воспринимают как Apache Software Foundation — большую компанию, которая поддерживает много OSS-проектов. Но компания начинала с веб-сервера Apache, очень популярного в свое время. Программа предрешила популярность Linux для веб-серверов. В 1993 году когда появился Apache, рынок интернет-провайдеров стал расти огромными темпами благодаря тому, что Linux и Apache выгоднее для бизнеса, чем проприетарное ПО.

Gnome. Разработка графической среды Gnome привлекла к GNU/Linux пользователей, которые раньше и не задумывались об Open Source ПО. Теперь ОС можно было пользоваться всем, вне зависимости от уровня технических знаний.

Red Hat. Возникла в 1995 году и выпускала ОС Red Hat Linux, продукты на основе свободного ПО, занималась технической поддержкой и обучением системных администраторов и разработчиков. Red Hat — это пример компании, вся деятельность которой основывалась на открытом ПО. Она была очень успешной: на пике «карьеры» в ней работало 3 500 сотрудников и она была включена в S&P500. В 2018 году компанию купила IBM.

Без Linux и открытого ПО не было бы Google. Сейчас корпорация поддерживает 2000 Open Source проектов, среди которых TensorFlow, Go и Kubernetes.

В 2001 Oracle обратила внимание на Linux, как важную платформу для баз данных, опубликовала под лицензией GPL OOCFS2 для Linux и перевела часть внутренних систем на GNU/Linux. Это помогло закрепить успех Open Source в сфере баз данных. Сейчас Oracle активно участвует в проектах Java, Linux, Kubernetes.

Конечно, так происходит не из желания корпораций заняться благотворительностью.

Участие в Open Source проектах привлекает внимание к другим своим проектам, привлекает энтузиастов, что помогает развивать экосистему вокруг продуктов компании.

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

Банально, но скупка Open Source компаний позволяет удерживать создателей проектов и обеспечивать поддержку, а значит работоспособность ПО.

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

На этом можно закончить «экскурс» по истории Open Source. Конечно, мы не рассмотрели много других событий, но они глобально не влияют на развитие движения.

Из всей истории наша главная мысль в том, что Open Source — важная часть современного интернета и IT. Без Open Source или свободного ПО, как предшественника, не существовало бы интернета, веба и IT, как он есть.

Если захотите обсудить статью — добро пожаловать в наш Телеграм-чат. Там же можно обсудить и Open Source проекты.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *