Что такое опен код
Открытый исходный код — благо или троянский конь?
Сразу хочется сузить рамки — разговор идет о продаже программного продукта (php+MySQL).
Вопрос — (про)давать ли исходный код?
Аргументы в пользу закрытого кода.
— Подавляющему большинству клиентов нужно чтобы продукт работал и исходный код не нужен.
— При закрытом коде проще осуществлять тех. поддержку — клиент своими руками не залезет куда не надо и не породит новых уникальных ошибок, в которых хрен разберешься.
— Сложнее стырить исходный код. А точнее его можно получить, но вот что-то серьезное переделать в этом «исходнике» сложно — максимум сломать защиту, внести незначительные правки.
— Есть некоторая надежда разработчика, что закрытый код спасет от перепродажи его продукта лихими людьми.
— Есть легкая надежда, что купят продукт, потому как «сломать» не смогут, либо «ломанный» побоятся использовать.
— Народ (наш народ 🙂 ) привык что если код открыт, значит бесплатно!
Аргументы в пользу открытого кода.
— Иногда клиенту просто хочется иметь возможность взглянуть на код. То есть не обязательно даже его иметь, но чтобы возможность такая была. Это могут быть параноики безопасности в хорошем смысле или просто борцы за какие-то права.
— Клиент имеет возможность внести правки, причем весьма серьезные. Вплоть до потери совместимости с последующими версиями продукта (хотя вот это возможно уже в минус).
— Нет проблем с дешифратором закрытого кода. Не секрет, что такие проблемы встречаются (отсутствие Зенда и иже с ним, какие-то локальные глюки т.д.).
— Есть возможность построить сообщество разработчиков купивших скажем девелоперскую лицензию с доступом к открытому коду.
Добавлю немного конкретики.
Вопрос «открытого кода» интересует в связи с «внутрифирменной» дискуссией по поводу развития одного из наших продуктов (CNCat). Мы проходили разные стадии (открытый код, Зенд) и сейчас осуществляем обфрускейтивание (замену названий переменных на бессмысленные) и легкую шифрацию. Когда мы давали продукт в открытом коде и давали его бесплатно — много кто тырил код и на его основе делали свои продукты без всяких ссылок на нас. Что было немного обидно и сейчас не хочется на этом обжечься опять.
Однако правильное позиционирование открытого кода (АПИ, поддержка, контроль и т.д.) может дать нам приток сторонних разработчиков новых фич, мощную обратную связь, отладку — в общем новый импульс.
Дык хочется получить какие-то дополнительные аргументы или мысли по данному вопросу. Как бы Вы повели себя как клиент, как разработчик (конечно желательно чтобы Вы им являлись, чтоб не голословно)? Может есть какие в мире устоявшиеся теории и доказанные практикой подходы (типа фри версия закрыта, купленная открыта)?
Почему и зачем писать open-source код?
Под катом интересный опрос
Возможно, заголовок этой статьи покажется Вам не корректным, ”Как можно писать open-source код? И что это за код такой?” — спросите Вы.
Чем open-source код отличается от “просто-кода”? Open-source проект — это ответственность за качество кода, за покрытие его тестами, за документацию, за своевременные ответы на вопросы и реагирование на bug репорты, за обработку pull-request’ов. Ваше поведение и мысли во время написания open-source кода, который увидит мир будут другие, соответственно и код на выходе получается другой.
Open-Source проект живет своей жизнью — жизнью сообщества, которое образуется вокруг проекта. Идеи, отзывы, bug репорты, обсуждение и благодарности от других членов сообщества влияют на Вас и проект напрямую, и стимулируют написание кода — понятного, документированного и покрытого тестами.
Про опыт:
Однажды, выложив свой код на GitHub, я уже не смог остановится. Первым моим публичным репозиторием был PHP-код, предназначенный для интернализации на основе MySQL таблицы. Этот репозиторий не собрал звезд и сомнительно, что был кем-то замечен. Не в звездах дело, дело в том что Ваш код доступен всем. Ваш код не скрыт на сервере, не минифицирован/аглифицирован в браузере и не скомпилирован на жестком диске пользователя — он выставлен всем на показ. Осознание данного факта просто обязует Вас писать код в общепринятой манере (в соответствии с тем языком на котором Вы пишите), соблюдать отступы, добавлять описание к методам и классам (как минимум к публичным), адекватно именовать переменные, классы, методы и функции, соблюдать правило do-not-repeat-yourself.
Я уверен, что публикуемый мною код полезен другим разработчикам ровно на столько же, как и мне самому. Публикуя код, я не только делюсь своим опытом с миром, но и самоорганизуюсь ровно на столько же, как и организуется мой код.
Писать общедоступный код — это как посещать светские мероприятия. Вы выглядите, разговариваете и соответствуете высшим стандартам IT-индустрии, или как минимум стремитесь к ним. Писать общедоступный код — это как обсуждать функционал IT-коллективом равным по масштабу всему IT-сообществу планеты. Любой из членов open-source сообщества может предложить изменения, сообщить о bug’е и вынести на обсуждение дальнейшее развитие проекта.
Приятное в open-source проектах — это эмоции и ощущения, испытываемые от понимания, что твой проект полезен. Когда количество скачиваний растет вверх, когда вы получаете отзывы, когда к проекту присоединяются люди со всего света и Вы вместе делаете проект лучше — это то, ради чего стоит писать код. В этот момент простое написание кода для решения поставленных задач перерастает во вклад в IT-сообщество.
Про опасения Студий и Компаний:
Ваша компания пишет код? Вы считаете, что написанный код принадлежит только Вам и Вашим клиентам, которые за него заплатили? Если Ваш ответ — ”да”, подойдите к Вашим разработчикам и попросите посчитать, сколько строк кода написано за стенами Вашей компании третьей стороной, скачено с SourceForge, GitHub, установлено через NPM, apt-get, aptitude, и других источников дистрибуции кода.
Когда речь идет об open-source, многие руководители (не все, но такие есть) считают что на GitHub лежат целые проекты, готовые к использованию и зарабатыванию денег. Когда Ваши сотрудники предлагают опубликоваться на GitHub, они собираются “слить” весь код, за который разработчики получили зарплату, а кто-то другой (нехороший) соберет клон Вашего продукта и будет зарабатывать деньги. Или хуже того, обнаружит эксплойт и будет его тайно использовать. Это абсолютно не так. Во-первых, никому не нужен Ваш проект целиком кроме Вас и Вашего клиента, во вторых, — не нужно выкладывать проекты целиком. Маленькие кусочки, классы, методы, адаптеры и т.п., из которых Ваш проект состоит, могут оказаться полезными не только Вам. На Ваш вклад IT-сообщество ответит поиском и исправлением ошибок и уязвимостей, дополнением функционала и улучшением производительности. Возможно, Вы найдете нового сотрудника в лице активного контрибьютора.
Open-source проект это:
Во вселенной, где люди не научились работать в open-source сообществе, нет возможности использовать предыдущий накопленный опыт IT-индустрии и аккумулировать его. В свою очередь, IT-компании выделяют большую часть бюджета на платный софт. И в целях экономии на покупке и подписках на софт — пишут свои решения, что вызывает рост штата разработчиков в десятки раз, готовый выполнять задачи от написания ОС и фреймворков до текстовых редакторов, в которых этот код пишется. Хорошо что в нашей вселенной open-source сообщество активно развивается и нам это не грозит.
Выкладывайте Ваш код. Выкладывайте код, написанный в стенах компании (с соглашения всех руководителей). Сделайте вклад в развитие IT-индустрии. Читайте чужой код. Улучшайте чужой код. Всегда пишите bug репорты. Задавайте вопросы владельцам проектов и не забывайте отвечать на вопросы, заданные Вам. Спасибо.
Термины и понятия открытого кода
Чем отличается открытое и свободное программное обеспечение? Что такое открытая лицензия и исходный код? В этой статье мы разберем основные термины и определения, которые нужно знать для изучения темы открытого кода.
FOSS (Free and Open Source Software) – эту аббревиатуру используют, когда говорят про свободное и открытое программное обеспечение с открытым исходным кодом.
Открытое программное обеспечение (open-source software) – это программное обеспечение с открытым исходным кодом, который доступен для просмотра, изучения и изменения. Пользователь может сам доработать открытую программу с помощью кода. Открытое ПО пользователь может использовать и изменять под свои требования.
Открытое ПО может существенно отличается от свободного ПО. К примеру, лицензия продукта может разрешать исследовать его исходный код, но при этом запрещать вносить в него изменения, распространять копии. В этом случае продукт будет открытым, но не свободным.
Известные открытые программы: веб-сервер Apache, операционная система Linux и браузер Netscape Navigator.
Открытая лицензия – лицензионный договор, по которому можно использовать исходный код программы для нужд пользователей с минимальными ограничениями. К таким ограничениям относится требование ссылаться на предыдущих создателей или сохранять свойство открытости, если программа будет распространена в дальнейшем.
Таким образом, чтобы считать лицензию открытой, должен быть доступ к исходникам и возможность вносить в них изменения. Открытая лицензия подразумевает, что ПО можно свободно использовать, изменять и делиться им. На сайте Open Source Initiative есть список одобренных лицензий для свободного ПО.
Donationware (от английского donation «пожертвование» и software «программное обеспечение», сокращенно donateware) – один из вариантов монетизации проектов с открытым кодом. Дело в том, что открытое ПО не всегда распространяется бесплатно. Разработчики внедряют различные схемы поддержки проекта.
Например, популярная модель donateware предполагает, что пользователи могут сделать пожертвование и тем самым поддержать разработчиков. При этом пользователю предоставляется полностью функционирующее программное обеспечение.
Впервые такой способ был опробован в 1987 году для игры Ballerburg. Программист распространял игру бесплатно, но просил о пожертвовании, предлагая взамен исходный код игры.
LAMP – группа открытых программ с открытым исходным кодом для создания и запуска веб-серверов. Аббревиатура образована от первых букв входящих в группу компонентов: операционная система Linux, веб-сервис Apache, свободная система управления базой данных MySQL, язык программирования PHP. В широком смысле под термином понимают независимый и гибкий подход к созданию серверного приложения.
Github – крупнейшая платформа для разработки программного обеспечения и его хостинга на облачном сервере. Сообщество объединило более 24 миллионов человек. На сайте разработчики публикуют свои проекты с открытым исходным кодом, просматривают код друг друга, оставляют комментарии и помогают в разработке. Исходный код проекта хранится в репозитории, так называют хранилище исходного кода вашего программного проекта.
Например, такие компании как Microsoft, Google, Facebook используют данный ресурс для размещения исходных кодов своих разработок. Теплица социальных технологий также всегда публикует исходный код проектов на Github.
Ключевые организации
Проект GNU – операционная система типа Unix, состоит из множества свободных программ: приложений, библиотек, средств разработки, игр. Название проекта произошло от фразы GNU’s Not Unix.
Проект основал программист Ричард Столлман в 1984 году, именно с его запуска началось движение в поддержку свободного программного обеспечения. У проекта есть собственная лицензия GNU General Public License (GNU GPL) для ПО.
Фонд свободного программного обеспечения (Free Software Foundation, FSF) – некоммерческая организация, которую основал Ричард Столлман в 1985 году. Сейчас сотрудники и добровольцы фонда работают над юридическими и организационными вопросами в области свободного ПО.
При поддержке ЮНЕСКО фонд разработал каталог свободного ПО Free Software Directory. Также фонд учредил две премии: за продвижение свободного программного обеспечения и свободного ПО за социально значимые проекты.
Open Source Initiative – некоммерческая организация, которая занимается защитой и продвижением программного обеспечения с открытым исходным кодом. Ее создали хакеры, программисты-хакеры Эрик Реймонд и Брюс Перенс в 1998 году. Деятельность организации поддерживают и спонсируют крупные компании: Facebook, GitHub, Google, Heptio, Hewlett Packard Enterprise, IBM и Percona.
Юридические последствия использования открытого кода (Open Source)
Владислав Макаренко, CEO antwort LAW
Использование свободного или открытого кода при разработке нового программного обеспечения является распространенным, практически повсеместным явлением в современной IT индустрии. Такой код выгоден как разработчикам, так и заказчикам, поскольку значительно экономит время, силы и средства на разработку новых продуктов. При этом, использование свободного или открытого кода имеет свои юридические правила и последствия, которые могут существенно влиять на дальнейшую судьбу софта.Эта статья обязательна к прочтению всеми разработчиками и девелоперами, которые в своей работе используют открытый код, а также потенциальным заказчикам программного обеспечения.
Следует сразу отметить, что в данной статье мы будем рассматривать под открытым кодом (Open Source) большую группу свободных (Free Software) и открытых кодов (Open-Source Software) без разделения на отдельные подкатегории, т.к. для целей этой статьи такое разделение несущественно.
Любой открытый код доступен для просмотра, изучения использования или изменения, и, как правило, размещается в открытых публичных репозиториях вместе с информацией о возможном применении и условиях использования. Именно условия использования таких кодов представляют наибольший интерес с точки зрения права, поскольку авторы открытого кода не отказываются от своих прав, а предоставляют его другим на условиях открытых лицензий.
Существует большое разнообразие видов лицензий на открытый код, и различия между ними являются очень существенными. Тем не менее, в подавляющем большинстве случаев есть одно крайне важное требование всех лицензиатов – упоминание об использовании этого открытого кода (например, в формате Third Party Software Attribution Notice) и включение в текст конечной лицензии определенных условий.
Далее мы более детально поговорим про эти обязательства, и как правильно организовать работу с открытым кодом, поскольку последствия от невыполнения условий лицензии на открытый софт могут быть не менее серьезны, чем от нарушения условия любой другой лицензии.
Главным условием, которое позволит вам избежать последующих сложностей при использовании открытого кода, является скрупулёзный сбор информации про весь открытый код, используемый при работе над вашим софтом.Разумеется, реализовать это могут только сами разработчики, поскольку только они знают, какие именно открытые коды были использованы при работе над программным обеспечением. Если вы являетесь заказчиком софта, то в контрактах с разработчиками следует обязательно включать пункт о том, что разработчики должны передать вам информацию о всех открытых кодах, использованных ими в работе. Разумеется, такое обязательство должно сопровождаться описанием ответственности за его нарушение, иначе в нем теряется всякий смысл.
Как правило, такая информация передается в отдельном приложении к договору о разработке, и оформляется в виде таблицы с указанием названия открытого кода, ссылки на репозиторий, из которого такой код взят, и типа лицензии, на основании которой открытый код был размещен его автором.
Информация о названии лицензии, как и сам текст лицензии, в подавляющем большинстве случаем содержится в том же репозитории в виде текстового файла TXT или в формате Word. Само название файла может быть разным, но, как правило это классические названия Readme или License.
Идентифицировать весь открытый код, использованный в разработке вашего софта – важнейший этап, от которого зависит вся дальнейшая работа с производным кодом, т.е. тем самым софтом, который вы в итоге разработали или получили. Крупные IT компании даже проводят отдельную экспертизу кодов, чтобы убедиться в том, что был указан весь использованный открытый код и ничего не пропущено.
Ранее мы уже упоминали о том, что существует большие разнообразие лицензий на открытый код, и отличия между ними могут быть довольно существенными. Среди наиболее популярных можно выделить такие типы лицензий как MIT, BSD, Apache 2.0, GNU GPL и т.д. – их очень много.
Не вдаваясь в детали каждой отдельно-взятой лицензии, стоит выделить два основных вида таких лицензий — copyleft-лицензии и permissive-лицензии.
Поскольку большинство программ разрабатываются с целью их дальнейшего использования для получения выгоды, то их заказчикам стоит избегать использования copyleft-лицензий, и вот почему. Сopyleft-лицензии (например, лицензии GPL) предусматривают, что любой производный код (в частности, конечній код вашей программы) должен быть открытым для общественности на условиях GPL-лицензии, и при передаче прав на его использование необходимо прикладывать GPL-лицензию, уведомление об авторском праве и файл с открытым исходным кодом.
Таким образом, используя открытый код на основе copyleft-лицензии вы автоматически теряете возможность получить производный код в свое полное распоряжение и контролировать его последующее коммерческое использование.
Permissive-лицензии позволяют распространять производный код на условиях других лицензий, так что при разработке ПО они пользуются большей популярностью. В тоже время, использование открытого кода по Permissive-лицензии не означает отсутствие дополнительных требований, таких как упоминание ей автора и т.д.
Таким образом, сбор информации и анализ типов лицензий, используемых при разработке вашего софта, стоит проводить всем, кто использует открытый софт в своей работе, и для этого следует привлечь профессиональных юристов, которые смогут дать рекомендации по дальнейшему составлению конечной лицензии и использованию вашего софта.
Больше чем софт: что такое код 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%, и в будущем открытый код, вероятно, поможет заменять ручные процессы автоматизированным управлением на программном обеспечении, способствуя инновациям.