Ваш пакет Composer сломан: обновите идентификатор лицензии

image


Если вы, как и я:


  • являетесь мэйнтейнером какой-либо библиотеки или фреймворка;
  • ваша библиотека или фреймворк выпущены под какой-либо свободной лицензией
  • ваша библиотека или фреймворк доступны к установке через 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.


Позаботьтесь о пользователях ваших пакетов — сделайте это сегодня!


Что почитать?


  • Ссылка на схему composer.json
  • Список лицензий SPDX

© Habrahabr.ru