Как стать автором
Обновить

Встречайте, новая стратегия Embrace, Extend, and Expropriate для Linux?

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров8.7K
Всего голосов 42: ↑28 и ↓14+22
Комментарии66

Комментарии 66

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

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

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

  • Вот 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 лет!

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

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

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

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

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

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

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

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ну-ну.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

Так условный в условном AMD не забесплатно пишут. И ничего, GPL.

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

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

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

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

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

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

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

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

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

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

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. Всё сходится!

Лицензия Copyleft-Next содержит пункт об автоматической отмене копилефт-требований для кода через 15 лет.

А изменеие срока действия авторских прав с срок жизни автора + 70 лет на 15 лет, так сразу говорят нет-нет-нет.

Вы путаете закон, обязательный для всех к исполнению, с лицензией, одной из многих. Никто же не предлагает принудительно перелицензировать весь старый GPL-код старше 15 лет. У вас, как у автора, полная свобода: хотите — оставайтесь на старом GPL 2.0 (3.0), хотите — переходите на Copyleft-Next, более удобный для корпораций и копирастов.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории