Действительно ли LGPL применим для приложений? [закрытый]

Чтобы подробно остановиться на ответе bradtgmurray, можно хотеть сделать одно исключение к чистому виртуальному списку методов интерфейса путем добавления виртуального деструктора. Это позволяет Вам передавать владение указателя другой стороне, не представляя конкретный производный класс. Деструктор ничего не должен делать, потому что интерфейс не имеет никаких конкретных участников. Это могло бы казаться противоречащим, чтобы определить функцию и как виртуальную и встроить, но доверять мне - это не.

class IDemo
{
    public:
        virtual ~IDemo() {}
        virtual void OverrideMe() = 0;
};

class Parent
{
    public:
        virtual ~Parent();
};

class Child : public Parent, public IDemo
{
    public:
        virtual void OverrideMe()
        {
            //do stuff
        }
};

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

5
задан polyglot 2 January 2010 в 22:25
поделиться

4 ответа

Да, это применимо к приложениям. LGPL3 является исключением при связывании GPL +, поэтому он должен подходить для вашего приложения. OpenOffice - это пример большого приложения LGPL, и я считаю, что их рассуждения аналогичны вашим.

5
ответ дан 14 December 2019 в 19:22
поделиться

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

Если вам по-прежнему нужны лицензии, которые применяются к отдельным файлам (позволяя создавать производные работы - такие как подключаемые модули - пока они не включать любые фрагменты исходных файлов), вы также можете рассмотреть что-то вроде Взаимной лицензии Microsoft (в тексте не упоминается Microsoft, поэтому ее можно использовать повторно):

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

1
ответ дан 14 December 2019 в 19:22
поделиться

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

Итак, IMHO - да, LGPL применима для приложений.

.
0
ответ дан 14 December 2019 в 19:22
поделиться

Однако GPL считает, что подключаемые модули к быть производными произведениями

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

.
-1
ответ дан 14 December 2019 в 19:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: