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

Успех программного обеспечения с открытым кодом весьма заметен. Оно не обошло стороной даже крупных производителей коммерческих программ. Компании 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 в среде корпоративных клиентов.

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

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

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

Лицензии

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Решение этой проблемы заключается в создании промежуточного языка, понятного как людям, так и компьютерам. Это так называемые языки программирования. Программисты создают список инструкций для компьютера на языке программирования, таком как 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.

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

Бесплатное программное обеспечение (Freeware)

Впервые термин «freeware» появился в 1982 году, его зарегистрировал в качестве товарного знака американский программист Андрю Флеглеман (Andrew Flegleman) для разработанной им коммуникационной программы.

Бесплатно можно скачать:

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

Достоинство freeware одно - не надо платить деньги, недостатков немного больше:

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

  • Архиваторы (7-Zip)
  • ПО для работы с FTP (FileZilla)
  • Антивирусы (CureIt, Avast!, AVZ)
  • Текстовые редакторы (Notepad++)
  • Браузеры (Mozilla, Firefox, Opera, GoogleChrome)
  • Аудиоплееры (WinAmp)
  • Видеоплееры (VLC, Miro, Media Player Classic)
  • Транскодеры (MediaCoder)
  • Графические редакторы (GIMPshop)
  • Офисное ПО (Apache OpenOffice, LibreOffice)

Бесплатные приложения под Windows доступны в Интернете на сайтах разработчиков. После скачивания архива и установки ПО на компьютере автоматически формируются все необходимые для нормальной работы приложения каталоги и файлы в них. Бесплатные приложения для Android и iOS можно скачать при помощи маркетплейсов PlayStore и AppStore.

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

Особое место в категории бесплатных программ занимают проекты open source. Часть из вышеперечисленного ПО (Mozilla Firefox, 7-Zip, FileZilla, Notepad++, Miro, VLC, Apache OpenOffice, LibreOffice, Media Player Classic, GIMPshop, Google Chrome) относится именно к этой категории.

Open Source ПО

Программное обеспечение может распространяться с закрытым исходным кодом (Microsoft Windows, MS Office – проприетарное ПО), и с открытым кодом (open source). Появившийся в 1984 году термин «free software» (свободное программное обеспечение) относится к ПО, которое можно бесплатно получить, модифицировать, используя доступные исходные тексты программ, и распространять дальше.

Программы распространяются по лицензии GNU GPL и должны удовлетворять следующим требованиям:

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

В 1998 году было введено понятие «open source software» – ПО с открытым кодом. Формально, все свободное программное обеспечение можно считать ПО с открытым кодом. Принято относить программы open source к бесплатным, хотя не запрещено их использовать в коммерческих целях. Обычно, оно распространяется по лицензии Apache 2.0. Но есть и другие варианты (подробнее о лицензиях в мире open source см. ).

Преимущества работы с проектами open source:

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

Недостатки:

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

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

Давно широко внедряет технологию «открытого кода» компания Google. Все ее проекты такого типа, их примерно 200 (изначально и Kubernetes был разработан здесь, а затем передан под управление Cloud Native Computing Foundation), доступны на портале компании GOOGLE OPEN SOURCE. На ресурсе лежат не только коды программ, но и документация по их использованию и поддержке. Насколько широко можно использовать открыто предоставляемый код - указано в лицензии, обычно непосредственно размещаемой в тексте программы.

Компания Apple, открыв исходные коды языка Swift, пытается увеличить количество доступных приложений для Apple. Текущая версия языка на настоящий момент имеет ограничения: чтобы загрузить свою разработку на AppStore, придется приобрести лицензированный Swift. Вся необходимая по языку информация размещена на сайте swift.org и в облачном хранилище GitHub. Выпущен релиз Swift под Linux.

Условно-бесплатное программное обеспечение

Некоторые программы, распространяемые бесплатно, имеют ограничения:

  • по сроку работы
  • по количеству запусков
  • по функциональности

Для ограничения срока работы и числа запусков используется trial-защита – специальные счетчики. В качестве ограниченного по функционалу ПО предоставляют демо-версию или версию с ограниченным сервисом. Иногда разработчик вставляет в код программы рекламу, затрудняющую работу с пакетом. Чтобы избавиться от рекламного баннера, придется заплатить.

Примеры программ с лицензией shareware:

  • Архиватор WinRAR (30 дней)
  • Антивирус Nod32 (30 дней)

AcrobatReader – пример программы, ограниченной по функционалу. Эта программа, нижний сегмент пакета AdobeAcrobat, разрешает только просмотр PDF-файлов. Для полноценной работы с файлами таких типов необходимо купить более полную версию Acrobat’a.

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

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

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

Выводы

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

Устанавливая бесплатное программное обеспечение, обращайте внимание на дату его создания/обновления и обязательно проверяйте ПО на наличие вирусов. Такими программами пользуются как IT-специалисты, так и пользователи ПК разного уровня.

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

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