Сайт о телевидении

Сайт о телевидении

» » Открытое программное обеспечениеOpen Source. Насколько безопасно ПО с открытым исходным кодом

Открытое программное обеспечениеOpen Source. Насколько безопасно ПО с открытым исходным кодом

Что такое Open Source?

Введение: Что же такое Open Source?

Справка: Open Source программное обеспечение обычно называют - "ПО с открытым исходным кодом". Так же используют термины "открытое" и "свободное" ПО. Между двумя последними есть отличия, но в данной статье мы не будем в них разбираться.

Если перевести словосочетание "Open Source", то получим что-то вроде "Открытый Источник". Что же это значит в отношении к ПО? Любая программа, а вернее сказать - приложение, которое выполняется компьютером является двоичным (бинарным) файлом, состоящим из набора нолей и единиц, понятным только ему одному. Разрабатывать программы таким образом невозможно, поэтому программисты сначала их пишут на понятных для человека языках программирования. В таком состоянии программы представляют из себя обычные текстовые файлы, и называются - исходным кодом. Когда исходный код написан, он специальными программами (компиляторами) переводится в двоичный вид (этот процесс называется процессом компиляции или сборки), в результате чего и получается готовое приложение, которое мы можем запустить и увидеть.

Подведём итог - программы бывают в двух основных состояниях - в виде исходного кода и в виде исполняемых бинарных файлов.

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

Что мне даёт исходный код?

Если Вы не IT-специалист, то Вам нет никакого смыла копаться в исходном коде программы. Но Вы можете пользоваться Open Source приложениями. А для самих программ, открытый исходный код крайне меняет дело. А именно:

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

Какая выгода программистам работать над бесплатным ПО?

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

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

Интересный пример - проект Blender. Blender - пакет для создания 3D графики, разработанный компанией NaN. Для открытия исходного кода этого проекта под лицензией GPL сообществом была собрана сумма в €100000.

То, что программные продукты, с открытым исходным кодом не приносят их разработчикам никаких денег - ошибочное предположение. Доказательством этому служат многочисленные примеры. Компании RedHat и Novell, выпускают дистрибутивы Linux для корпоративных клиентов. Согласно лицензии они не могут их продавать. Тогда как они получают с клиентов деньги? Очень просто: за подписки на обновления их продуктов, обучающие курсы и т.д. Mozilla Foundation - некоммерческая организация, разрабатывающая ряд популярных продуктов, таких как браузер Mozilla Firefox и почтовый клиент Mozilla Thunderbird, получает приличную спонсорскую помощь. Корпорация Sun Microsystems является главным спонсором открытого офисного пакета OpenOffice. И таких примеров очень много...

Свободная операционная система Linux

Мир Open Source огромен. Вы можете найти абсолютно любое приложение для своих нужд и по своему вкусу. Но в основе всего этого лежит операционная система GNU/Linux, или можно просто - Linux. Она основана на тех же принципах, что и ПО с открытым исходным кодом - свобода выбора и действий. Существуют так же и другие открытые операционные системы (далее - ОС), но здесь мы о них говорить не будем.

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

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

Действительно ли этот Linux так популярен?

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

С другой стороны есть огромное количество компаний, крупных и не очень, заинтересованных в этой области и активно вкладывающих в Open Source деньги и силы своих сотрудников. Среди этого бесчисленного списка можно выделить самых активных и крупных, таких как Intel, IBM, Google, Sun Microsystems, Hewlett-Packard, NEC, Motorola, Nokia. Впечатляет? Такие крупные корпоративные игроки не могут ошибаться. Выводы делайте сами.

А можно на Linux посмотреть?

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

Хочу попробовать приложения Open Source, Linux. Как я могу это сделать?

Если у Вас появился интерес к ПО с открытым исходным кодом, и желание его попробовать, то можно воспользоваться одним из самых простых способов - дистрибутивом LiveCD. LiveCD - это популярная в последнее время технология, позволяющая запускать операционную систему прямо с носителя (CD или DVD диска), без предварительной установки её на жёсткий диск компьютера. Вы можете, например, попробовать один из самых успешных дистрибутивов - Ubuntu. Получить диск с этой ОС Вы можете как минимум тремя способами: во-первых, - скачать образ диска с Ubuntu, во-вторых, - сделать заявку на бесплатную достаку дистрибутива из Европы (до 10 недель), или, в-третьих, - заказать диск с доставкой в магазине LinuxCenter.ru.

