UncategorizedгаджетыНовостиразработчиктехнология

Что такое открытый исходный код? | VentureBeat

Повысьте уровень технологий и стратегии корпоративных данных на Transform 2021.


Пусть Информационный бюллетень OSS Enterprise направьте свой путь к открытому исходному коду! Подпишите здесь.

Трудно переоценить роль, которую открытый исходный код играет в сегодняшнем мире, ориентированном на технологии, учитывая, что он пересекается практически со всеми частями программного обеспечения. Данные Synopsys, компании, стоящей за платформой управления безопасностью с открытым исходным кодом Black Duck, показывают, что 98% кодовых баз содержат хотя бы часть открытого исходного кода.

Но программное обеспечение с открытым исходным кодом не только пожирает мир, как гласит популярное выражение, оно также пожирает солнечную систему – недавние данные GitHub показали, что почти 12000 разработчиков GitHub внесли свой вклад в код, который сделал возможным первый полет на марсианском вертолете 19 апреля. 2021. Однако есть вероятность, что большинство даже не подозревало, что их вклад был использован в исторической миссии НАСА.

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

Итак… что такое открытый исходный код?

«Открытый исходный код» в чистом виде относится к программному обеспечению, которое бесплатно предоставляется всем для доступа, копирования, изменения и распространения. В конечном итоге это совместный подход под руководством сообщества, который снижает планку входа и стоимость разработки программного обеспечения. Этому можно противопоставить проприетарное программное обеспечение с «закрытым исходным кодом», которое создается внутри коммерческой компании и которое обычно не может быть действительно «бесплатным» в любом смысле этого слова; его нельзя проверять, изменять или распространять, и, скорее всего, это будет чего-то стоить – если не наличными, то таргетингом на вас с помощью рекламы.

Однако все это пронизывает более чем небольшой нюанс. Как уже отмечалось, большая часть программного обеспечения опирается, по крайней мере, на некоторые компоненты с открытым исходным кодом, в том числе созданные всеми крупными компаниями, такими как Google, Microsoft и Facebook. И многие из этих компаний также выпускают некоторые из своих собственных внутренних технологий в виде программного обеспечения с открытым исходным кодом.

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

Таким образом, теперь у нас есть «бесплатное программное обеспечение с открытым исходным кодом» (FOSS), чтобы описать то, что, по мнению многих, является наиболее истинной и чистой формой открытого исходного кода: то, что можно использовать для любых целей без ограничений, включая возможность распространять копии среди других, в то время как исходный код также полностью доступен для всех, кто хочет его модифицировать и улучшать. Однако любые модификации должны быть доступны и другим пользователям.

Это не следует путать с бесплатными программами, которые представляют собой просто программное обеспечение, которое не связано с прямыми финансовыми затратами, но которое, вероятно, не будет иметь никаких свобод, связанных с программным обеспечением с открытым исходным кодом. Ричард Столмен, основатель Фонда свободного программного обеспечения, как известно, помог определить, что подразумевается под словом «бесплатное» в СОПО, когда он сказал:

Бесплатное программное обеспечение – это вопрос свободы, а не цены. Чтобы понять эту концепцию, вы должны думать о «бесплатном» как о свободе слова, а не как о бесплатном пиве.

Чтобы подчеркнуть, что «бесплатный» означает свободу, а не финансовые затраты, вместо него часто используется термин FLOSS («бесплатное / бесплатное программное обеспечение с открытым исходным кодом»). Но для всех намерений и целей FOSS и FLOSS означают одно и то же.

Отклонение от идеала чистого FOSS (или FLOSS) ведет к другим терминам, которые вы часто будете встречать в сфере открытого исходного кода. «Исходный код доступен» относится к программному обеспечению, которое в некоторых случаях делает исходный код доступным для просмотра и даже для внесения изменений, хотя лицензия не дает полных прав на совместное использование и изменение. Доступный исходный код не следует путать с реальным программным обеспечением с открытым исходным кодом.

Хорошим примером этого является Lumberyard, бесплатный игровой движок, который Amazon запустил еще в 2016 году, чтобы помочь разработчикам создавать кроссплатформенные игры. В конечном итоге компания сделала исходный код доступным для всех по проприетарной лицензии, что позволило разработчикам настраивать свой проект с помощью GitHub, в то время как Amazon также принимает участие в коде от сообщества. Но в условиях и правилах совершенно ясно, что это не проект с открытым исходным кодом, учитывая, что пользователи не могут публично публиковать исходный код движка Lumberyard где-либо за пределами его официального дома на GitHub и, что особенно важно, не могут создавать свой собственный игровой движок за пределами Lumberyard.

