Если вы, как и я:
- являетесь мэйнтейнером какой-либо библиотеки или фреймворка;
- ваша библиотека или фреймворк выпущены под какой-либо свободной лицензией
- ваша библиотека или фреймворк доступны к установке через Composer и размещены на сервисе Packagist;
то у вас, возможно, есть проблемы, о которых вы и не подозреваете.
Что случилось?
Некоторое время назад изменилась схема файла composer.json
Отныне в свойстве license
строго рекомендуется указывать лишь те идентификаторы лицензий, которые есть в Реестре открытых лицензий SPDX, либо писать proprietary
, если вы не планируете следовать какой-либо свободной лицензии.
Все пакеты, в composer.json
которых идентификатор лицензии указан иначе, чем в списке SPDX, перестали автоматически обновляться на Packagist
И в чем проблема?
Ранее большинство пакетов указывали вместо рекомендованного идентификатора лицензии просто её название.
Как было, например, у меня:
"license": "LGPL v.3",
Как теперь требуется:
"license": "LGPL-3.0-or-later",
Проблема в том, что пакеты просто молча перестают обновляться. Говорят, что авторам пакетов приходит сообщение на почту от Packagist. Я лично его не видел.
Что же делать?
Для начала зайдите на packagist.org на страницу своего пакета. Авторизуйтесь, как автор пакета, нажмите кнопку Update. Если в вашем пакете указана неверная (с точки зрения packagist) лицензия, вы увидите сообщение с примерно таким текстом:
Invalid package information:
License "LGPL v.3" is not a valid SPDX license identifier, see https://spdx.org/licenses/ if you use an open license.
If the software is closed-source, you may use "proprietary" as license.
Далее вам не остаётся ничего делать, кроме как обновить свойство license
в файле composer.json своего пакета, не забыть сделать это во всех ветках, создать новые теги версий и обновить пакет на Packagist.
Позаботьтесь о пользователях ваших пакетов — сделайте это сегодня!
Комментариев нет:
Отправить комментарий