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

«Открытая» лицензия не требует, чтобы ПО всегда предоставлялось бесплатно. Но многие из наиболее успешных проектов «открытого» ПО, тем не менее, бесплатны.

Подавляющее большинство открытых программ является одновременно свободными (GNU GPL) и наоборот, ибо определения открытого и свободного ПО близки, а большинство лицензий соответствуют обоим.

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

ОС Microsoft Windows

Рис. 39. Логотип OC Windows.

MS Windows (произносится Ви́ндоуз) - семейство операционных систем компании Microsoft (Майкрософт). Глава корпорации Microsoft – Билл Гейтс .

Начиная с 1995 года Windows - самая популярная операционная система на рынке персональных компьютеров – стандарт де-факто. К 2005-му году Microsoft Windows была установлена более чем на 89% персональных компьютеров.

Однако многие пользователи сделали выбор в пользу ОС Windows так как совсем не знакомы с альтернативами, такими как MacOS, Linux, BSD. В России до начала 2000-х годов почти все персональные компьютеры продавались с предустановленной операционной системой Windows. Борьба с распространением пиратских версий программных продуктов привела к появлению интереса к другим операционным системам. Так, например, стало возможным приобрести персональный компьютер с предустановленной бесплатной ОС Linux .

Хронология выпусков версий Windows


· Windows 1.0 (1985)

1. Windows 2.0 (1987)

2. Windows/386 (1987)

3. Windows 3.0 (1990)

4. Windows 3.1 (1992)

5. Windows NT 3.1 (1993)

6. Windows NT 3.5 (1994)

7. Windows 95 (1995)

8. Windows NT 4.0 (1996)

9. Windows 98 (1998)

10. Windows 2000 (2000)

11. Windows Me (2000)

12. Windows XP (2001)

13. Windows 2003 (2003)

14. Windows Vista (2007)

15. Windows рабочее название Vienna (2010)


Интегрированные программные продукты и прикладное ПО

Операционная система Microsoft Windows включает в себя стандартные приложения, такие как браузер Internet Explorer , почтовый клиент Outlook Express , проигрыватель Windows Media Player .

Вокруг факта включения таких стандартных продуктов в ОС Windows разгорается много споров и дискуссий, поскольку это создает серьезное препятствие для распространения конкурирующих продуктов.

Рис. 40. Логотип пакета MS Office.

Для MS Windows существует очень удобный и освоенный большинством пользователей пакет прикладных программ Microsoft Office , включающий:

Текстовый процессор MS Word ,

Табличный процессор MS Excel ,

Органайзер MS Outlook ,

Приложение для подготовки презентаций MS PowerPoint ,

Приложение для управления базами данных MS Access .

Не стоит забывать, что и ОС Windows и абсолютное большинство популярных прикладных программ под Windows имеют лицензию copyright, т.е. являются проприетарным ПО. Соответственно каждая копия такой программы должна приобретаться за деньги. Например, на конец 2006 года цена на Windows XP Home Edition Russian BOX (SP2) - $185, Office 2003 Russian CD – $322.

Используя нелицензионное (пиратское) ПО, защищенное лицензией copyright, вы нарушаете законодательство о защите авторских прав.

ОС GNU/Linux

Рис. 41. Логотип ОС GNU/Linux – пингвиненок Tux.

Операционная система GNU/Linux (произносится «гну ли́нукс») - свободная UNIX-подобная операционная система. Обычно, по историческим причинам и для краткости, эта система называется просто «Linux». Это самая мощная альтернатива MS Windows, популярная в качестве серверной и резко набирающая популярность в качестве настольной (desktop) операционной системы в последние годы, в связи с усилением контроля за соблюдением лицензионного использования ОС Windows со стороны Microsoft в версиях XP и Vista.

К операционной системе GNU/Linux также часто относят программы, дополняющие эту операционную систему, и прикладные программы, делающие её полноценной многофункциональной операционной средой.

В отличие от большинства других операционных систем, GNU/Linux не имеет единой «официальной» комплектации. Вместо этого GNU/Linux поставляется в большом количестве так называемых дистрибутивов , в которых программы GNU соединяются с ядром Linux и другими программами. Самые распространённые в мире дистрибутивы:

Американский Red Hat и его наследник Fedora Core ;

Немецкий SuSE ;

Французский Mandriva (бывший Mandrake );

Не имеющий национальной принадлежности международный дистрибутив Debian GNU/Linux ;

Один из самых старых дистрибутивов Slackware ;

Сравнительно молодой и активно развивающийся дистрибутив Gentoo ;

Молодой, но перспективный дистрибутив Ubuntu Linux .

Создатель ядра Linux - Линус Торвальдс . GNU/Linux не имеет географического центра разработки. Нет и организации, которая владела бы этой системой; нет даже единого координационного центра. Программы для GNU/Linux - результат работы тысяч проектов. Некоторые из этих проектов централизованы, некоторые сосредоточены в фирмах, но большинство объединяют программистов со всего света, которые знакомы только по переписке. Создать свой проект или присоединиться к уже существующему может любой и, в случае успеха, результаты работы станут известны миллионам пользователей. Пользователи принимают участие в тестировании свободных программ, общаются с разработчиками напрямую, что позволяет быстро находить и исправлять ошибки и реализовывать новые возможности.

На рынке серверных операционных систем Австралии Linux уже заняла около 30%. За австралийцами последовали и бразильцы. Бразильское правительство решило отказаться от расходования средств на программное обеспечение и перейти с продуктов Microsoft на системы с открытым кодом, в частности, ОС Linux. Главная причина изменений – экономическая. В нашей стране рынок Linux пока невелик.

Файловая система

Вся информация в компьютере хранится в файлах, с которыми и работает операционная система.

Файл (file) - это поименованная последовательность байтов , место постоянного хранения различных видов информации.

Файлы организованы в каталоги, также называемые директориями (directory) или папками (folder). Каталог - это файл, который хранит сведения о других файлах: имя, размер, дату создания, адрес файла на диске.

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

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

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

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

Все файлы условно можно разделить на две части - текстовые и двоичные .

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

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

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

Каждый файл на диске имеет обозначение (полное имя ), которое состоит из 2 частей: имени и расширения , разделенных точкой.

Расширение имени файла - необязательная последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Это один из распространённых способов, с помощью которого пользователь или программное обеспечение компьютера может определить тип данных, хранящихся в файле.

В ранних операционных системах длина расширения была ограничена тремя символами, в современных операционных системах это ограничение отсутствует.

Операционная система или менеджер файлов могут устанавливать соответствия между расширениями файлов и приложениями.

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

Драйверы

C ПК могут сопрягаться разнообразные устройства: видеокарта, звуковая карта, принтер, сканер, манипуляторы, дисководы, цифровые фотоаппараты, сотовые телефоны… Каждое из них имеет свой набор команд – свой «язык». Чтобы конкретная операционная система могла управлять конкретным устройством, прибегают к помощи программ–«переводчиков», знающих с одной стороны язык команд конкретного устройства, а с другой – язык конкретной операционной системы, под управлением которой должно работать это устройство.

Такая программа называется драйвером (driver) и поставляется вместе с устройством его производителем. Производители аппаратного ПО, как правило, также размещают драверы, созднных ими устройств, на своих web-сайтах.

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

Что можно считать открытым кодом?

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

Все знакомы с Microsoft Office , аналогом которого, но уже с открытым кодом, является Open Office . Браузеры Mozilla Firefox и Google Chrome также являются программным обеспечением с открытым исходным кодом. Подобных продуктов очень много, многие используют большое количество софта и не подозревают, что что-то из этого может быть Open Source программой.

Особенности Open Source

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

Лицензия Open Source программ

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

Плюсы и минусы Open Source программ

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

Вторым важным плюсом является то, что мы можем модернизировать данные программы . Хороший программист, разобравшись в коде, может добавить в программу новые опции или улучшить работу уже имеющихся функций. Например, пользователь MacOS не может изменить свою операционную систему, в отличие от Linux , которую каждый может не только настроить по своему усмотрению, но и добавить какие-либо индивидуальные функции. В итоге у него получится совершенно новый продукт, которым очень удобно пользоваться. Если получившаяся программа действительно хороша, то ее можно запатентовать и даже продать (!)

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

Сегодня многие организации переходят на использование программ именно с открытым исходным кодом. Это позволяет снизить расходы и минимизировать вероятность взлома системы.

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

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

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

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

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