Делая исходный код Lumberyard доступным (и бесплатным для использования), Amazon хочет сделать платформу более привлекательной для разработчиков игр, заманив их подальше от конкурентов, таких как Unity и Unreal. А тесная интеграция Lumberyard в свою экосистему, включая Twitch и ее облачную платформу AWS, – вот где Amazon в конечном итоге зарабатывает свои монеты.

Коммерциализация и лицензирование

Однако все это не означает, что коммерциализация и программное обеспечение с открытым исходным кодом не могут быть друзьями – это далеко не так. Компании по коммерческому программному обеспечению с открытым исходным кодом (COSS) многочисленны и обычно представляют собой одну компанию, которая монетизирует проект с открытым исходным кодом путем продажи дополнительных услуг или надстроек, таких как аналитика или безопасность, которые понравятся более крупным компаниям. Часто, но далеко не всегда, эти типы предприятий также являются главными разработчиками проектов с открытым исходным кодом, то есть они отвечают за поддержку проекта и внесение изменений кода в основную базу кода.

Здесь стоит обратить внимание на различные механизмы лицензирования, применяемые в различных проектах программного обеспечения с открытым исходным кодом. «Хотя очень разрешительные лицензии являются обычным явлением, экосистема состоит из множества различных типов лицензий», – сказала VentureBeat глава отдела открытого кода Facebook Кэти Кам. «Важно понимать, какие условия прилагаются к разным программам. Например, лицензия может ограничивать коммерческое использование, не позволяя вам использовать это программное обеспечение для предоставления определенных услуг. Или может потребоваться, чтобы производные продукты также имели открытый исходный код. Важно читать мелкий шрифт, особенно потому, что он может иметь отношение к тому, что ваша компания может или не может делать ».

Например, MySQL – это система управления реляционными базами данных с открытым исходным кодом, которую Oracle выпускает по двойной лицензии: одна – Стандартная общественная лицензия GNU (GPL), другая – проприетарная. Первое предоставляет большую часть свобод, которые можно было бы ожидать от FOSS, хотя эта лицензия известна как авторское лево, что означает, что любое производное программное обеспечение должно выпускаться на аналогичных условиях лицензии. Другими словами, новое программное обеспечение, созданное на основе программного обеспечения с открытым исходным кодом, должно выпускаться под аналогичной лицензией с открытым исходным кодом.

Вторичная лицензия Oracle предназначена для коммерциализации MySQL, продажи ее под вывеской MySQL Enterprise Edition, которая предлагает дополнительные услуги, не включенные в лицензию GPL, такие как полностью управляемая служба базы данных; сервис резервного копирования данных корпоративного уровня; хранилище документов; и умные устройства безопасности, такие как шифрование и брандмауэр. Кроме того, компаниям, имеющим коммерческую лицензию, разрешается продавать продукты на основе MySQL, не делая производные продукты с открытым исходным кодом.

В отличие от лицензий с авторским левом, таких как GPL, так называемые разрешительные лицензии на программное обеспечение, такие как MIT License, GNU All-Permissive License и Apache, не налагают ограничений на производное программное обеспечение, что упрощает частным компаниям перепрофилировать его как часть запатентованного продукта. Фактически, они также могут повторно лицензировать свое новое программное обеспечение под лицензией GPL, если захотят.

Хорошим примером здесь является React, библиотека JavaScript для создания пользовательских интерфейсов, которая была разработана Facebook с открытым исходным кодом в 2013 году и впоследствии использовалась многими известными компаниями. Однако Facebook был вынужден перейти на лицензию MIT после того, как разработчик ответил отрицательно на свое предыдущее использование лицензии «BSD + Patents», которая содержала спорный ключевой пункт: по сути, любой разработчик, использующий React в своем приложении, отказался от своего права на подачу иска (или противодействие -sue) Facebook за нарушение патентных прав.

Сегодня React является одним из лучших проектов с открытым исходным кодом практически по всем показателям, и, возможно, не стоит удивляться тому, что самые популярные проекты с открытым исходным кодом, включая Kubernetes, TensorFlow, Vue и React, были выпущены с разрешительной лицензия, такая как MIT или Apache. Разработчики, особенно коммерческие, не любят ограничений.

Это помогает подчеркнуть, что лицензирование превратилось в спорный вопрос в мире открытого исходного кода. Часто компания переключает проект с открытым исходным кодом на гораздо менее разрешительную лицензию, чтобы защитить свои инвестиции. Ранее в этом году AWS от Amazon сообщила, что создает Elasticsearch, основанный на Java движок с открытым исходным кодом для хранения, поиска и анализа больших объемов данных, а также связанную с ним панель управления визуализацией данных Kibana.

