Программное обеспечение с открытым исходным кодом. Открытый исходный код: особенности, термины и понятие Сравнение программного обеспечения с открытым программным кодом

Как создаются компьютерные программы

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

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

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

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

Что же такое Open Source?

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

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

Что это означает

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

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

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

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

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

Ресурсы

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

Задолго до того, как термин «открытый исходный код» вошел в употребление, существовало сообщество людей, приверженных идее «Свободное программное обеспечение», фразе, которая относится не к стоимости, а к свободе ее использования и модификации (думать о свободе как о в «свободе слова», а не «свободном пиве»). Это сообщество по-прежнему активно продвигает идеалы свободного программного обеспечения. Чтобы узнать больше об этом, Вы можете посетить The Free Software Foundation https://www.fsf.org/ .

Для подробного изучения того, как и почему разрабатывается программное обеспечение с открытым исходным кодом, прочитайте превосходное эссе Эрика С. Раймонда "The Cathedral and the Bazaar" .

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

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

В настоящее время существует множество программ с открытым исходным кодом отличного качества: Linux LibreOffice, Firefox, Audacity, WordPress, Emule и другие, которые дают представление об уровне развития и востребованности этой идеи в мире. В каждой программе сотни людей по всему миру работают бескорыстно, отвечая за улучшение и обновление ПО.

Хронология процесса:

  1. 22 января в 1998 году Netscape объявляет, что он будет выпускать исходный код для Netscape Navigator.
  2. 3 февраля 1998 года на встрече в Пало-Альто был придуман термин «открытый исходный код», и на следующей неделе Брюс Перенс и Эрик Рэймонд запустили проект "opensource.org".
  3. 31 марта 1998 года открыт код Netscape Navigator и уже через несколько часов первые улучшения ПО поступили в сеть.
  4. 7 мая 1998 года корпорация Corel объявляет об экономичном компьютере Netwinder, работающем под управлением GNU/Linux.
  5. 11 мая 1998 Corel объявляет о своих планах по адаптации WordPerfect и остальной части своего офисного программного обеспечения к GNU/Linux.
  6. 28 мая 1998 года Sun Microsystems и Adaptec присоединились к Linux International, первым крупным поставщикам оборудования и операционных систем с открытым исходным кодом.
  7. 13- 17 июля 1998 года, Oracle и Informix сообщает, что подключают свои базы данных для GNU/Linux.
  8. 10 августа 1998 года Sun Microsystems предлагает Solaris, операционную систему, предназначенную для отдельных пользователей и образовательных или некоммерческих организаций.
  9. 1 ноября 1998 года опубликованы планы Microsoft против GNU/Linux и других проектов с открытым исходным кодом.
  10. 16 декабря 1998 IDG объявляет, что доля рынка GNU/Linux увеличилась на 212% в 1998 году.
  11. 1- 5 в марте в 1999 году первая выставка Linux World Conference Expo.
  12. Hewlett-Packard, IBM и SAP начинают поддержку коммерческих фирм.
  13. 15 марта 1999 Apple запускает Darwin по лицензии с открытым исходным кодом.
  14. 4 июня 1999 Microsoft согласился с тем, что Linux в целом продает больше лицензий, чем Windows 98.

В период между 1998 и 2019 годами популярность GNU/Linux значительно выросла, а также появилось много компаний с OS. Это движение привлекло внимание программной индустрии, привнеся предложения консолидированных компаний-разработчиков, таких, как Sun Microsystems с StarOffice и IBM с OpenAFS.

Термин Open Source

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

Учитывая это, использование термина "Open Source Software" является предпочтительным для обозначения программ, предлагаемых с полной свободой модификации, использования и распространения в соответствии с неявным правилом не изменять указанные свободы в будущем. Компьютерная концепция на английском «Open Source Software» относится к ПО в свободном доступе с разрешениями модификации и улучшения.

