image


Помните, несколько лет назад была проведена согласованная клеветническая компания против Ричарда Столлмана, в которой он был ложно обвинён в одобрении изнасилований, и по результатом которой его вынудили уволиться с поста президента Фонда Свободного Программного Обеспечения?


Уже тогда многие предполагали, что данная спланированная акция является подготовкой к атаке производителей проприетарных программ на экосистему свободного программного обеспечения. Многие в это не верили (типа, «не приписывайте обычную глупость злому умыслу»), а кто-то не верит и сейчас. Ведь гораздо проще и удобнее игнорировать якобы не существующую опасность, ведь в противном случае на нее нужно как-то реагировать (хотя бы морально).


И вот сейчас, в релизе ядра Linux 6.2, произошло очень важное изменение — разрешён приём кода в ядро Linux под лицензией Copyleft-Next, для которой заявлена совместимость с GPLv2, что подтверждено юристами компаний SUSE и Red Hat (кто бы сомневался?).


Данная лицензия также содержит пункт о предоставлении прав на запатентованные технологии, что делает Copyleft-Next совместимой и с Apache 2.0. А для обеспечения полной совместимости с GPLv2, в тексте Copyleft-Next явно указано, что производная работа может поставляться не только под исходной лицензией Copyleft-Next, но и под лицензией GPL.


Но как говорится, «есть нюанс».


Лицензия Copyleft-Next содержит пункт об автоматической отмене копилефт-требований для кода через 15 лет. Другими словами, через 15 лет термин «Copyleft» у лицензии Copyleft-Next превращается в тыкву, а исходный код можно будет использовать уже без учета требований GPL, в том числе и без обязательного наследования лицензий и свобод для пользователя в производных произведениях. Фактически, это прямая дорога к проприетарным прошивкам на базе ядра Linux без учета каких либо требований и ограничений GPL!


Интересно, история любит повторяться? Фактически, лицензия Copyleft-Next реализует давным-давно отработанную стратегию «Поддержать, надстроить и уничтожить», хоть и в немного в измененном варианте, который правильнее будет назвать «Поддержать, надстроить и захватить».


А как вы сейчас думаете, спланированная несколько лет назад травля по дискредитации Столлмана и подготовка к отмене Copyleft принципа в ядре Linux, это звенья одной цепи? Или проще опять успокоить себя объяснениями Argumentum ad ignorantiam, теориями заговора и прочими «не существующими» страшилками?

