...

среда, 7 февраля 2018 г.

Ваш пакет 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.

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


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


Let's block ads! (Why?)

Комментариев нет:

Отправить комментарий