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