Комментарии (63)


  1. aamonster
    00.00.0000 00:00
    +10

    Я правильно понимаю, что для производных работ отсчёт 15-летнего срока идёт заново, т.е. "проприетарные прошивки на базе ядра Linux" всегда будут основываться на ядре 15-летней давности?


    1. rsashka Автор
      00.00.0000 00:00

      Речь идет о коде под лицензией Copyleft-Next, у которого через 15-лет протухают требования по обязательному предоставлению производного кода пользователям.


      1. izogfif
        00.00.0000 00:00
        +21

        ОК. Давайте я приведу пример:

        • Вот 1-го марта в 2023-го года я написал printf("Hello, world!") и выпустил этот код под лицензией Copyleft-Next в составе библиотеки hw version 1.0.

        • Прошло 14 лет. В 2037-м году я под ним добавил еще одну строчку: printf("\n"), ибо пользователи задолбали просить о красивом выводе, и выпустил новую версию библиотеки hw version 2.0.

        • Наступил 2038-й год, 1 марта. Предположим, что человечество пережило Epochalypse (также известный как Year 2038 problem), и теперь страшные корпорации решили присвоить себе мой код.

          Вопрос: они могут использовать только printf("Hello, world!"), (потому что с момента публикации первой версии уже прошло 15 лет) или же и вторую строчку тоже? Если последнее, то почему? Ведь с момента публикации hw version 2.0, в составе которой появилась вторая строка, еще не прошло 15 лет!


        1. rsashka Автор
          00.00.0000 00:00
          +5

          Вы не о том рассуждаете.

          Сейчас создается основа для перевода кода, изначально выпущенного под GPL, в разряд проприетарного. И тут не важно через сколько лет, и одна строчка или вторая тоже. Ведь основа GPL, Copyleft, - наследование требований лицензии во всех производных программных продуктах без ограничений по времени, и сейчас этот принцип пытаются сломать.


          1. petropavel
            00.00.0000 00:00
            +10

            Нет. Абсолютно не так. GPL не даёт никому возможности закрыть код (при распространении). Ни сейчас, ни через 15, ни через 100 лет. Copyleft-Next это всего лишь ещё одна лицензия, которая совместима с GPL. Если есть отдельный проект под этой лицензией, то каждый релиз через 15 лет после релиза можно закрывать. В смысле, если проект умер — то его можно будет форкнуть под closed source license. Не уверен, что это плохо.


            1. rsashka Автор
              00.00.0000 00:00
              -3

              Чистый GPL не дает, а микс из GPL и Copyleft-Next, который якобы совместим с GPL? Через 15 лет можно закрывать целые куски и весь код сразу превращается в тыкву, т.к. даже интерфейса нет для разделения GPL и не GPL кода в виде LGPL прослойки.


              1. petropavel
                00.00.0000 00:00
                +9

                нельзя закрывать, это GPLv2, нет там никакого Copyleft-Next. Всё ядро выпускается под одной лицензией, и это GPLv2.


              1. lorc
                00.00.0000 00:00
                +4

                Весь базовый код ядра написан под GPL и это уже не изменить. Только выкинуть и сделать новый. Да, какие-то драйвера возможно будут под Copyleft-Next, и возможно через 15 лет исходники этих драйверов можно будет не поставлять вместе с исходниками остального ядра. Но смысл?


                1. rsashka Автор
                  00.00.0000 00:00
                  -4

                  Перелицензировать под новой лицензией может владелец, в данном случае Linux Foundation.


                  1. xilot
                    00.00.0000 00:00
                    +4

                    В лицензии указано, что даже правообладатель не может этого сделать.


                    1. rsashka Автор
                      00.00.0000 00:00
                      -1

                      Правообладатель не отменяет существующую лицензию, а выпускает программный продукт под второй лицензией. https://ru.wikipedia.org/wiki/Двойное_лицензирование


                      1. xilot
                        00.00.0000 00:00

                        Ради интересно прочитайте статью, на которую ссылку привели. Двойную лицензию может установить только правообладатель, а не издатель типовой формы лицензии.


                      1. rsashka Автор
                        00.00.0000 00:00

                        Вы правы, но только в том, что на текущий момент времени это действительно не возможно.

                        Но речь идет не том, что можно или нельзя сейчас, а в о том, что GPL-next может в будущем послужить прецедентом для замены одной лицензии на другую, так как вводит временные ограничения на требования других лицензий (в частности GPL).


                  1. edo1h
                    00.00.0000 00:00
                    +8

                    Перелицензировать под новой лицензией может владелец, в данном случае Linux Foundation

                    с чего это linux foundation стал владельцем кода? я не помню, чтобы в linux kernel при отправке патчей требовалось отказаться от прав на код (как это требуется в некоторых проектах с двойной лицензией)


                  1. Newbilius
                    00.00.0000 00:00
                    +1

                    Перелицензирование под лицензию GPLv3 не вышло, потому что требовалось получить согласие каждого контрибьютора. Почему с Copyleft-Next это возможно?


                    1. rsashka Автор
                      00.00.0000 00:00
                      -2

                      Раз "Copyleft"-Next назвали совместимой, то теперь открыта дорога к размытию кода под разными лицензиями. Ведь сейчас действительно основная масса кода пишется корпорациями и со временем процент чистого GPL кода будет только уменьшаться. А лет так через 15 можно будет принять коллегиальное решение, например, для упрощения процесса лицензирования или ради другого блага. Я не знаю как это будет, и будет ли вообще. Может быть это все действительно только мои домыслы, так хочется верить ...


                    1. lorc
                      00.00.0000 00:00

                      А с чего вы взяли что будет перелицензирование? Я так понял, что новые драйвера по желанию автора будут создаваться по лицензии Copyleft-Next. В принципе и сейчас ядро поддерживает разные лицензии для разных модулей.

                      UPD: Сорри, перечитал ваш комментарий. Вы все правильно написали.


                  1. lorc
                    00.00.0000 00:00
                    +1

                    С чего вы это взяли? Весь код ядра принадлежит авторам этого кода. Каждый кто хоть раз отправлял патч в ядро - является соавтором. Чтобы изменить лицензию - нужно согласие каждого соавтора.


              1. domix32
                00.00.0000 00:00

                Вы настолько стратег, что готовы использовать код устаревший на 15 лет?


                1. johnfound
                  00.00.0000 00:00
                  +3

                  Все мы используем очень много кода возрастом гораздо старше 15 лет.


                  1. lorc
                    00.00.0000 00:00

                    Неподдерживаемый 15 лет код? Или код, на который все эти 15 лет выходили патчи?


                    1. johnfound
                      00.00.0000 00:00

                      Безусловно и то и другое.


        1. johnfound
          00.00.0000 00:00
          +3

          The conditions in sections 3 through 5 no longer apply once fifteen
          years have elapsed from the date of My first Distribution of My Work
          under this License.

          Ответ: Они могут использовать весь код. Лицензия протухает целиком и сразу.


          1. edo1h
            00.00.0000 00:00
            +5

            вы хотите сказать, что если у файла было по ревизии в год и прошло 15 лет с первой ревизии, опубликованной по этой лицензии, то первая и все последующие ревизии освобождаются от требований пунктов 3-5?
            по-моему, в процитированном вами английском тексте написано противоположное: 15 лет с публикации работы под этой лицензией. новая ревизия — новая работа, которая публикуется отдельно (и срок для неё, разумеется, тоже отсчитывается отдельно).


            1. johnfound
              00.00.0000 00:00
              +1

              Именно так и написано в лицензии. Конечно, могут быть разные мнения "что хотел сказать автор", но если что, этим будут заниматься юристы, а они истолкуют как им выгодно, а не так как вам кажется справедливым.


              Кстати, интересная деталь – эта лицензия не самодостаточна. Чтобы она работала, нужно как-то определить с большой точностью когда именно была опубликована работа. А это далеко не для каждого проекта можно сказать. Тем более спустя 15 лет.


              1. edo1h
                00.00.0000 00:00

                причём здесь как мне кажется справедливым?
                ИМХО текст не предполагает двойного толкования — распространение новых версий начинает отсчёт заново. какие-то исключения могут быть разве что в случае малозначительных правок вроде исправлений опечаток в комментариях.


  1. petropavel
    00.00.0000 00:00
    +14

    Мне кажется, тут нет никакого повода для паники и sunset clause не может сработать. То есть в общем случае может, но в ядре линукса — нет.

    Если есть отдельный независимый проект под этой лицензией — то да, пожалуста, через 15 лет всё отменится, можно закрывать код.

    Но Copyleft-Next код в составе ядра линукса образует derived work. И хотя Copyleft-Next любезно разрешает распространять derived work под Copyleft-Next или GPL на выбор, сама GPL, под которой лицензировано всё остальное ядро, такого выбора не даёт. Так что весь код "ядро + copyleft-next патчи" может быть только GPLv2. И никакого sunset у него нет и быть не может.


    1. borovinskiy
      00.00.0000 00:00

      Во-во. Ядро не смогли на GPLv3 перелицензировать, не смогут и на Copyleft-Next.
      При этом патенты - это очень хорошее добавление к лицензии. Со временем могут потребовать, например, все драйвера поставлять под Copyleft-Next и тогда разработчики драйвера не смогут потом прижимать пользователей своими патентами.


      1. rsashka Автор
        00.00.0000 00:00
        +3

        Так ядро не смогли на GPLv3 перелицензировать как раз из-за лобби корпоративных разработчиков, а лицензия Copyleft-Next это как раз их изобретение и тут ситуация может быть с точностью наоборот.


        1. edo1h
          00.00.0000 00:00
          +2

          Так ядро не смогли на GPLv3 перелицензировать как раз из-за лобби корпоративных разработчиков

          что-то мне вспоминается, что точку в обсуждении поставил линус, которому gpl v3 категорически не нравится


      1. petropavel
        00.00.0000 00:00
        +3

        Увы, GPLv2 ничего про патенты не говорит. Так что прижать пользователей "драйверов в составе ядра", а это derived work, можно будет, как и раньше.

        Это просто, похоже, тенденция у современных лицензий — защищать от патентных исков. GPLv3 и Apache 2.0, например, это умеют. И в новой Copyleft-Next это учли. А GPLv2 старая, там этого нет.


  1. ColdPhoenix
    00.00.0000 00:00
    +12

    Так подождите, это не ядро становится Copyleft-Next, а код, который уже под лицензией  Copyleft-Next, может стать частью ядра.

    Честно говоря не вижу проблемы, по сути код должен быть изначально опубликован под этой лицензией, лишь затем становится частью мейнстрима, при этом не накладывая ограничений на мейнстрим.

    Или я что-то не так понял?


    1. rsashka Автор
      00.00.0000 00:00
      -3

      Формально вы совершенно правы и сейчас это действительно касается только нового кода под Copyleft-Next, но ведь все начинается с малого.

      Если Когда такого кода будет достаточно много, можно будет и перелицензировать "для удобства пользователей". Надеюсь, примеров "это делается ради вашего блага" приводить не нужно? :-)


      1. SteamEngine
        00.00.0000 00:00
        +3

        Нужно, пожалуйста, приведите.


      1. rsashka Автор
        00.00.0000 00:00
        -1

        И минусы летят, потому что такого никогда не было и не может быть никогда.

        Ну-ну.


        1. tzlom
          00.00.0000 00:00
          +7

          Хочешь плюсов - пиши схему как вывести код ядра из под GPL2 , а туману наводить все горазды.


          1. rsashka Автор
            00.00.0000 00:00
            -4

            Это как раз элементарно - достаточно решения Linux Foundation о перелицензировании кода под другой (второй) лицензией.


            1. tzlom
              00.00.0000 00:00
              +5

              GPLv2 не разрешает перелицензирование, а авторские права остаются у авторов а не передаются Linux Foundation. Т.е. чтобы сделать это нужно спросить всех контрибьютеров согласны ли они, ну или переписать код не согласных.


            1. qw1
              00.00.0000 00:00
              +3

              А где зафиксировано соглашение, что каждый контрибутор, приславший патчи в Linux, передаёт Linux Foundation права на свой код и разрешает ей перелицензировать его код как угодно?


        1. Vladekk
          00.00.0000 00:00
          +6

          Беглый взгляд говорит, что вы странные вещи говорите. Через 15 лет код станет bsd-like, а вовсе не закрытым. То есть закрыть его можно будет, но древнюю версию, и она все равно будет доступна всем желающим. Лично я вижу только плюсы в том, что копирайт ограничен сроком действия. Копилефт лицензии это тоже копирайт, и он ни в коем случае не должен быть вечным.

          Большое количество людей пользуется лицензиями мит и бсд, я бы даже сказал большинство на гитхабе. GPL близка только совсем упертым.


          1. rsashka Автор
            00.00.0000 00:00
            -1

            Лично я вижу только плюсы в том, что копирайт ограничен сроком действия.
            Копилефт лицензии это тоже копирайт, и он ни в коем случае не должен
            быть вечным.

            Это с каких пор копирайт лицензии на ПО ограничены сроком действия? Если же речь идет о литературных произведениях, то 70 лет с даты смерти автора и 15 лет после публикации по срокам действия не сопоставимы.

            И «copyleft»-лицензии, это сохранение на производные произведения тех же самых прав, что были на оригинале, а Copyleft-Nex как раз и отменяет этот принцип.


            1. Vladekk
              00.00.0000 00:00
              +5

              В США копирайт на ПО ограничен 95 годами для корпораций. Это смехотворно большая цифра. Даже 15 лет это слишком много.

              И «copyleft»-лицензии, это сохранение на производные произведения тех же самых прав, что были на оригинале, а Copyleft-Nex как раз и отменяет этот принцип.

              Именно, сохранение прав. Копирайт это всё про права, права, права. Сроки копирайта слишком велики, и должны быть сильно сокращены.

              15 лет для книг и фильмов, 5 лет для софта самое то. Это касается и вирусных копилефт лицензий. Давно уже видно, что зарабатывать на производстве GPL оупенсорса могут единицы, и как только реальность вносит коррективы, сразу начинаются извращения типа AGPL и source available


      1. arokettu
        00.00.0000 00:00
        -1

        Даже если это случится, чем это плохо?


  1. edo1h
    00.00.0000 00:00
    +2

    Лицензия Copyleft-Next содержит пункт об автоматической отмене копилефт-требований для кода через 15 лет. Другими словами, через 15 лет термин «Copyleft» у лицензии Copyleft-Next превращается в тыкву, а исходный код можно будет использовать уже без учета требований GPL, в том числе и без обязательного наследования лицензий и свобод для пользователя в производных произведениях. Фактически, это прямая дорога к проприетарным прошивкам на базе ядра Linux без учета каких либо требований и ограничений GPL!

    я могу ошибаться, но я это понял так:
    код ядра всё так же можно будет использовать под GPL. и производные продукты тоже.
    НО! через 15 лет можно будет сделать сделать производный продукт на основе кусков, лицензированных под Copyleft-Next, и не выпускать его под GPL.


    не вижу тут никакой проблемы.


    1. vanxant
      00.00.0000 00:00
      +6

      не вижу тут никакой проблемы.

      Ну, это открывает путь к постепенному захвату ядра. За 15 лет ядро всё равно по факту несколько раз перепишут на расте, и сделают это по большей части ребята, которым платят зарплату те самые редхаты с айбиэмами. Которых убедительно попросят проапгрейдить при случае лицензию.

      Эпоха энтузиастов, кропающих что-то на коленке субботними вечерами, лет 20 как закончилась. Отдельные динозавры типа того же Линуса будут, конечно, сопротивляться. Так что не удивлюсь, если и самого Линуса через некоторое время уйдут, благо за языком он совершенно не следит, а в нонешние времена за это положен расстрел через повешение. Ну а отдельный легаси код для устаревшего 15 лет назад железа можно будет и выкинуть. Точнее, оставить в виде опционально загружаемых модулей:)


      1. edo1h
        00.00.0000 00:00
        -3

        Ну, это открывает путь к постепенному захвату ядра.

        «постепенному» — это «если хочется пропатчить текущую версию ядра и распространять бинарники, не открывая исходники, то нужно подождать всего 15 лет»? какое-то оно слишком постепенное, кому будет нужно сегодняшнее ядро через 15 лет?
        хотя даже этот вариант не выглядит реализуемым, не думаю, что от gpl-only кода откажутся в обозримой перспективе.


        Которых убедительно попросят проапгрейдить при случае лицензию

        ну хорошо. проапгрейдили лицензию на A.c в 2025 году. в 2040 году версией A.c от 2025 года можно будет пользоваться как copyleft (но не текущей на 2040 год версией — её можно будет воспользоваться в закрытом коде в 2055).
        если я неправильно понял — поправьте.


        P. S. двойное лицензирование кода активно применяется и сейчас.
        тут же сделали по сути то же самое двойное лицензирование, но вторая лицензия начинает работать не сразу, а через 15 лет.


        1. nikweter
          00.00.0000 00:00
          +1

          Вы неправильно понимаете. Выше уже указали на текст лицензии - с момента первого комита. То есть версии 2040 года тоже можно будет закрывать, так как первый коммит был в 2025.


          1. petropavel
            00.00.0000 00:00
            +1

            выше было указано неправильно, надо читать, что в лицензии написано, а не что выше. 15 лет с момента первой публикации продукта (Work). Написал в стол, через десять лет опубликовал — с этого момента, а не с первого коммита. Выпустил новый релиз — это новый продукт. У него свои 15 лет.


            1. nikweter
              00.00.0000 00:00

              С чего это вдруг с момента публикации продукта? С момента публикации кода!


              1. petropavel
                00.00.0000 00:00
                +1

                Да, неважно. В лицензии "from the date of My first Distribution of My Work". Если выкладывать на гитхаб — то это и есть публикация. Если хранить код только локально и никуда не выкладывать, то время первого коммита роли не играет.


        1. vanxant
          00.00.0000 00:00
          +2

          В 2040 (на самом деле реально раньше) при некоторых некритичных по объёму усилиях можно будет собрать ядро вообще без кусков под GPL и без важного мнения Линуса. И... дальше у вас будет выбор - живое ядро от красношапки, но без GPL, или почти заброшенное под GPL.

          Коммунизм это хорошо, если издалека, но синьёры-программисты в основной массе почему-то не хотят забесплатно писать какой-нибудь там драйвер для новой видяхи или сетевухи.


          1. rsashka Автор
            00.00.0000 00:00
            +3

            И хотят и пишут (иначе откуда вообще СПО взялось?). Другое дело, что у корпораций гораздо больше возможностей и способов манипуляции мнением этих самых разработчиков.


            1. vanxant
              00.00.0000 00:00
              +1

              Даже интересно было бы посчитать, какой процент кода в современном ядре, пусть даже в klos-ах, написан энтузиастами, не сидящими на зарплате у корпоратов.

              Чисто СПОшное ядро уже было мертворождено - это Hurd.


              1. rsashka Автор
                00.00.0000 00:00
                +2

                Мертвых (и мертворожденных) проектов много как под свободной, так и в прод проприетарной лицензиями. Но очень странно делать вывод о не состоятельности идеи СПО на основе одного единственного проекта. Тем более, когда другой аналогичный СПО проект наоборот на коне.


      1. Fedorkov
        00.00.0000 00:00
        +4

        В списке лицензий уже есть несколько пермиссивных (LGPL, BSD, MIT). В чём проблема добавить полупермиссивную?


    1. rsashka Автор
      00.00.0000 00:00
      +1

      Почему бы тогда не сделать тоже самое для проприетарных лицензий?

      Проходит 15 лет и фьють - все в общественное достояние.


      1. edo1h
        00.00.0000 00:00
        +1

        так такой инициативы снизу нет. вы предлагаете инициативу сверху?


        1. rsashka Автор
          00.00.0000 00:00

          А с чего вы взяли, что такой инициативы нет? Просто существует такое понятие как лобби. Угадайте, у кого оно сильнее, у тех кто сверху или у тех, кто снизу?


          1. vassabi
            00.00.0000 00:00
            +1

            эх, если бы все эти "Греты" свои усилия направили туда, где всё на 100% зависит от людей (лицензии и патенты)


            1. rsashka Автор
              00.00.0000 00:00
              +1

              Так условная "Грета" пользуется поддержкой прессы только до тех пор, покуда говорит и делает то что нужно (пусть и по собственному убеждению).


  1. Pastoral
    00.00.0000 00:00
    +1

    Не вижу, особенно почитав комменты, здесь атаки на Линукс и GPL. Вижу очередную попытку Гугла интегрировать свою проприетарщину, учитывая сказанное на I/O - далеко не полностью, с ядром Линукс. И тем самым ещё немного улучшить ситуацию с обновлениями Андроид.


    1. edo1h
      00.00.0000 00:00
      +3

      непонятно, как перевод части кода ядра в копилефт через 15 лет после публикации сможет «улучшить ситуацию с обновлениями Андроид»


  1. event1
    00.00.0000 00:00
    +5

    Если обратится к источникам, то сама рекомендация выглядит следующим образом:

    Valid-License-Identifier: copyleft-next-0.3.1

    SPDX-URL: https://spdx.org/licenses/copyleft-next-0.3.1

    Usage-Guide:

    copyleft-next-0.3.1 is explicitly compatible with GPLv2 (or later) and

    can therefore be used for kernel code. Though the best and recommended

    practice is to express this in the SPDX license identifier by

    licensing the code under both licenses expressed by the OR operator.

    To use the copyleft-next-0.3.1 license put the following SPDX tag/value

    pair into a comment according to the placement guidelines in the

    licensing rules documentation:

    SPDX-License-Identifier: GPL-2.0-only OR copyleft-next 0.3.1

    SPDX-License-Identifier: GPL-2.0-or-later OR copyleft-next-0.3.1

    В той же папке, кстати, присутствуют аналогичные файлы для MPL, CDDL, CC-BY и Apache-2.0. Они там нужны лишь для того, чтобы пояснить порядок использования лицензий авторами. Кстати, первый патч с этой лицензией добавили ещё в 2016-м году. Атака на линукс и свободу готовилась ещё за 3 года до атаки на RMS. Всё сходится!