«Open Source Software» отвечает философии сообщества, которое стремится к демократизации знаний через совместную работу разработчиков со всего мира. Эта инициатива преследует цели по внедрению инновационных решений, связанных с технологиями, посредством сотрудничества, обмена информацией, гибкости процессов и снижения затрат.

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

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

Свободный термин, или свобода, связан со следующими функциями:

  1. Использование. Можно использовать программу, независимо от того, была ли она предназначена для конкретных задач нее или нет.
  2. Исследование. Доступность исходного кода позволяет анализировать его более глубоко, адаптируя к потребностям пользователя и оценивая возможные улучшения, которые необходимо выполнить.
  3. Распространение. Обычно встречается в местах бесплатного скачивания и разглашается, без ограничений.
  4. Открыт для улучшений и инноваций. Предоставляя доступ к исходному коду, пользователи и программисты со всего мира могут внести свой вклад в коллективные знания и наблюдения, обсуждения ошибок и улучшения продукта.

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

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

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

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

По словам Ричарда Столлмана, основателя Движения за свободное программное обеспечение, «эти свободы имеют жизненно важное значение не только для пользователя, но и для всего общества, поскольку они способствуют солидарности. Его актуальность возрастает, поскольку культура и повседневная деятельность все больше связаны с цифровым миром».

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

Базовые принципы с открытым исходным кодом

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

Основные принципы платформы:

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

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

Модель разработки программного обеспечения OS основана на обмене знаниями. Это традиционная схема научных областей и именно поэтому это была первоначальная модель, на которой был разработан интернет, а также инструменты TCP/IP, Unix, C.

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

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

В интернете в открытом доступе сегодня существует множество программ «Open Source Software» с отличной репутацией и характеристиками.

Перечень ПО OS:

  1. Linux имеет открытый исходный код. Это многозадачная, многопользовательская система, которая обеспечивает командный и графический интерфейс. Кроме того, это самый известный пример открытого кода.
  2. Apache Openoffice. Это мощный текстовый процессор, вычислений и графики, идеально подходит для сферы образования. Может обогатить как учителей, так и студентов.
  3. Android. Благодаря тому, что это ПО OS многие разработчики могут использовать его для создания приложений, которые будут использоваться этой системой.
  4. Firefox. Многие пользователи хорошо знают этот веб-браузер Mozilla, и большая часть его кода представлена большим сообществом добровольцев.

Обеспечение систем безопасности

Многих пользователей беспокоит вопрос, является ли свободное ПО более безопасным, чем проприетарное. Хорошо известно, что пользователи ПО OS, такие, как те, кто обычно работает с компьютерами, управляемыми системами Linux, обычно гордятся безопасностью, которую эти программы обеспечивают по отношению к самым закрытым системам, скажем, Microsoft Windows или Apple Mac.

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

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

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

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

В этом - отличие от предлагаемой Windows или MacOS, где эти исправления, как правило, ограничиваются обнаруженными Microsoft и Apple.

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

Преимущества Open Source

Программное обеспечение с OS (Open Source), отличается от ПО с закрытым исходным кодом особой лицензией. Для гарантии прав пользователей ПО OS, все копии должны распространяться вместе с уведомлением об авторских правах, копией лицензии и исходником.

Преимущества ПО:

  1. Пользователь не платит за лицензию на использование программы.
  2. Поставщик взимает плату только за услуги, которые он предоставляет.
  3. Независимость от провайдера и улучшение услуг.
  4. Клиент не зависит от провайдера, поскольку, имея исходный код, любой провайдер может продолжить работу с того места, где закончился предыдущий.
  5. Поскольку поставщик платит только за свои услуги, а клиент не имеет связей, первый концентрирует свои усилия для обеспечения хорошего обслуживания клиентов.
  6. Со всем доступным кодом любая новая разработка может использовать данные и процессы клиента, интегрируя различные программы.
  7. Созданные данные всегда будут доступны, не заставляя клиента вкладывать средства в лицензию.
  8. Пользователь не попадает под санкции за использование программы.
  9. Имеет периодические обновления с высокой частотой выпуска в сеть.
  10. Продукт 100% без вирусов.
  11. Имеет большое сообщество поддержки.
  12. Технологическая независимость.
  13. Гибкие компьютерные решения.
  14. Экономичный вариант, с низкой или нулевой стоимостью продуктов.
  15. Свободное использование и распространение.
  16. Имеет стандартные форматы, которые обеспечивают более высокую совместимость между системами.

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

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

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

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

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

