Открытое программное обеспечение

Оригинальное название: open source software

Коротко

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

Что такое «Открытое программное обеспечение»

Сам по себе доступ к исходникам ещё не делает программу открытой. Решает лицензия — юридический текст, который перечисляет, что можно делать с кодом. Например, PHP-файлы 1С-Битрикс лежат на сервере в читаемом виде, но продукт распространяется по коммерческой лицензии: копировать и перепродавать его нельзя. А WordPress, PHP, MariaDB, nginx и Linux открыты — их можно ставить, дорабатывать и использовать в коммерческих проектах без отчислений.

Определение открытой лицензии поддерживает организация Open Source Initiative, а близкое понятие «свободное ПО» продвигает Фонд свободного программного обеспечения. На практике списки одобренных ими лицензий почти совпадают, разница скорее в акцентах: первые говорят о пользе для разработки, вторые — о правах пользователя.

Два семейства лицензий

  • Копилефт (GPL и родственные). Изменённую версию, если вы её распространяете, нужно отдавать под той же лицензией вместе с исходниками. WordPress выпускается под GPLv2 или более поздней версией, поэтому и темы с плагинами для него принято лицензировать совместимо.
  • Разрешительные (MIT, BSD, Apache 2.0). Код можно встроить даже в закрытый продукт, достаточно сохранить уведомление об авторстве и текст лицензии.

Где лицензия указывается в коде

В плагине WordPress это поля заголовка главного файла, в PHP-библиотеке — поле license в composer.json, в отдельных файлах часто ставят короткий идентификатор SPDX:

<?php
/*
 * Plugin Name: Delivery Calc
 * License: GPL v2 or later
 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
 */
// SPDX-License-Identifier: GPL-2.0-or-later

О чём помнить при использовании

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

Обновлено:

Все термины раздела «Backend»

Что будем искать? Например,Продвижение