Здравствуйте, _NN_, Вы писали:
_NN>.NET 5.0 в режиме самодостаточного файла линкует все файлы и не распаковывает их на диск как было в .NET Core. _NN>Получается, что если у меня есть зависимость LGPL и я хочу распространять в виде самодостаточного файла, мой продукт тоже обязан быть LGPL ?
Достаточно добавить в документации ссылку на версию с кучей бинариков.
Здравствуйте, _NN_, Вы писали:
C>>Достаточно добавить в документации ссылку на версию с кучей бинариков. _NN>Интересное решение. _NN>Осталось согласовать его с юристом. _NN>У вас так делают?
Да, мы так делали. Ссылка была на основной страничке скачивания. В архивном файле лежали скрипты, собирающие цельный файл.
Здравствуйте, _NN_, Вы писали:
_NN>.NET 5.0 в режиме самодостаточного файла линкует все файлы и не распаковывает их на диск как было в .NET Core. _NN>Получается, что если у меня есть зависимость LGPL и я хочу распространять в виде самодостаточного файла, мой продукт тоже обязан быть LGPL ? _NN>Как решается эта проблема у вас ?
Насколько я понял из описания тут, в .NET 5 есть специальная опция
IncludeAllContentForSelfExtract, про которую пишут
Bundle all published files (except symbol files) into single-file app. This option provides backward compatibility with the .NET Core 3.x version of single-file apps.
Здравствуйте, _NN_, Вы писали:
_NN>Ну вот юрист и сказал, что так нельзя.
Значит нельзя.
_NN>Теперь думаю как обойти проблему.
А что, есть варианты кроме как не использовать линковку в один файл или заменить LGPL зависимость на что то без порнографической лицензии?
_NN>Возможно есть какой-нибудь способ указать .NET 5.0 , чтобы конкретный файл не линковать и оставить снаружи ?
Здравствуйте, VladCore, Вы писали:
_NN>>В том и дело, что не совсем так. _NN>>До .NET 5.0 , .NET Core сначала распаковывал все файлы, а потом запускал.
VC>вот тут будьше деталей: https://devblogs.microsoft.com/dotnet/announcing-net-5-0/ Ctrl-F Superhost
_NN>>Благодаря этому само приложение не обязано было распространяться как LGPL.
VC>а подробнее?
В .NET Core 3.1 приложение распаковывается в %TEMP%\.net и запускается оттуда.
Это означает, что файл с лицензией LGPL располагается на диске и используется как есть без изменений.
Такой способ попадает под определение динамической линковки и само приложение может быть с любой лицензией.
.NET 5.0 в режиме самодостаточного файла линкует все файлы и не распаковывает их на диск как было в .NET Core.
Получается, что если у меня есть зависимость LGPL и я хочу распространять в виде самодостаточного файла, мой продукт тоже обязан быть LGPL ?
Как решается эта проблема у вас ?
Здравствуйте, _NN_, Вы писали:
_NN>.NET 5.0 в режиме самодостаточного файла линкует все файлы и не распаковывает их на диск как было в .NET Core. _NN>Получается, что если у меня есть зависимость LGPL и я хочу распространять в виде самодостаточного файла, мой продукт тоже обязан быть LGPL ? _NN>Как решается эта проблема у вас ?
Разве LGPL запрещает использовать LGPL-зависимости в не LGPL?
SuperHost в NET 5.0 это же просто другой способ загрузки исполняемых бинарников, не требующий отдельного временного файла при запуске для каждого бинарника в зависимостях. Ты просто распространяеш бинарник под LGPL лицензией, это не запрещено.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, _NN_, Вы писали:
_NN>>Как решается эта проблема у вас ?
НС>Не использовать зависимости LGPL.
Легко сказать — трудно сделать.
К сожалению выбор сделан был давно и тех людей не особо волновало суровое будущее
Здравствуйте, VladCore, Вы писали:
VC>Здравствуйте, _NN_, Вы писали:
_NN>>.NET 5.0 в режиме самодостаточного файла линкует все файлы и не распаковывает их на диск как было в .NET Core. _NN>>Получается, что если у меня есть зависимость LGPL и я хочу распространять в виде самодостаточного файла, мой продукт тоже обязан быть LGPL ? _NN>>Как решается эта проблема у вас ?
VC>Разве LGPL запрещает использовать LGPL-зависимости в не LGPL?
VC>SuperHost в NET 5.0 это же просто другой способ загрузки исполняемых бинарников, не требующий отдельного временного файла при запуске для каждого бинарника в зависимостях. Ты просто распространяеш бинарник под LGPL лицензией, это не запрещено.
В том и дело, что не совсем так.
До .NET 5.0 , .NET Core сначала распаковывал все файлы, а потом запускал.
Благодаря этому само приложение не обязано было распространяться как LGPL.
Здравствуйте, _NN_, Вы писали:
_NN>Легко сказать — трудно сделать. _NN>К сожалению выбор сделан был давно и тех людей не особо волновало суровое будущее
У вас, надеюсь, есть в компании юрист? Иди к ему и обсуждай что делать. Вряд ли девелоперы тебе тут чем то помогут.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, _NN_, Вы писали:
_NN>>Легко сказать — трудно сделать. _NN>>К сожалению выбор сделан был давно и тех людей не особо волновало суровое будущее
НС>У вас, надеюсь, есть в компании юрист? Иди к ему и обсуждай что делать. Вряд ли девелоперы тебе тут чем то помогут.
Ну вот юрист и сказал, что так нельзя.
Теперь думаю как обойти проблему.
Возможно есть какой-нибудь способ указать .NET 5.0 , чтобы конкретный файл не линковать и оставить снаружи ?
Здравствуйте, _NN_, Вы писали:
_NN>>>.NET 5.0 в режиме самодостаточного файла линкует все файлы и не распаковывает их на диск как было в .NET Core. _NN>>>Получается, что если у меня есть зависимость LGPL и я хочу распространять в виде самодостаточного файла, мой продукт тоже обязан быть LGPL ? _NN>>>Как решается эта проблема у вас ?
VC>>Разве LGPL запрещает использовать LGPL-зависимости в не LGPL?
VC>>SuperHost в NET 5.0 это же просто другой способ загрузки исполняемых бинарников, не требующий отдельного временного файла при запуске для каждого бинарника в зависимостях. Ты просто распространяеш бинарник под LGPL лицензией, это не запрещено.
_NN>В том и дело, что не совсем так. _NN>До .NET 5.0 , .NET Core сначала распаковывал все файлы, а потом запускал.
Здравствуйте, _NN_, Вы писали:
_NN>>>В том и дело, что не совсем так. _NN>>>До .NET 5.0 , .NET Core сначала распаковывал все файлы, а потом запускал.
VC>>вот тут будьше деталей: https://devblogs.microsoft.com/dotnet/announcing-net-5-0/ Ctrl-F Superhost
_NN>>>Благодаря этому само приложение не обязано было распространяться как LGPL.
VC>>а подробнее?
_NN>В .NET Core 3.1 приложение распаковывается в %TEMP%\.net и запускается оттуда. _NN>Это означает, что файл с лицензией LGPL располагается на диске и используется как есть без изменений. _NN>Такой способ попадает под определение динамической линковки и само приложение может быть с любой лицензией.
Отвлечемся поближе к ГПЛ. А пользователь может поменять зависимость из TEMP на свою пропатченную?
Здравствуйте, VladCore, Вы писали:
_NN>>В .NET Core 3.1 приложение распаковывается в %TEMP%\.net и запускается оттуда. _NN>>Это означает, что файл с лицензией LGPL располагается на диске и используется как есть без изменений. _NN>>Такой способ попадает под определение динамической линковки и само приложение может быть с любой лицензией.
VC>Отвлечемся поближе к ГПЛ. А пользователь может поменять зависимость из TEMP на свою пропатченную?
У нас LGPL, а не GPL.
Тут достаточно динамически линковать.
А так если конечно приспичит может и поменять файл.
Вот тут не уверен, если будет перезапись или даже не будет попытки распаковать оригинальный файл.
Здравствуйте, _NN_, Вы писали:
_NN>>>В .NET Core 3.1 приложение распаковывается в %TEMP%\.net и запускается оттуда. _NN>>>Это означает, что файл с лицензией LGPL располагается на диске и используется как есть без изменений. _NN>>>Такой способ попадает под определение динамической линковки и само приложение может быть с любой лицензией.
VC>>Отвлечемся поближе к ГПЛ. А пользователь может поменять зависимость из TEMP на свою пропатченную?
_NN>У нас LGPL, а не GPL.
А лгпл не близко ни разу к гпл?
_NN>Тут достаточно динамически линковать. _NN>А так если конечно приспичит может и поменять файл. _NN>Вот тут не уверен, если будет перезапись или даже не будет попытки распаковать оригинальный файл.
Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, _NN_, Вы писали:
_NN>>.NET 5.0 в режиме самодостаточного файла линкует все файлы и не распаковывает их на диск как было в .NET Core. _NN>>Получается, что если у меня есть зависимость LGPL и я хочу распространять в виде самодостаточного файла, мой продукт тоже обязан быть LGPL ? C>Достаточно добавить в документации ссылку на версию с кучей бинариков.
Интересное решение.
Осталось согласовать его с юристом.
У вас так делают?
Здравствуйте, VladCore, Вы писали:
_NN>>У нас LGPL, а не GPL.
VC>А лгпл не близко ни разу к гпл?
Есть небольшое различие.
LGPL позволяет динамически линковать без необходимости быть также LGPL в отличии от GPL где сразу всё будет GPL
_NN>>Тут достаточно динамически линковать. _NN>>А так если конечно приспичит может и поменять файл. _NN>>Вот тут не уверен, если будет перезапись или даже не будет попытки распаковать оригинальный файл.
VC>так в этом и суть гпл.
Здравствуйте, romangr, Вы писали:
R>Здравствуйте, _NN_, Вы писали:
_NN>>.NET 5.0 в режиме самодостаточного файла линкует все файлы и не распаковывает их на диск как было в .NET Core. _NN>>Получается, что если у меня есть зависимость LGPL и я хочу распространять в виде самодостаточного файла, мой продукт тоже обязан быть LGPL ? _NN>>Как решается эта проблема у вас ?
R>Насколько я понял из описания тут, в .NET 5 есть специальная опция R>IncludeAllContentForSelfExtract, про которую пишут R>
R>Bundle all published files (except symbol files) into single-file app. This option provides backward compatibility with the .NET Core 3.x version of single-file apps.
Здравствуйте, _NN_, Вы писали:
_NN>Получается, что если у меня есть зависимость LGPL и я хочу распространять в виде самодостаточного файла, мой продукт тоже обязан быть LGPL ?
В LGPL разве есть такое требование? с GPL не путаешь?
Я конечно не юрист, но насколько я знаю в LGPL — ты изменения в саму библиотеку должен под LGPL выложить. А если просто используешь — то можешь использовать любую лицензию.
Здравствуйте, Константин Б., Вы писали:
КБ>Здравствуйте, _NN_, Вы писали:
_NN>>Получается, что если у меня есть зависимость LGPL и я хочу распространять в виде самодостаточного файла, мой продукт тоже обязан быть LGPL ?
КБ>В LGPL разве есть такое требование? с GPL не путаешь?
КБ>Я конечно не юрист, но насколько я знаю в LGPL — ты изменения в саму библиотеку должен под LGPL выложить. А если просто используешь — то можешь использовать любую лицензию.
Derivatives works (including modifications or anything statically linked to the library) can only be redistributed under LGPL, but applications that use the library don't have to be.