Введение

Свободное и открытое программное обеспечение – модель доступности исходного кода, используемая свободным и открытым программным обеспечением (FOSS) – и программное обеспечение с закрытым исходным кодом – это два подхода к распространению программного обеспечения.

Предыстория

В рамках модели закрытого исходного кода исходный код не публикуется для всеобщего доступа. Программное обеспечение с закрытым исходным кодом поддерживается командой, которая выпускает свой продукт в скомпилированном исполняемом виде, который и доступен на рынке. Microsoft, владелец и разработчик Windows и Microsoft Office, вместе с другими крупными компаниями-разработчиками программного обеспечения, долгое время являлись сторонниками этой бизнес-модели, однако в августе 2010 года генеральный менеджер Microsoft по вопросам совместимости Жан Паоли заявил, что Microsoft "любит открытый исходный код" и что их прежняя позиция против открытого исходного кода была ошибкой. Модель FOSS позволяет компетентным пользователям просматривать и изменять исходный код продукта, но большая часть такого кода не находится в общественном достоянии. Распространенные преимущества, которые приводят сторонники такой структуры, выражаются в терминах доверия, признания, совместной работы и качества. Несвободная лицензия используется для ограничения того, что сторонники движения свободного программного обеспечения считают основными свободами. Лицензия, предоставляющая открытый исходный код или нет, которая не предусматривает "четыре свободы программного обеспечения", не считается "свободной" движением свободного программного обеспечения. Лицензия закрытого исходного кода ограничивает только доступность исходного кода. В отличие от этого, лицензия copyleft заявляет о защите "четырех свобод программного обеспечения", явно предоставляя их и затем явно запрещая кому-либо перераспространять пакет или повторно использовать код в нем для создания производных работ без включения тех же лицензионных условий. Некоторые лицензии предоставляют четыре свободы программного обеспечения, но позволяют распространителям удалять их по своему усмотрению. Такие лицензии иногда называют разрешительными лицензиями на программное обеспечение. Примером такой лицензии является лицензия FreeBSD, которая позволяет распространять производные программы как несвободные или с закрытым исходным кодом, при условии указания авторства оригинальных разработчиков. Распространенное заблуждение, которое допускают как сторонники, так и противники FOSS, заключается в том, что FOSS нельзя коммерциализировать. FOSS может и была коммерциализирована такими компаниями, как Red Hat, Canonical, Mozilla, Google, IBM, Novell, Sun/Oracle, VMware и другими.

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

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

Качество кода

В 2008 году Департамент науки и технологий управления Афинского университета экономики и бизнеса опубликовал анализ ядер операционных систем FreeBSD, Linux, Solaris и Windows, в котором исследовались различия между кодом, разработанным с использованием открытых и проприетарных методологий. В рамках исследования были собраны метрики в областях организации файлов, структуры кода, стиля кодирования, использования препроцессора C и организации данных. Итоговые результаты показали, что все системы продемонстрировали сопоставимые показатели. Другое исследование, проведенное компанией Synopsys и опубликованное в 2014 году, показало, что код с открытым исходным кодом отличается более высоким качеством.

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

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

Бизнес-модели

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