Я планирую разработать программу, которую собираюсь продать позже. Я пытаюсь выбрать язык для его кодирования и сузился до C ++ или Java.
Я прошел через лицензии GPL v2 и v3, используемые для GNU GCC и OpenJDK (да, я могу понять некоторые юридические вещи, но, конечно, не все). Но есть один момент, на который все неясны (это должно было быть одно из первых ответов, IMO): если я разрабатываю программу с использованием C ++ / Java и компилирую ее с помощью компилятора GCC или компилятора OpenJDK, могу ли я продать ее, не имея разместить мою программу под лицензией GPL?
Насколько я могу судить, у меня есть полные права назначать любую лицензию для моей программы, но есть одна загвоздка: в лицензии говорится, что я не должен связываться с какой-либо библиотекой, находящейся под лицензией GPL. Если это так, мне придется выпустить свою программу под лицензией GPL.
Теперь я не знаю, что в C ++ / Java считается библиотекой, поэтому, если я использую обычные вещи в C ++ (iostream, list, map и т. Д.) Или обычные классы / интерфейсы Java, доступные как часть стандартного JDK 6 распределение (String, List, Map и т. Д.), Означает ли это «связь с библиотеками»?
Ответы:
Да. GPL специально исключает вывод работы программы:
Это означает, что если вы включите в свою программу биты GCC или что-то еще под GPL, то да, это должно быть GPLed, иначе нет - тот факт, что его объектный код был создан компилятором GPL, не имеет отношения к тому, должен ли он быть GPL. ,
Все стандартные библиотеки языков, на которые вы бы ссылались, не являются GPL или GPL, но имеют специальное исключение, позволяющее вашему проприетарному программному обеспечению ссылаться на них, если вы их не изменяете . В случае C ++ я имею в виду libgcc, glibc и libstdc ++; в случае Java я имею в виду все библиотеки, включенные в JRE.
Технически вы все равно можете легально продавать программное обеспечение GPL, но практически никто не зарабатывает на этом деньги.
источник
И GCC, и OpenJDK имеют явные исключения:
источник
Это неясно. Здесь есть исключение из лицензии, которая применяется здесь. Об этом можно узнать из соответствующего вопроса в FAQ по GPL .
Короче говоря, то, что вы хотите сделать, допустимо.
источник
OpenJDK является GPL, но за исключением ссылки на библиотеки. http://en.wikipedia.org/wiki/OpenJDK
Использование классов OpenJDK будет представлять собой ссылку на библиотеку, я думаю (rt.jar).
Библиотека в этом контексте, с точки зрения Java, безусловно, является jar зависимостей, war, class и т. Д. В любом случае, я уверен, что вы можете легально продавать Java-приложения - есть больше, чем Oracle / Sun не предприняла никаких юридических действий.
источник
Не волнуйтесь, это вопрос компьютерного программирования или, по крайней мере, тот, который тесно связан с программистами.
Из того, что я знаю, если вы создаете программное обеспечение, которое связано с некоторым кодом GPL, вы должны выпустить свой исходный код, если вы распространяете свою программу.
Это не означает, что вы должны выпустить свой код для sourceforge, т. Е. Если третья сторона запрашивает у вас код, вы должны предоставить его.
источник