Марк Робертс (Mark Roberts)
Директор по управлению продукцией (Director, Product Management)
компании QNX Software Systems
e-mail: [email protected]

Аннотация

Основное внимание в данной статье концентрируется на преимуществах, стратегических моментах, возникающих препятствиях и возможностях, связанных с использованием в коммерческой продукции программ с открытым исходным кодом. Используя в качестве примера интегрированную среду разработки (Integrated Development Environment - IDE) на базе платформы Eclipse, мы обсудим, какие отличия существуют между защитными (protective) и незащитными (nonprotective) лицензиями на исходный код программного обеспечения (ПО). При интеграции или компоновке открытого исходного кода с "фирменным" закрытым кодом зачастую требуется проявлять надлежащее внимание и осторожность. Следует иметь в виду и различные правовые проблемы, например, потенциальную возможность нарушения патентных прав. Мы также попытаемся объяснить, почему основные принципы использования ПО с открытым исходным кодом в среде информационных технологий (ИТ) не применимы в отношении коммерческой продукции для встраиваемых устройств.

Среда разработки QNX Momentics как пример использования ПО с открытым исходным кодом

Возвращаясь в 2001 г., когда многие фирмы-разработчики боролись за выживание в условиях всеобщего обвала рынка акций ИТ-компаний, особенно связанных с электронным бизнесом в Интернет, компания QNX Software Systems приняла стратегическое решение начать разработку новой интегрированной среды разработки (IDE) для рынка встраиваемых систем. У компании уже был солидный опыт по разработке серии инструментальных средств, используемых в разработке встраиваемых устройств, но руководство компании осознавало, что создание среды IDE позволит удержаться на гребне волны в условиях жесткой конкуренции. Решение о создании среды IDE стимулировалось также сменой акцентов в требованиях клиентов. В период спада деловой активности стесненные в средствах клиенты стали больше интересоваться решениями, которые могли бы максимизировать продуктивность работы и сделать их более мобильными (гибкими) при ведении работ, позволили бы повысить общую экономическую эффективность.

Для компании QNX разработка среды IDE была "ставкой на будущее", так как в то время стоимость и усилия на разработку проекта были вне зоны досягаемости для большинства вендоров инструментальных средств встроенных систем. К счастью, QNX работала в тесном контакте с IBM по различным сегментам рынка встроенных устройств. Благодаря тесному сотрудничеству, компания IBM поделилась с QNX своими планами по выпуску интегрированной среды разработки с использованием открытого исходного кода - эта среда впоследствии стала основой для платформы Eclipse.

Компания IBM предложила использовать опыт QNX для адаптации технологии IDE к нуждам разработчиков, занимающихся созданием встраиваемых приложений на базе языка C/C++. Специалисты компании QNX практически сразу указали на неопровержимые привлекательные стороны использования для среды IDE открытых исходных кодов. Например, для такой среды стало бы возможно:

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

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

Основание открытого проекта Eclipse.org

В ноябре 2001 г. компании Borland, IBM, Merant, QNX Software Systems, Red Hat и SUSE основали Консорциум Eclipse. В начале 2004 г. Совет Управляющих (Board of Stewards) реорганизовал Консорциум Eclipse в некоммерческую корпорацию с именем Eclipse Foundation.

С самого начала Eclipse была проектом, действительно основанным на использовании открытого исходного кода. В рамках проекта предлагались как безвозмездно распространяемые технологии в виде открытых исходных текстов, так и возможность доступа к сообществу, состоящему из наиболее образованных и продвинутых разработчиков в своей области. Таким образом, данная технология оказалась универсальной платформой для интеграции всех видов инструментов разработки. В ее основе лежит открытая расширяемая архитектура, при этом она совершенно четко лицензируется как свободно распространяемый продукт, не требующий лицензионных отчислений. Вклад членов сообщества в проект Eclipse основан на стандартной модели разработки с открытым исходным кодом (Open Source Software - OSS), но большинство членов предлагают также и коммерческие разработки, основанные на платформе Eclipse.

Проект создания инструментального хранилища