Перспективы развития

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

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

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

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

Будущее этой системы очень многообещающе, эксперты утверждают, что к 2020 году компьютерное оборудование получит более 80 % своих компонентов через добровольные сообщества с Open Source.

Марк Робертс (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) и его пригодность для вашего проекта.

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

Успех программного обеспечения с открытым кодом весьма заметен. Оно не обошло стороной даже крупных производителей коммерческих программ. Компании IBM, Hewlett-Packard, Oracle и Microsoft признают его влияние и в некоторых случаях перенимают его методы. Похоже, что большинству компаний, в структуре которых имеется ИТ-служба, уже достаточно хорошо знакомы продукты с открытым кодом, а зачастую они и активно используют их.

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

Что представляет собой программное обеспечение с открытым кодом?

Вернемся назад в 1997 год. Талантливый разработчик операционной системы Linux Брюс Перенс составляет документ, связанный с подготовкой и распространением дистрибутива версии Debian Linux. Позднее он удалил все упоминания о Debian и представил концепцию, известную сегодня под названием The Open Source Definition. Помимо всего прочего в документе Definition говорилось, что программное обеспечение с открытым кодом должно распространяться без каких-либо отчислений разработчикам, распространители обязаны обеспечить всем желающим бесплатный доступ к исходному коду программ и все дальнейшие доработки и модернизированные варианты программ тоже должны поставляться на этих же условиях.

По сути движение сторонников программного обеспечения с открытым кодом является близким родственником инициативы Free Software Movement, предложенной в 1983 году Ричардом Столлманом. Главной ее целью являлось бесплатное распространение программного обеспечения, освобождение его от стандартных ограничений коммерческих программ. Правила распространения бесплатного ПО регламентируются лицензией General Public License (GPL), которая в октябре 2006 года была утверждена в своей третьей редакции.

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

Почему именно программы с открытым кодом?

Первая причина, по которой компании обращают внимание на программное обеспечение с открытым кодом, очень проста - это цена. И показатели окупаемости инвестиций в модель с открытым кодом наглядно это демонстрируют. ПО с открытым кодом можно загружать, устанавливать и использовать совершенно бесплатно. Поначалу низкие затраты привлекали разработчиков, желающих опробовать новые инструментальные средства или заняться проектированием новых приложений, не вкладывая в это никаких средств. Открывающаяся свобода способствовала тому, что многие из них стали поддерживать движение сторонников ПО с открытым кодом. В результате наряду с тысячами других проектов в мире стало появляться ПО с открытым кодом промышленного уровня, например, операционная система Linux, Web-сервер Apache, сервер приложений Java JBoss и среда разработки Eclipse.

В конце 1990-х годов на программы с открытым кодом наконец обратило внимание и руководство предприятий. В условиях постоянного сокращения бюджетов ИТ-служб разработчики хвастались качеством и экономией, достигаемой при использовании ПО с открытым кодом, и во многих компаниях стали всерьез задумываться о применении программных компонентов с открытым кодом при реализации корпоративных проектов. Первыми крупными предприятиями, которые стали внедрять у себя программное обеспечение с открытым кодом, были компании The Weather Channel, Cendant Travel, Employease и Sabre.

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

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

