Походу дела народ то ли не понимает, о чем идет речь, то ли дурачками прикидывается, но вот уже не первый раз встречаю полное непонимание народом смысла GPL. У вот на днях вылез очередной «рыбак».
Основные перлы опущу, перейду к сути.
Интересно, а как себе автор представляет насильное расширение программы третьими лицами? Врываются, значит, «сторонние лица» к Васе Пупкину (бедный Вася Пупкин), приставляют нож к горлу и говорят: «А ну быстро расширяй функциональность своей программы как нам надо!». Бред, правда? Если автор не хочет такой функциональности, считает её лишней, то никто не заставляет его эту функциональность внедрять. Да, сторонние разработчики могут выпустить патч или даже саму программу с новым функционалом, но это будет уже другая программа. Есстественно они обязаны опубликовать исходники, которые им автор предоставил под соответствующей лицензией. Пойдем дальше:
Кроме того, вскользь (ибо это не относится к основной теме материала) замечу, что концепция плагинов с точки зрения программиста намного безопаснее, чем открытый исходный код.Ещё один бред. Для начала отметим, что надежность (а следовательно безопасность и уязвимость) программы не определяется открытостью или закрытостью кода. Это очередная байка от мелкомягких.
Теперь по поводу «примочек» или плагинов. Во первых «плагин» это интерфейс и ничто иное. Если автору удобно такой интерфейс делать, то он его делает. Он, этот интерфейс, не безгрешен есстественно, и в нем тоже могут быть дырки, которые, сюрприз, тоже надо править. Причем здесь OpenSource и FreeWare не совсем понятно. Интересно, а где гарантия, что в коде плагина нет трояна? А такой гарантии нет. Вывод: помимо чисто технического удобства, плагин, это способ сказать «это сторонний код, используйте его на свой страх и риск» или «мне лень ковырятся со всем требуемым функционалом, я налеплю интерфейс, а вы потом сами плагинов понапишите, ладно »
Ну а теперь вернемся к GPL, ведь именно её мы и используем, когда используем ту или иную программу. Для начала не надо себе льстить (а нужно подойти поближе), никаких особых
Т.е. не хочешь, не надо, только к проге не примазывайся. Если есть интерфейс к плагинам, используй этот интерфейс, ну а нет, допиши
Кстати GPL не распространяется на результаты работы программы, так что например на конфиги Quake GPL не действует
Ну а теперь о вкусном. Что мы получаем взамен при использовании GPL:
- Можно начать разработку программы не с нуля
- Можно доработать программу «напильником» под свои нужды
- Можно быть независимым от автора программы
Но и автор получет несомненное преимущество:
- Любой может помочь автору улучшить программу (или иначе никто не может улучшить программу не поделившись с автором изменениями)
Это и есть самое главное достоинство GPL: Одна голова хорошо, а две лучше. Т.е. это не просто исходники, которые любой может тайно запихнуть в свою прогу. Это возможность получать улучшения кода, алгоритмов, и как следствие улучшение самой программы. И это работает!