В декабре 2001 г. компания QNX начала создание своей ОСРВ QNX® Neutrino®, базирующейся на среде IDE платформы Eclipse. В представлении компании среда IDE должна была обладать большими функциональными возможностями, ориентироваться на работу с языками C/C++, иметь глубоко интегрированные инструменты для отладки, профилирования, анализа и создания встраиваемых приложений. С самого начала, по замыслу команды QNX, это должна была быть многоцелевая и многоязычная среда IDE, поддерживающая множество инструментальных платформ. Сюда было включено:

  • несколько инструментальных платформ: Windows, Solaris, ОСРВ QNX Neutrino (разработка “сама для себя” - "self-hosted");
  • несколько целевых архитектур: ARM, MIPS, PowerPC, SH-4, x86;
  • языки программирования C, C++, Java.

С тех пор среда IDE продолжала разрастаться, включив в себя поддержку платформы Linux и поддержку дополнительных процессорных архитектур, включая процессоры XScale.

Реализация проекта была запущена в стиле "экстремального программирования". В компании была отобрана команда из 12 лучших инженеров. Им было предоставлено специальное помещение, их изолировали от всех отвлекающих внимание факторов, проект был отдан в их полное распоряжение.

Группе были даны необходимые полномочия в сфере принятия решений, для них было составлено жесткое, на грани риска расписание работ, с выпуском бета-версии продукта через 16 недель, а коммерческой версии -к 4 июля 2002 г. Группа уложилась во все поставленные контрольные сроки и выпустила новый продукт - получивший имя QNX Momentics® IDE - точно в соответствии с расписанием, что явилось свидетельством заложенного в программное обеспечение с открытым исходным кодом потенциала по сокращению времени выхода продукции на рынок.

От идеи до поставки продукта - менее 7 месяцев

Опираясь на платформу Eclipse, команда QNX завершила создание очень мощной и многосторонней среды IDE для разработки встраиваемого ПО за шесть месяцев. В среде IDE поддерживалась кросс-платформенная разработка для нескольких инструментальных платформ и нескольких языков программирования, а также поддерживались наиболее популярные процессорные платы для встраиваемых целевых устройств. С помощью платформы Eclipse компания QNX смогла:

  • использовать для кросс-разработки компиляторы GNU и инструменты для работы через командную строку;
  • осуществить поддержку подключаемых модулей сторонних разработчиков, например, IBM WebSphere для встраиваемых приложений Java и Rational ClearCase для модельно-управляемых разработок;
  • создать дополнительные инструменты для построения систем, управления целевыми устройствами, анализа памяти, профилирования систем и приложений и т.д.

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

Обратный вклад в работу сообщества

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

Целью проекта Eclipse CDT (C/C++ Development Tools - инструменты разработки для языков C/C++) является создание общего набора взаимодействующих друг с другом инструментальных средств языков C/C++ для платформы Eclipse. Eclipse CDT был позиционирован как проект с открытым исходным кодом, с правами на управление со стороны корпорации Eclipse. Для запуска проекта CDT компания QNX передала для использования свои ресурсы для разработки и исходные коды проекта QNX Momentics IDE. Компании Rational и Red Hat как члены сообщества также оказали существенную поддержку проекта.

Рис. 1. При использовании платформы Eclipse вендоры инструментальных средств могут сконцентрировать внимание на верхнем уровне стека работ, где собственно и создаются реальные новшества.

Компания QNX по-прежнему ведет сопровождение проекта CDT, объем которого вырос с изначально скромных 80 000 строк кода до сегодняшних более чем 700 000 строк. В начале 2006 г. по журналу регистрации хода работ по проекту Eclipse CDT вклад компании QNX оценивался в 52%. Далее шла компания IBM со вкладом 36%. Проект CDT является вторым по популярности проектом корпорации Eclipse после собственно самой платформы Eclipse.

Можно ли себе позволить "подарить" код?

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

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

К примеру, стратегия компании QNX Software Systems состоит в том, чтобы использовать преимущества от участия в работе корпорации Eclipse, разрабатывая в то же время новые функциональные возможности, подключаемые через стандартизованные точки расширения, которые уже имеются в составе платформ Eclipse и CDT. С этой целью компания QNX намерена оставаться активным членом сообщества Eclipse, извлекая выгоду из существующей кодовой базы и наработок третьих сторон (подключаемых модулей), помогая в удовлетворении реальных потребностей клиентов, создавая свои фирменные расширения. Описанная стратегия иллюстрируется на рис. 2.

Рис. 2. Своими наработками можно делать вклад в работу сообщества.

Резюме по преимуществам

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