Причины отказа от ПО с открытым кодом

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

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

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

    Разработка нового функционала занимает больше времени по сравнению с коммерческим программным обеспечением. На самом деле это во многом зависит от конкретного вида используемого вами ПО. Web-браузер Firefox является лучшим примером того, насколько быстро программное обеспечение с открытым кодом можно приспособить к нуждам пользователей. Можно вспомнить и о том, насколько оперативно разработчики Linux организовывали поддержку новых технологий, в частности портов USB. В этом отношении Linux практически не отставала от Windows. Но что касается корпоративного ПО, встраивание механизмов поддержки новейшей видеоплаты или аудиочипа играет здесь гораздо менее важную роль по сравнению с обеспечением высокой устойчивости и производительности.

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

С чего начать?

Сегодня в виде продуктов с открытым кодом представлены почти все разновидности ПО делового назначения, начиная с серверов электронной почты и заканчивая системами VoIP. Многие компании в первую очередь обращают внимание на Web-приложения, где есть продукты, существующие на протяжении достаточно длительного времени и уже успевшие доказать свою состоятельность. Обычно упоминают о стеке LAMP (Linux, Apache, MySQL и PHP, Perl или Python в зависимости от конкретной ситуации). Широкое распространение получила Unix-подобная операционная система Linux. Одним из наиболее популярных Web-серверов сегодня является Apache. Система управления базами данных MySQL успешно конкурирует с дорогостоящими коммерческими продуктами. А языки программирования и сценариев PHP, Perl и Python находят широкое применение в качестве средств разработки Web-приложений с открытым кодом. Web-сайты с открытым кодом на основе Java часто опираются на сервер приложений JBoss. Познакомившись поближе с инструментальными средствами с открытым кодом, выявив сходство и различия между ними и коммерческими продуктами, вы откроете для себя и другие возможности. Возможно, удивит и то, что ваши разработчики время от времени на свой страх и риск обращаются к тем или иным продуктам с открытым кодом.

Серверы приложений, конечно, хорошо, но что можно сказать о ПО с открытым кодом для настольных компьютеров?

Конечные пользователи довольно часто применяют различные инструментальные средства с открытым кодом, предназначенные для настольных компьютеров. Ярким примером такого решения является Web-браузер Mozilla Firefox. Офисному пакету Sun OpenOffice отдельные государственные и коммерческие организации отдают предпочтение перед Microsoft Office. Но хотя некоторые игроки и отваживаются погрузиться в неизведанное, устанавливая на своих настоль ных компьютерах операционную систему Linux, Windows продолжает сохранять безусловно доминирующее положение. Дружественные по отношению к конечному пользователю версии Linux (например, LinSpire) не могут нарушить сложившееся положение, потому что обучение пользователей требует времени и денег. Кроме того, большинство коммерческих программных пакетов - от которых зависят многие компании - разрабатываются в первую очередь для Windows и только потом для Linux (если, конечно, версия для Linux вообще выходит в свет).

Можно ли продать продукты с открытым кодом?

Да, конечно, но правила Open Source Initiative запрещают чинить препятствия в продаже вашего кода и всем остальным. И все же многие компании находят способы зарабатывать на продуктах с открытым кодом. Многие, помимо собственно кода, предлагают услуги корпоративной поддержки, которые весьма охотно покупаются компаниями. Другие поставляют два варианта программного кода: один в открытой и бесплатной форме, а другой, включающий в себя дополнительные полезные функции, содержит закрытые компоненты и должен оплачиваться клиентами. Подобная смешанная модель становится все более популярной. Ее активно используют такие компании, как SourceFire, SugarCRM, Alfresco и ряд других.

Другие ресурсы с открытым кодом

Множество программ с открытым кодом можно найти в Internet:

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

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

Ресурсы с открытым кодом - официальные и неофициальные

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

    Open Source Technology Group. Пожалуй, ведущий в мире проводник технологий с открытым кодом. Именно этому объединению принадлежит сайт новостей Slashdot, а также ресурсы SourceForge и FreshMeat.

    Open Source Risk Management. Предлагает механизмы, обеспечивающие соответствие нормативным требованиям.

    Open Source Development Labs. Организация, главной целью которой является продвижение операционной системы Linux в среде корпоративных клиентов.