что значит открытый код в программировании
Открытый исходный код
Открытое программное обеспечение (англ. open source software ) — это программное обеспечение с открытым исходным кодом. Исходный код создаваемых программ открыт, то есть доступен для просмотра и изменения. Это позволяет использовать уже созданный код для создания новых версий программ, для исправления ошибок и, возможно, помочь в доработке открытой программы.
«Открытая» лицензия не требует, чтобы открытое ПО предоставлялось бесплатно. Многие из наиболее успешных проектов открытого ПО, тем не менее, бесплатны. Открытое программное обеспечение имеет большие перспективы в России в связи с принятием правительством и президентом РФ решений по обеспечению национальной безопасности в сфере ИТ на основе внедрения открытого и свободного ПО в государственные и бюджетные организации.
Содержание
Открытое и свободное ПО
Термин open source (англ. Открытое программное обеспечение) был создан вместе с определением в 1998 году Эриком Реймондом и Брюсом Перенсом, которые утверждали, что термин free software (Свободное программное обеспечение) в английском языке неоднозначен и отпугивает коммерческих предпринимателей. [1]
Подавляющее большинство открытых программ является одновременно свободными. Определения открытого и свободного ПО не полностью совпадают друг с другом, но близки, и большинство лицензий соответствуют обоим.
Отличие между движениями открытого ПО и свободного ПО заключается в основном в приоритетах. Сторонники термина «open source» делают упор на эффективность открытых исходников как метода разработки, модернизации и сопровождения программ. Сторонники термина «free software» считают, что именно права на свободное распространение, модификацию и изучение программ являются главным достоинством свободного открытого ПО.
Существуют программы, попадающие по мнению некоторых [кто?] под определение открытых, но не являющиеся свободными, например, UnRAR, распаковщик [2]
По мнению Ричарда Столлмана, разрекламированность «Open Source» несколько вредит свободному ПО, так как некоторые разработчики и пользователи открытого ПО совсем не против собственнического ПО, и люди останавливаются на Open Source, не доходя до понятий о свободе. [3]
По словам Брюса Перенса открытое ПО всегда было лишь способом объяснить предпринимателям идею свободного ПО, и это ему удалось. [4]
Враждебные к свободному ПО компании — например, Microsoft — используют только выражение open source.
Определение открытого программного обеспечения Open Source Initiative
Open Source является торговой маркой организации Open Source Initiative. Существует специальный комитет, решающий, может ли лицензия носить имя Open Source. Определение, которым он при этом руководствуется, приведено в The Open Source Definition. [7]
Вынесенное OSI определение признается за руководство многими другими организациями — например, порталом Debian Free Software Guidelines.
Лицензии
Исходные коды открытых программ выпускаются либо как общественное достояние, либо на условиях «свободных» лицензий — как, например, GNU General Public License или BSD License. Свободная лицензия позволяет использовать исходный код программы для своих нужд с минимальными ограничениями, не противоречащими определению OpenSource.org. Таким ограничением может быть требование ссылаться на предыдущих создателей или требование сохранять свойство открытости при дальнейшем распространении той же самой или модифицированной открытой программы (копилефт). В некоторых случаях (например, FreeBSD) эти ограничения очень малы, в других (например, GNU General Public License) достаточно распространять ПО вместе с исходным кодом и текстом лицензии, не изменяя её.
Открытое программное обеспечение в России
В настоящее время открытое программное обеспечение не получило широкого распространения в России, среди причин чему называют широкое нелегальное распространение собственнического программного обеспечения.
Однако, решениями правительства и президента РФ Дмитрия Анатольевича Медведева, отечественное открытое программное обеспечение в 2008 году внедрено во всех школах Российской Федерации и будет установлено во всех государственных и бюджетных организациях для обеспечения национальной безопасности в сфере ИТ.
Открытое программное обеспечение может свободно устанавливаться и использоваться во всех школах, офисах, вузах и на всех личных компьютерах и во всех государственных, бюджетных и коммерческих организациях и учреждениях России и в странах СНГ согласно Генеральной публичной лицензии (GPL).
Открытое программное обеспечение в школах
Решением правительства Российской Федерации в марте 2008 года, все средние школы России получили базовые пакеты лицензионного собственнического и открытого программного обеспечения для обучения компьютерной грамотности, основам информатики и новым информационным технологиям с операционными системами Windows и Linux.
В трёх регионах России в 2008 году развёрнуты эксперименты по внедрению и использованию в средних школах базовых пакетов программ для кабинетов информатики и вычислительной техники и начата подготовка учителей и преподавателей информатики технологии работы с открытым программным обеспечением в среде Windows и Linux.
В 2007 году выпущены первые учебники информатики для вузов и школ для обучения информатике в соответствии с государственными стандартами образования со свободным и проприетарным программным обеспечением в среде Windows и Linux.
Российские разработчики открытого программного обеспечения
Российские разработчики в основном помогают развитию англоязычных проектов или выпускают локализованные редакции международных проектов (например, OpenOffice Pro на базе
Также, существует незначительное количество российских репозиториев открытого ПО (таких, как репозитарий Сизиф).
Примечания
См. также
Ссылки
Полезное
Смотреть что такое «Открытый исходный код» в других словарях:
Открытый Каталог — Open Directory Project Открытый Каталог (ODP) http://www.dmoz.org/ Коммерческий: Нет Тип сайта: Каталог Регистрация … Википедия
Открытый каталог — Open Directory Project Открытый Каталог (ODP) http://www.dmoz.org/ Коммерческий: Нет Тип сайта: Каталог Регистрация … Википедия
открытый код — 3.5 открытый код: Исходный код программного обеспечения, передаваемый разработчиком пользователю на определенных лицензионным договором условиях. Источник: ГОСТ Р 54593 2011: Информационные технологии. Свободное программное обеспечение. Общие… … Словарь-справочник терминов нормативно-технической документации
Открытое программное обеспечение — Логотип Open Source Initiative (OSI) У этого термина существуют и другие значения, см. OS (значения). Открытое программное обеспечение (англ. … Википедия
Сравнение средств разработки для создания мультиагентных систем — Платформа Основное назначение Лицензия Требуемый язык программирования Требуемая ОС Поддержка пользователя Соответствует ли требованиям FIPA Возможности ГИС Трехмерные возможности ABLE … Википедия
ADempiere — Тип ERP, CRM, SCM Разработчик Adempiere Community Написана на Java Операционн … Википедия
День загрузки — Запрос «Firefox» перенаправляется сюда. Cм. также другие значения. Mozilla Firefox Firefox 3.0 на платформе GTK+/Linux Тип Браузер … Википедия
Огнелис — Запрос «Firefox» перенаправляется сюда. Cм. также другие значения. Mozilla Firefox Firefox 3.0 на платформе GTK+/Linux Тип Браузер … Википедия
Фаерфокс — Запрос «Firefox» перенаправляется сюда. Cм. также другие значения. Mozilla Firefox Firefox 3.0 на платформе GTK+/Linux Тип Браузер … Википедия
Файерфокс — Запрос «Firefox» перенаправляется сюда. Cм. также другие значения. Mozilla Firefox Firefox 3.0 на платформе GTK+/Linux Тип Браузер … Википедия
Журнал | Термины и понятия открытого кода
Чем отличается открытое и свободное программное обеспечение? Что такое открытая лицензия и исходный код? В этой статье мы разберем основные термины и определения, которые нужно знать для изучения темы открытого кода.
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 и для чего он нужен
Согласно определению на 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%, и в будущем открытый код, вероятно, поможет заменять ручные процессы автоматизированным управлением на программном обеспечении, способствуя инновациям.