Выгода разработчиков заключается в уменьшении времени до поставки их продукции на рынок и в возможности воспользоваться результатами исследований других людей (при низких затратах на это). Среди этих результатов может присутствовать и высококачественный код, относящийся к категории "чистой интеллектуальной собственности" ("clean IP"), предоставленный уважаемыми фирмами, такими как IBM и QNX. Еще одним преимуществом для разработчика является то, что он получает простую и ясную схему лицензирования, включая коммерческие права и некоторую патентную защиту. Более того, разработчик получает возможность работы на платформах нескольких ОС, поддерживаемых в Eclipse, а также получает в свое распоряжение хорошо определенные в проекте Eclipse точки расширения.

Выгода клиентов, покупающих среду IDE на базе Eclipse, состоит в использовании инструментальной платформы, предназначенной для разработки встраиваемых приложений, с мощной поддержкой средств кросс-компиляции, простой отладкой и наличием расширений для управления целевыми системами. Команда разработчиков клиента сможет по достоинству оценить многие функции, облегчающие работу, малое время, требующееся на дополнительное обучение, хорошую производительность продукта и надежную платформу, позволяющую работать с большими проектами. Клиент может также с пользой применить платформу Eclipse в своих собственных приложениях (например, RCP, eRCP и т.д.).

Будущее корпорации Eclipse

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

Рис. 3. Корпорация Eclipse является энергичным и быстро растущим сообществом разработчиков подключаемых модулей.

Сравнение лицензий на открытый исходный код

Не все лицензии на ПО с открытым исходным кодом являются равноправными. Компания QNX сделала хорошо продуманный шаг, остановившись на лицензии Eclipse Public License. Этот выбор был продиктован частично потребностями ее клиентов, использующих встраиваемое оборудование, а частично желанием установить контроль над технологиями, дифференцирующими продукцию (и извлечь из этого выгоду).

Некоммерческая корпорация Open Source Initiative () предложила полезное, состоящее из 10 пунктов определение открытого исходного кода. В настоящее время на веб-сайте представлено более 50 одобренных OSI лицензий, включая Eclipse Public License. В этих лицензиях могут содержаться значительные отличия, которые нужно четко осознавать. Эти отличия могут существенно воздействовать на интеллектуальную собственность (ИС) разработчиков и на способность ее защиты. В наибольшей степени это относится к случаю использования открытого исходного кода (или производных разработок на базе открытого исходного кода) во встраиваемых устройствах.

Защитная и незащитная лицензия

По условиям защитной лицензии, например, GPL v2, производная разработка может распространяться лишь вместе с соответствующим исходным кодом. В соответствии с условиями защитной лицензии гарантируется, что при переводе исходного кода в категорию открытого он будет оставаться в этой категории во всех последующих поколениях и производных продуктах. Как мы разъясним позднее, это требование приводит к определенным проблемам в случае встраиваемых систем.

Примерами незащитных лицензий являются оригинальные лицензии MIT и BSD. Незащитные лицензии сохраняют в силе авторские права владельца, но предоставляют широкие права пользователю, включая право на модификацию и неограниченное свободное распространение (или личное использование) ПО.

Что понимается под "вирусной лицензией"

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

Вопросы получения компенсаций

В последнее время вопросы возмещения потерь за нарушение прав ИС (IP Indemnification) стали для разработчиков главной темой обсуждения. В ответ на это некоторые вендоры открытого исходного кода объявили о том, что они будут защищать клиентов от судебных исков, связанных с нарушениями патентных или авторских прав. И в самых новых лицензиях на открытый исходный код разъясняются меры наказания для пользователей, которые пытаются отстаивать свои патентные права в отношении других пользователей кодовой базы.

Главные проблемы, возникающие при коммерциализации ПО с открытым исходным кодом

Сравнение встраиваемых и ИТ-приложений

Успеху сферы открытого исходного кода способствовало принятие ИТ-организациями ОС Linux. Выгода от использования Linux была связана с работой на относительно однородном и стабильном оборудовании (обычно семейства x86) и с использованием гибкой, богатой ресурсами компьютерной платформы.