Если Вы хотите установить Linux на свой компьютер, то перед Вами огромный выбор дистрибутивов, ознакомиться с которым можно на сайтах linux.org.ru, distrowatch.com, и любых других, которых в сети несчетное множество.

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

Будущее Open Source в России

Европа, Америка, Азия уже по достоинству оценили Open Source, но Россия всё равно не смотрит в сторону открытого ПО. Может быть, потому, что за программное обеспечение в нашем Отечестве почти никто не привык платить, и искать замену уже привычному набору коммерческого ПО практически никому и в голову не приходит? В любом случае борьба за авторские права рано или поздно перекинется и на Россию. Вот тогда, как надеются сторонники свободного ПО, общественность обратит внимание на Open Source и согласится, что открытые технологии ни чем не уступают коммерческим, а часто даже превосходят их. Комментарии и предложения принимаются на e-mail. Идея и реализация проекта - Ленский Алексей aka PM. 2007. Рейтинг@Mail.ru

С помощью open source проектов можно усовершенствовать свои навыки, исправляя чужие ошибки и создавая что-то новое. Можно найти проект, который будет полезен и для собственного бизнеса, например, в медицине или e-commerce. Кроме того, как практикующие программисты, один из лучших способов мотивировать себя на занятия программированием - это работа с open source проектами. Специально для читателей блога Geekbrains мы собрали список таких проектов из разных сфер деятельности:

Пакет программного обеспечения для работы с медицинскими изображениями. 3D Slicer доступен на нескольких платформах, в числе которых Windows, Linux и OS X.

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

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

Платформа для управления контентом, на которой работают миллионы веб-сайтов и приложений.

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

Свободная операционная система типа Unix.

Офисный пакет для совместной разработки с функционалом, как у Microsoft Office или OpenOffice.org.

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

ПО для создания и управления обучающим аудио и видео контентом.

Мультиплатформенная система управления корпоративным контентом написанная на Java. Работает с несколькими базами данных (в том числе MySQL, Oracle, PostgreSQL, SQLLite, и другие), а также поддерживает несколько методов аутентификации.

Софт для создания частных и общественных облаков.

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

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

Проект создан силами Open Source сообщества и предназначен для обеспечения лучших решений для предприятий с помощью бизнес аналитики.
Основные области применения:

  • создание отчетов
  • анализ
  • сбор Данных
  • платформа бизнес-аналитики

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

Модульная open source система управления цифровыми данными.

Бесплатный софт для e-commerce.

Библиотека для быстрого фильтрования и сортировки больших коллекций - до 100000 элементов в браузере.

Языки c open source

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

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

Где найти больше open source проектов?

Один из самых крупных веб-сервисов для совместной разработки IT-проектов. Абсолютно бесплатен для open source проектов. Девиз сервиса “Social coding” можно перевести, как “Кодим вместе”.

Предназначен популяризовать open source проекты. С помощью инструментов, которые там предоставлены, разработчики создали мощное программное обеспечение в более чем 430,000 проектах; на ресурсе более 3,7 млн зарегистрированных пользователей. Популярный каталог объединяет более 41,8 млн клиентов с проектами open source и обслуживает более 4800000 скачиваний в день.

Цель Fossdroid - продвигать open source приложения на Android с помощью проекта F-Droid. Fossdroid берет свои данные из F-Droid и организует приложения в порядке, похожем на Google Play, с возможностью просмотра их по популярности.

Как узнать является ли ПО open source и каковы правила его использования?

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

27.03.2015 | 02:24 Аналитика

Если бы существовал приз за решение проблем, стоящих перед безопасностью систем с открытым исходным кодом, он бы достался Вернеру Коху, немецкому разработчику, который последние 18 лет трудился над тем, чтобы сохранить столп open source экосистемы — GNU Privacy Guard (GnuPG).

С момента своего первого релиза в 1999 году, GnuPG стал одним из наиболее широко используемых в мире инструментов безопасности с открытым исходным кодом, защищая электронную почту каждого — от государственных чиновников до Эдварда Сноудена.

Тем не менее, Кох обнаружил, что с трудом сводит концы с концами в последние годы. По оценкам он собирал в среднем $25000 ежегодных пожертвований с 2001 года, но их не хватало, чтобы поддержать его усилия. Как сообщает Pro Publica, 53-летний Кох был близок к тому, чтобы бросить GnuPG, но, когда откровения Эдвард Сноудена потрясли мир, Кох решил сражаться дальше. «Я слишком большой идеалист», сказал он.

