Насчет GPL посмотрите faq на сайте
gnu.org:
на английском и
в переводе на русском.
В частности, вы
можете использовать ПО, лицензируемое по GNU, в коммерческом продукте, однако в таком случае ваше ПО должно распространяться по такой же лицензии (
http://www.gnu.org/licenses/gpl-faq.ru.html#GPLCommercially):
Если я пользуюсь программой, которая получена на условиях GNU GPL, могу ли я видоизменить первоначальный исходный текст в новую программу, а затем распространять и продавать эту новую программу за деньги?
Вам позволено продавать копии измененной программы за деньги, но только на условиях GNU GPL. Таким образом, вы должны, например, сделать исходный текст доступным для пользователей программы, как описано в GPL, и им должно быть разрешено изменять и перераспространять ее, как описано в GPL.
Эти требования — условия включения частей программ под GPL, которые вы получили, в свою собственную программу.
Если вопрос состоит в том, возможно ли использовать ПО, лицензируемое по GPL, в коммерческом продукте, при этом оставляя продукт закрытым, то тут не всё однозначно.
Во-первых, вы не можете включать GPL ПО в поставку своего продукта. Это ограничение можно обойти, дав рекомендацию конечному пользователю самостоятельно скачать и установить необходимое ПО.
Во-вторых, вы можете использовать открытое ПО только «at arms length». Вот здесь есть пояснения на этот счет:
www.gnu.org/licenses/gpl-faq.ru.html#GPLInProprietarySystem
Мне хотелось бы включить программу, распространяемую по GPL, в свою несвободную систему. Можно мне это делать?
Вы не можете включать программы, распространяемые по GPL, в несвободную систему. Цель GPL — предоставить каждому свободу копировать, передавать, понимать и изменять программу. Если бы вы могли включать программы, распространяемые по GPL, в несвободную систему, это привело бы к тому, что такие программы тоже стали бы несвободными.
Система, включающая программу, распространяемую по GPL, является расширенным вариантом этой программы. В GPL сказано, что расширенная версия программы должна выпускаться под GPL, если она вообще выпускается. Это делается по двум причинам: во-первых, чтобы гарантировать, что пользователи, которые получают программу, получают свободу, которая у них должна быть, а во-вторых, чтобы поощрить людей возвращать улучшения, которые они делают.
Однако во многих случаях вы можете распространять программы под GPL вместе со своей несвободной системой. Чтобы делать это правильно, вы должны удостовериться, что свободные и несвободные программы общаются на расстоянии вытянутой руки, что они не сочетаются настолько тесно, что это делает их фактически единой программой.
Разница между этим и “включением” программ под GPL частично состоит в сущности, а частично — в форме взаимодействия. Часть, которая касается сущности, такова: если две программы сочетаются так, что фактически становятся двумя частями одной программы, то вы не можете рассматривать их как раздельные программы. Таким образом, GPL должна распространяться на все это.
Если две программы остаются как следует разделенными, как компилятор и ядро или как редактор и командный интерпретатор, то вы можете относиться к ним как к двум раздельным программам — но вы должны делать это соответствующим образом. Здесь дело просто в форме: как вы описываете то, что вы делаете. Почему для нас это не безразлично? Потому что мы хотим гарантировать, что пользователи ясно осознают свободный статус программ под GPL в сборнике.
Если бы люди собирались распространять программы под GPL, называя их “частью” системы, о которой пользователи знают, что она частично несвободна, то у пользователей могла бы возникнуть неуверенность в своих правах по отношению к программам под GPL. Но если они будут знать, что то, что они получили — это свободная программа плюс другая программа, бок о бок, то их права будут ясны.
LGPL не такая вирусная, как GPL, и с ней ситуация проще: вы можете использовать такое ПО при условии, что вы линукете свой продукт с открытым ПО (
http://ru.wikipedia.org/wiki/GNU_Lesser_General_Public_License):
GNU LGPL позволяет линковать с данной библиотекой или программой программы под любой лицензией, несовместимой с GNU GPL, при условии, что такая программа не является производной от объекта, распространяемого под (L)GPL, кроме как путём линкования.
Главное различие между GPL и LGPL в том, что последняя позволяет и такое линкование с данным объектом других, которое создаёт производную от данного работу, если лицензия слинкованных объектов позволяет «модификации для внутреннего использования потребителем и обратную разработку для отладки таких модификаций».
На всякий случай добавлю, что это всё моё имхо, основанное на изучении FAQов и форумов в сети. В любом случае, ссылки я выше привел, уверен, ответ вы там найдете :)