Со встраиваемым ПО дела обстоят совсем по-другому. Это ПО запускается на огромном числе устройств с фиксированным набором функций, при этом используется широкий диапазон оборудования с разнообразной архитектурой. Разработчики встраиваемых устройств часто основывают свои конкурентные преимущества на конкретном наборе функций, габаритных параметрах, производительности, стоимости, времени работы от батарей, надежности, способности взаимодействия с другими устройствами и расширяемости. Эти отличительные функции обычно реализуются на низкоуровневом ПО, что в случае Linux требует компоновки непосредственно к ядру ОС. Настройка низкоуровневого ПО под потребности клиента является нормой, а не исключением, поэтому разработчики часто добиваются нужных им функциональных возможностей за счет изменения ядра ОС. Используется также метод прямой компоновки путем внедрения в кодовые фрагменты с целью уменьшения издержек на создание библиотек. Такая практика, рассматриваемая в совокупности, делает весьма трудным защиту фирменного кода на условиях лицензий типа GPL (общедоступных).

Обычно эти проблемы лицензирования не касаются ИТ-приложений, поскольку фирменное, связанное с конкретным предприятием ПО не распространяется дальше предприятия, используясь исключительно для внутренних нужд. Если же взять встраиваемые устройства, то через них всегда распространяется производное ПО, по отношению к которому срабатывает статья “force open” (принудительно открытый код) лицензий на открытый исходный код, что может подвергать риску главные аспекты ценных предложений с открытым исходным кодом.

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

Проблемы лицензирования

Неопределенность правового статуса

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

Некоторые обходные пути, которые позволяют вендорам коммерческой продукции внедрить в Linux "фирменные" драйверы (например, Loadable Kernel Modules - загружаемые модули ядра), основываются скорее на аргументах типа "он сказал, она сказала", чем на прямых ссылках на текст лицензионного соглашения. Фактически такие драйверы, которые используют модули LKM, таят в себе опасный обход требований лицензии GPL. Впадая в крайность, можно интерпретировать дело так, что кодовая база Linux может быть представлена как бесполезная для большинства практических применений, если в неё не включены некоторые из этих самых "фирменных" драйверов. Такая ситуация способна достаточно эффективно обесценить идею лицензии GPL.

Отсутствие компенсаций при нарушении прав ИС

В большинстве случаев использования открытого исходного кода существует реальная возможность того, что вы непреднамеренно нарушите чьи-либо патентные права. Лишь в малой части лицензий на открытый исходный код делается явная ссылка на патенты, а по подразумеваемым лицензиям нельзя выносить какое-либо решение. Вы должны отдельно лицензировать любые патенты, касающиеся, например, кодеков из категории открытого исходного кода, в которых реализованы алгоритмы MP3 или другие запатентованные решения. А тем временем, "плохие мальчики" (и Microsoft в том числе) озабочены созданием портфолио из патентов, которыми, по представлению многих экспертов, можно будет "выстрелить" по сторонникам открытого исходного кода.

В некоторых лицензиях есть явные ссылки на патенты. Например, в лицензии Eclipse Public License есть явное упоминание о патентных правах, и в ней содержится пункт о мерах наказания в случае, если кто-то попытается отстаивать патентные права по-другому. Корпорация Eclipse прилагает также много усилий для проверки кода и выяснения источника его происхождения с точки зрения лицензионных, патентных или авторских прав.

Дополнительные усилия для сохранения ИС

Для использования открытого исходного кода компания должна затратить значительные усилия в следующих направлениях:

  • управление распространением продукции;
  • управление лицензиями;
  • разрешение правовых конфликтов в части обязательств клиентов;
  • уделение надлежащего внимания правовым вопросам: соблюдение чистоты прав ИС, проверка прав ИС на открытый код, установление источника происхождения кода, отслеживание изменений в версиях лицензий, например, GPL v3 и т.д.

Принятие требований клиента

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

Проблемы, связанные с ИС

Затрагивают ли условия вашей лицензии на использование открытого исходного кода ту интеллектуальную собственность, которая является отличительной чертой вашего продукта? Если да, то ваша ИС находится под угрозой.

Если во встраиваемых системах используется смесь ПО вашей собственной разработки и программ с открытым исходным кодом, то вы должны представлять суть, происхождение и взаимосвязь всех компонентов встраиваемого ПО. Без такого глубокого проникновения в суть предмета вы можете непреднамеренно нарушить права чьей-нибудь ИС или даже потерять права на ПО собственной разработки.

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