Для непосвященных разветвление – это процесс взятия исходного исходного кода и разработки новой программы, независимой от оригинала. Это обычно считается плохой вещью в сфере OSS, поскольку имеет тенденцию приводить к напряженности между сообществами, которые развивают каждое воплощение, и вызывает общие трения. Однако разветвление обычно считается единственным способом продвижения проекта OSS, когда два (или более) разных объекта развивают разные приоритеты.

В случае Amazon и Elasticsearch этот шаг был предпринят после того, как Elastic, частная компания, возглавляющая Elasticsearch и Kibana, подтвердила, что переходит от разрешительной лицензии Apache к общедоступной серверной лицензии с двойным исходным кодом (SSPL) и проприетарной эластичной лицензии. Основная цель этого изменения, по словам Elastic, заключалась в том, чтобы помешать поставщикам облачных услуг, таким как AWS, предлагать Elasticsearch как услугу самостоятельно. Другими словами, Elastic хотела ограничить крупные технологические компании от получения выгоды от своей тяжелой работы без обязательного инвестирования достаточных ресурсов обратно в сам проект.

Хотя Elastic намекнул, что Elasticsearch по-прежнему является проектом с открытым исходным кодом (например, он сказал, что он «удваивает открытый исходный код»), Open Source Initiative (OSI) не признает лицензию SSPL как открытый исходный код. Правление OSI написало:

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

Помимо коммерческого программного обеспечения с открытым исходным кодом, вы также можете прочитать похожую терминологию, в основном описывающую то же самое. Red Hat, гигантский поставщик коммерческого программного обеспечения с открытым исходным кодом, приобретенный IBM за 34 миллиарда долларов в 2018 году, называет свое программное обеспечение «корпоративным открытым исходным кодом». В недавнем интервью VentureBeat технологический евангелист Red Hat Гордон Хафф отличил свои продукты от типичного коммерческого продукта с открытым исходным кодом, назвав его чем-то, что предлагает «усиленный продукт для предприятия, включая дополнительную безопасность, [and] поддержка поставщиков 24/7 ».

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

Наконец, еще один термин, с которым вы, вероятно, столкнетесь в сфере открытого исходного кода, – это «открытое ядро». Это похоже на модель двойного лицензирования, которой придерживаются некоторые компании для коммерциализации проектов с открытым исходным кодом, хотя многие утверждают, что «открытое ядро ​​не имеет ничего общего с открытым исходным кодом».

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

«Ядро может быть лицензировано по разрешающей лицензии, которая не накладывает никаких ограничений на использование программного обеспечения, но, как правило, не содержит всех« наворотов »коммерческого предложения», – сказал он. Мартин Траверсо, один из соавторов распределенного механизма запросов SQL Presto, который теперь известен как Trino. «Эта модель, как правило, более совместима с проектами, которые являются независимыми или не принадлежат одной компании».

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

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

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

Безопасность

В зависимости от того, с кем вы говорите, программное обеспечение с открытым исходным кодом более безопасно, чем проприетарное программное обеспечение, потому что его код является «открытым» для анализа любым, или оно менее безопасно по той же причине, учитывая, что любой может легко получить к нему доступ. Недавние данные Synopsys показали, что 84% кодовых баз содержат как минимум одну уязвимость с открытым исходным кодом.

«Киберпреступники всегда могут попытаться использовать открытость в злонамеренных целях», – отметил менеджер по продукту Facebook по открытым исходным кодом Майкл Ченг. «Однако мы обнаружили, что преимущества и преимущества открытого исходного кода значительно перевешивают этот риск. Мы заметили, что хорошие сообщества быстро реагируют на уязвимости системы безопасности – участники очень быстро накапливают поддержку, чтобы исправить подобные проблемы. Таким образом, оценка состояния сообщества так же важна, как и технологические достоинства конкретного проекта с открытым исходным кодом ».

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

«Нет безопасности через неизвестность – безопасность зависит от понимания вашей работы и вашей модели безопасности, и этого можно достичь с помощью систем с открытым исходным кодом и проприетарных систем», – сказал Оскари Сааренмаа, соучредитель и генеральный директор Aiven, компании, которая управляет инфраструктурой данных с открытым исходным кодом во всех основных облаках.

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

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

VentureBeat

Миссия VentureBeat – стать цифровой городской площадью, где лица, принимающие технические решения, могут получить знания о преобразующих технологиях и транзакциях.

На нашем сайте представлена ​​важная информация о технологиях и стратегиях обработки данных, которая поможет вам руководить своей организацией. Мы приглашаем вас стать участником нашего сообщества, чтобы получить доступ:

  • актуальная информация по интересующим вас темам
  • наши информационные бюллетени
  • закрытый контент для лидеров мнений и льготный доступ к нашим ценным мероприятиям, таким как Преобразование 2021: Учить больше
  • сетевые функции и многое другое

Стать членом

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button