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


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


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


    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 8

      +1
      Говорят, что авторам пакетов приходит сообщение на почту от Packagist. Я лично его не видел.
      Приходят, обычно после каждого пуша.
        0
        Значит просмотрел или в спам попало. Сам виноват ))
        0

        Не молча, мне на почту такое письмо пришло


        The gemorroj/phpwhois package of which you are a maintainer has
        failed to update due to invalid data contained in your composer.json.
        Please address this as soon as possible since the package stopped updating.

        It is recommended that you use composer validate to check for errors when you
        change your composer.json.

        Below is the full update log which should highlight errors as
        "Skipped branch ...":

        [Composer\Repository\InvalidRepositoryException]: No valid composer.json was found in any branch or tag of https://github.com/Gemorroj/phpwhois, could not load a package from it.

        Reading composer.json of gemorroj/phpwhois (master)
        Skipped branch master, Invalid package information:
        License "GPLv2" 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.
          0
          Да, я уже ответил выше в комментах, что возможно сам виноват — проглядел или в спам отправил случайно.
            0

            А в статье нет и это не очень хорошо: не все читают комментарии, особенно когда их больше ста.

              0
              Извините, но в статье есть
          0
          Случайно нажал «отклонить» на комментарии от пользователя с низкой кармой. Простите меня :)

          Был вопрос: как это скажется на пользователях библиотеки?

          Ответ: если вы создадите новую версию путем задания ветки или тега на GitHub, эта версия не будет доступна к загрузке через composer. Старые версии продолжат устанавливаться.
            0
            Спасибо =)

          Only users with full accounts can post comments. Log in, please.