История имеет счастливый конец. После появления истории в ProPublica, доноры со всего мира бросились поддерживать Коха. Он легко собрал средства в размере $137000, которые запланировал на поддержку работы, и это позволило ему нанять частично занятого разработчика. Кох был удостоен единовременного пособия в размере $60000 от Linux Foundation’s Core Infrastructure Initiative. Facebook и компания онлайн-платежей Stripe пообещали по $50000 в год для проекта Коха.

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

Пишу программы за еду

Условия, в которых работал Кох в течение многих лет — не редкость.

После того, как исследователь Google Нил Мета обнаружил Heartbleed, серьезную и удаленно эксплуатируемую уязвимость в компоненте OpenSSL, сообщество разработчиков было потрясено, узнав, что проект в значительной степени является ответственностью тех, кого Джим Землин, исполнительный директор Linux Foundation, назвал: «два парня по имени Стив». Доктор Стивен Хенсон и Стив Маркез были частично заняты в поддержке кода в актуальном состоянии, что компенсировалось несколькими тысячами долларов в год, поступаемых в виде добровольных взносов.

Технологические вендоры, которые полагаются на open source были быстро налетели и попытались навести порядок в проекте OpenSSL. Core Infrastructure Initiative, которая дала создателю GnuPG грант в размере $60000, была создана несколькими месяцами ранее, чтобы помочь финансировать работу Хенсона и другие проекты на OpenSSL. Финансовая поддержка предоставляется такими гигантами Кремниевой долины, как Amazon, Adobe, Cisco, Facebook и Google.

У семи нянек дитя без глазу

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

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

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

«Множество глаз» в случае открытого исходного кода, в основном скрывает слабость экосистемы open source, подразумевая атмосферу постоянной бдительности, которой никогда не существовало, говорит Билл Вайнберг, старший директор по стратегии open source в компании Black Duck Software.

«С Shellshock множество глаз не помогли», говорит Вейнберг, ссылаясь на критическую уязвимость, которая была обнаружена в коде для Bash в 2014 году. «Этот код считался также проверенным, но оказалось, что его никто не курировал, потому что все предполагали, что он уже был хорошо проверен».

В то время как мы могли бы предположить, что целостность открытого исходного кода является высокой, данные Sonatype свидетельствуют об обратном. Анализ компонентов с открытым исходным кодом в своем управляемом коде, проведенный компанией, обнаружил, что известные уязвимости в компонентах с открытым исходным кодом исправляются только в 41% случаев, написал Корман. Для проблем, которые были исправлены, среднее время их устранения заняло 390 дней.

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

Стоит серьезно относиться к безопасности на уровне кода

Каково же решение проблемы? К лучшему или худшему, ответ во многом, культурный, говорит Кэти Моузорис, главный сотрудник по вопросам политики в фирме HackerOne и бывший старший стратег безопасности в Microsoft. «Мы должны мыслить категориями безопасности. Это важно для любого проекта программного обеспечения — с открытым исходным кодом или нет».

Компания Музорис предлагает веб-платформу для координации раскрытия уязвимостей, в том числе в рамках программ поощрения за нахождение багов. Она отмечает, что HackerOne уже спонсирует нахождение багов в широком круге проектов с открытым исходным кодом, в том числе PHP, Ruby on Rails, Python и OpenSSL, обеспечивая компенсацию за отчеты об уязвимостях.

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

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

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

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

В случае Shellshock, например, проблема в коде восходит к 1989 году и имеет широкий спектр влияния — от веб-серверов на основе CGI (общего интерфейса шлюза) и почтовых серверов Qmail, до определенных клиентов DHCP. Атаки на уязвимости начались в течение нескольких часов после ее раскрытия.

Следовать за лидерами

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

Компании, выпускающие коммерческие версии Linux, как Canonical, Red Hat и Google уже вкладывают значительные средства в безопасность и целостность open source. Богатые, дружественные к с открытому исходному коду компании, такие как Netflix и Facebook направили значительные ресурсы на проекты, которые улучшают качество открытого исходного кода.

В Mozilla ответственность за безопасность разделена между тремя командами, говорит менеджер по разработке Джейсон Дуэл. Одна команда устанавливает приоритеты проблемам безопасности, когда их обнаруживают. Вторая команда делает «fuzzing» (методика тестирования, при которой на вход программы подаются невалидные, непредусмотренные или случайные данные), чтобы найти уязвимости, а третья команда разрабатывает такие функции обеспечения безопасности и конфиденциальности, как Mozilla Content Security Policy.

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

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