Как показывает пример использования среды QNX Momentics IDE, для ПО с открытым исходным кодом существует много мгновенно получаемых преимуществ, включая сокращение времени до выпуска продукции на рынок, меньшие затраты на разработку и большую свободу по наделению вашего продукта дополнительными функциями и инновациями. Если вы предлагаете ваше ПО в виде услуги, которая решает некоторую проблему клиента, то клиенту безразлично, использовали вы или нет программы с открытым исходным кодом, он просто платит за полученную необходимую ему функцию.

Тем не менее, вы должны понимать разницу, существующую между разными лицензиями на открытый исходный код, и выбирать среди них ту, которая отвечает вашему приложению и потребностям клиента. Более того, будьте готовы отвечать по лицензионным обязательствам выбранного вами ПО. Вам должно быть известно о других требованиях, касающихся ИС (например, о патентных правах) и связанных с программным кодом. С осторожностью отнеситесь к кодовой базе, для которой на экран не выводится сообщение о последствиях нарушения ИС. Поищите лучше проекты, где предлагается возмещать возможные убытки и где выводится экранное сообщение о денежных пожертвованиях за разработку кода для компенсации расходов, связанных с нарушением авторских или патентных прав и так далее. Убедитесь также в том, что используемое вами ПО с открытым исходным кодом согласуется в вашей политикой охраны интеллектуальной собственности и избегайте защитных лицензий, на основании которых вас могут заставить раскрыть отличительные фрагменты вашего кода. Если же ваш продукт встроен в систему, то рассматривайте также возможность предложения условий коммерческого лицензирования вашей ИС.

Использование открытого исходного кода во встраиваемых устройствах приводит к более сложным проблемам, чем в случае использования такого ПО в ИТ-приложениях, так как первый вариант таит больше опасностей. Перед тем, как решиться использовать любое ПО с открытым исходным кодом, оцените истинную стоимость владения им (TTCO) и его пригодность для вашего проекта.

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

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

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

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

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

Идея о том, что одна полностью противоречит другой, не совсем верна. В этой статье объясняется разница между ними.

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

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

Сообщество людей, работающих с программным обеспечением, позволит любому изучать и изменять код с открытым исходным кодом для любых целей, которые они хотят. Движение с открытым исходным кодом нарушило все барьеры между разработчиками / программистами и поставщиками программного обеспечения, которые побуждают всех открывать сотрудничество. Наконец, ярлык «программное обеспечение с открытым исходным кодом» был официально опубликован на стратегической сессии в Пало-Альто, штат Калифорния, в 1998 году, чтобы способствовать принятию во всем мире этого нового термина, который сам по себе напоминает академическую свободу.

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

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

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

Что такое проприетарное программное обеспечение?

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

Владелец или издатель программного обеспечения исключительно прав интеллектуальной собственности на исходный код. Мы называем это программное обеспечение «проприетарным программным обеспечением», потому что только первоначальный владелец (ы) программного обеспечения юридически разрешен для проверки и изменения исходного кода.

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

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

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

Примеры проприетарного программного обеспечения включают iTunes, Windows, macOS, Google Earth, Unix, Adobe Flash Player, Microsoft Word и т. Д.

Разница между открытым исходным кодом и проприетарным программным обеспечением

Контроль открытого и проприетарного программного обеспечения

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

Безопасность открытого и запатентованного программного обеспечения

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

Поддержка драйверов открытого и запатентованного программного обеспечения

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

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

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

Непрозрачность открытого и запатентованного программного обеспечения

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

Программное обеспечение с открытым исходным кодом и проприетарным программным обеспечением: сравнительная таблица

Сводная информация о программном обеспечении с открытым исходным кодом

Open-source относится к программному обеспечению, чей исходный код доступен для всех, кто имеет доступ и модифицирует, в то время как проприетарное программное обеспечение относится к программному обеспечению, которое принадлежит исключительно физическому лицу или издателю, который его разработал. В отличие от программного обеспечения с открытым исходным кодом проприетарное программное обеспечение управляется отдельным лицом или организацией, которая держит исключительно права интеллектуальной собственности на исходный код, и никто за пределами круга не может просматривать этот код, а не проверять его. Основное различие между ними заключается в том, что проекты с открытым исходным кодом обладают способностью развиваться, поскольку их могут повторять миллионы разработчиков, расположенных по всему миру.