В Canonical, которая делает Ubuntu Linux, быстро растущая команда проверяет код безопасности, который в общей сложности составляет 35000 пакетов программного обеспечения, выпускаемых как часть Ubuntu через различные каналы, говорит Дастин Киркланд, продакт-менеджер по облачным решениям Canonical.

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

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

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

«Мы не собираемся создавать собственные версии OpenSSL и GPG», говорит Киркланд. «Однако иметь альтернативные библиотеки шифрования очень важно. Должно быть разнообразие, особенно когда мы узнаем об уязвимости некоторых из этих компонентов».

Сейчас все пользуются открытым исходным кодом

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

«Больше не существует такого понятия, как проприетарное программное обеспечение, потому что есть очень немного программного обеспечения без какой-либо зависимости от open source», сказал он. «Мир перешел к программному обеспечению, разрабатываемому сообществом — в той или иной форме».

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

Другими словами, мы можем скрежетать зубами и рвать волосы по поводу Heartbleed, но в 2015 году все компании, которые делают, используют или полагаются на программное обеспечение, де-факто являются open source софтверными компаниями, знают ли они это или нет. Это делает их частью проблемы и ее решения.

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

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

Такое программное обеспечение предоставляется пользователям бесплатно, причем не только программы, но и операционные системы. Оно создается и разрабатывается самими пользователями, которые выкладывают свои создания в Интернет. Наиболее популярные программы регулярно обновляются, так как их использует множество людей. В качестве примера можно привести Mozilla Firefox или Thunderbird. Если программа не обновляется регулярно, возможно, для этого не хватает необходимых технических ресурсов – весь вопрос в том, сколько у программы пользователей. Высокая частота обновлений является определенным гарантом безопасности использования программы. Хотя, если после установки обновления выясняется, что программа не работает (например, в новой версии операционной системы не поддерживается Skype), есть два пути решения проблемы: попытаться найти помощь на форумах в Интернете или устранить проблему самостоятельно, что относительно трудно.

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

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

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

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

Наша компания участвует в открытых проектах с 2005 года – и благодаря разработке собственных open source решений (проекты OpenVZ , CRIU), участвуя в других открытых проектах (QEMU , OpenStack , libvirt , libcontainer , и т.д.). За 10 лет мы собрали несколько наиболее распространённых мифов об открытом программном обеспечении. Я расскажу про каждое из заблуждений и объясню, почему оно ошибочно. Наверняка, вы вспомните еще столько же, но, на мой взгляд, эти пять самые «адовые».


Проект с открытым исходным кодом это открытый проект.

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

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

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

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

То есть открытый проект действительно даёт возможность любому человеку принять участие в написании кода, но в серьёзных проектах из-за высокого порога вхождения код не будет принят от людей с недостаточным уровнем экспертизы.
В большинстве крупных ИТ-компаний (IBM, Google, Canonical, Parallels и т.д.) есть целые департаменты, в которых специалисты получают зарплату за то, что работают над проектами с открытым исходным кодом и таким образом косвенно работают над продуктами компании.

Отдельно стоит упомянуть, что компании, которые разрабатывают продукты на базе открытых проектов, в ходе тестирования заинтересованы в улучшении кода открытых проектов, которые они используют. Поэтому все обнаруженные проблемы необходимо исправлять и добиваться, чтобы это исправление было добавлено в основную ветку проекта, чтобы иметь как можно меньше отличий в своём коде и коде открытого проекта. Наши продукты используют код других открытых проектов, поэтому проблемы, найденные в коде этих проектов, мы исправляем и отправляем в upstream. Так было с уязвимостями в ядре RHEL: Red Hat отметил Владимира Давыдова за обнаружение серьезных уязвимостей CVE-2014-0203 и CVE-2014-4483 в одном из обновлений ядра RHEL6 (вторая проблема, кстати, была найдена с помощью одного из наших автоматических тестов, использующих Linux Test Project). Василий Аверин получил благодарность за обнаружение ошибки CVE-2014-5045 , Дмитрий Монахов – за CVE-2012-4508 . Факт хорошего тестирования Linux-ядра был даже отмечен Эндрю Мортоном (кто это?): “Мне интересно. За последние несколько месяцев люди из @openvz.org нашли (и исправили) кучу непонятных, но серьезных и довольно древних багов. Как вы обнаружили эти баги?”

Итог

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