Программное обеспечение с открытым исходным кодом (OSS) - это компьютерное программное обеспечение, распространяемое с его исходным кодом, доступным для модификации. Обычно программное обеспечение включает лицензию для программистов на изменение программного обеспечения любым способом. Они могут исправлять ошибки, улучшать функции или адаптировать программное обеспечение в соответствии со своими потребностями. Инициатива с открытым исходным кодом (OSI) является ведущим органом в области OSS; их определение программного обеспечения с открытым исходным кодом соответствует правилам по 10 критериям.

К ним относятся:

  • Распространение программного обеспечения
  • Доступность исходного кода
  • Распространение лицензий
  • Свойства лицензии
  • Антидискриминация

Лицензии

Различные лицензии позволяют программисты для изменения программного обеспечения с различными условиями. OSI утверждает лицензии, соответствующие их определению программного обеспечения с открытым исходным кодом. 5 из самых популярных лицензий в соответствии с базой знаний Black Duck:

  1. Лицензия MIT
  2. Общая публичная лицензия GNU (GPL) 2. 0
  3. Лицензия Apache 2. 0
  4. GNU General Public License (GPL) 3. 0
  5. Лицензия BSD 2. 0 (3-пункт, новый или пересмотренный)

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

Разница между открытым исходным кодом и коммерческим программным обеспечением

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

В результате пользователи часто платят за это.

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

Программное обеспечение с открытым исходным кодом Vs. Бесплатное программное обеспечение

Вопреки распространенному мнению, ни одно из них не фокусируется на стоимости или недостатке этих программ.

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

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

Преимущества программного обеспечения с открытым исходным кодом

В то время как стоимость является движущей силой, OSS имеет несколько дополнительных преимуществ:

  • Высокое качество результатов, когда исходный код передается, тестируется и исправляется.
  • Это ценная возможность обучения программистов. Они могут учиться и применять навыки для самых популярных программ, доступных сегодня.
  • Многие считают программное обеспечение с открытым исходным кодом более безопасным, чем проприетарное программное обеспечение, потому что ошибки идентифицируются и исправляются быстро.
  • Поскольку программное обеспечение с открытым исходным кодом находится в общественном достоянии, мало шансов, что он может стать недоступным. Это важно для долгосрочных проектов, которые полагаются на эти инструменты в течение всего проекта.
  • Большая часть программного обеспечения бесплатна. Однако затраты могут возникнуть позже, например, подписки или платы за поддержку.

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

Технологии с открытым исходным кодом помогли создать большую часть Интернета.

Кроме того, многие из программ, которые вы и я используем каждый день, основаны на технологиях с открытым исходным кодом. Например, Android OS и Apple OS X основаны на ядре и Unix / BSD с открытым исходным кодом, соответственно.

Другое популярное программное обеспечение с открытым исходным кодом:

  • Веб-браузер Mozilla Firefox
  • Почтовый клиент Thunderbird
  • Язык сценариев PHP
  • Язык программирования Python
  • Сервер веб-сервера Apache
  • > Open Source и разработчики

Проекты OSS - это возможности сотрудничества, которые улучшают навыки и создают связи в этой области. Разработчики должны владеть стандартными инструментами разработки с открытым исходным кодом.

Коммуникационные средства

  • - электронная почта, обмен сообщениями в реальном времени, форумы и вики помогают разработчикам находить решения или отскакивать идеи друг от друга. Системы управления распределенными версиями
  • - Когда несколько разработчиков в разных географических точках изменяют данные и файлы, эти системы управляют различными версиями и обновлениями. Отслеживание ошибок и списки задач
  • - Разрешить крупномасштабным проектам контролировать проблемы и отслеживать их исправления. Инструменты тестирования и отладки
  • - Автоматизация тестирования во время интеграции системы и отладки других программ. Заключение

Тысячи проектов с открытым исходным кодом являются альтернативой проприетарному программному обеспечению. Работа над проектом OSS как путь к созданию карьеры в разработке программного обеспечения. Кроме того, программисты могут оттачивать свои навыки, работая над крупнейшими программными продуктами в мире. Facebook, Google и LinkedIn в качестве Open Source, поэтому разработчики могут делиться знаниями, внедрять решения и вносить вклад в стабильные, функциональные продукты.