русский
Germany.ruForen → Архив Досок→ Programmierung

Кто знает, что такое GPL и может помочь разобратьс

597  
rahimov80 завсегдатай13.08.08 15:48
NEW 13.08.08 15:48 
Только не надо отсылать меня в Google, wiki или ww.gnu.org
Проблема заключается в следующем:
Компания хочет воспользоватся одной из GPL библиотек - QT. Мы готовы "шернуть" то, что мы с помошью этой application framework построим, но как мы можем изолировать presentation layer от нашего logic/fuctionality layer? (Продукт полностью embedded)
То есть какой интерфейс изолирует GPL от proprietary части?
Static library, вроде и по GPLv2 и GPLv3, не может служить барьером: "provide all the source necessary to build the software"
А что да? dynamic library, TCP/IP socket, RPC? Кто знает или кто имел подобный опыт, помогите пожалуйсто.
#1 
AlexOtt постоялец13.08.08 15:52
AlexOtt
NEW 13.08.08 15:52 
in Antwort rahimov80 13.08.08 15:48
для QT насколько я помню есть коммерческая лицензия, которой компания и может воспользоваться, заплатив денег разработчику. GPL библиотека может быть подключена без открытия кода только если вы используете какой-то внешний протокол общения с библиотекой. Динамически подгружать можно только LGPL библиотеки.
а вообще - все эти вопросы подробно освещены в FAQ по Open Source Licenses
#2 
rahimov80 завсегдатай13.08.08 16:09
NEW 13.08.08 16:09 
in Antwort AlexOtt 13.08.08 15:52
В ответ на:
для QT насколько я помню есть коммерческая лицензия, которой компания и может воспользоваться, заплатив денег разработчику.

Таки да есть. Мы уже с ними торговались и не сошлись в цене на роялти
Кстати они не очень давят, чтоб компании покупали комерческую лицензию: они говорят, что GPL дает им огромные возможности дебагинга, бета-тестинга плюс массовая известность.
В ответ на:
GPL библиотека может быть подключена без открытия кода только если вы используете какой-то внешний протокол общения с библиотекой. Динамически подгружать можно только LGPL библиотеки.

Проблема в открытии не в GPL библиотеки, а нашего кода: тот который будет работать с этой GPL библиотекой (presenation layer) тот мы откроем, а тот который будет нужен для работы этой части (logic layer), тот не хотим
В ответ на:
а вообще - все эти вопросы подробно освещены в FAQ по Open Source Licenses

Там тоже не так все просто...
#3 
AlexOtt постоялец13.08.08 16:58
AlexOtt
NEW 13.08.08 16:58 
in Antwort rahimov80 13.08.08 16:09
я и не говорил про открытие библиотеки. если уж вы так хотите использовать GPL библиотеку, то вам можно сделать следующее:
пишете стаб, который общается с вашей библиотекой через пайпы, tcp/ip, whatever.... ну и стаб открываете.
но мое имхо - вы изобретаете велосипед. что из Qt вы хотите использовать?
#4 
rahimov80 завсегдатай14.08.08 10:16
NEW 14.08.08 10:16 
in Antwort AlexOtt 13.08.08 16:58
В ответ на:
я и не говорил про открытие библиотеки. если уж вы так хотите использовать GPL библиотеку, то вам можно сделать следующее:
пишете стаб, который общается с вашей библиотекой через пайпы, tcp/ip, whatever.... ну и стаб открываете.

Так вопрос и есть, что скрывается под "whatever"
tcp/ip - проблема performence
pipes - хорошая идея, надо будет попробовать, а что ещё?
В ответ на:
но мое имхо - вы изобретаете велосипед. что из Qt вы хотите использовать?

ГУИ хотим нарисовать в linux embedded, а что есть другие варианты: GTK, EFL, etc?
#5 
  scorpi_ прохожий14.08.08 12:53
NEW 14.08.08 12:53 
in Antwort rahimov80 14.08.08 10:16
http://www.wxwidgets.org/
Лицензия у них производная от LGPL http://www.wxwidgets.org/about/newlicen.htm
#6 
AlexOtt постоялец14.08.08 13:44
AlexOtt
NEW 14.08.08 13:44 
in Antwort rahimov80 14.08.08 10:16
Tk в виде Tcl/Tk, Python, what ever? как вот подсказывают, wx - хороший выбор. есть еще fltk - LGPL. а вообще - вот список http://en.wikipedia.org/wiki/List_of_widget_toolkits#Based_on_C_or_C.2B.2B_.28including_bindings_to_other_languages.29
если все-таки будете использовать обертку, то можете попользовать AF_UNIX вместо localhost
P.S. но все равно, что-то у меня решение использовать именно Qt вызывает недоумение - у меня из знакомых кто пишет под него коммерческий софт, покупают лицензии и не жаловались, что они слишком дорогие
#7 
AlexOtt постоялец14.08.08 13:45
AlexOtt
14.08.08 13:45 
in Antwort rahimov80 14.08.08 10:16
дык! у GTK-же лицензия LGPL, поэтому можете спокойно его использовать без статической линковки
#8 
rahimov80 завсегдатай18.08.08 16:22
NEW 18.08.08 16:22 
in Antwort scorpi_ 14.08.08 12:53
Я вроде бы намекнул, что платформа у нас embedded linux. То есть kernel для SH4 + (точнее минус) никакого X11, хочешь графику - работай с frame buffer_ом.
А wxWidgets судя по сайту поддерживает WinCE и X11, но не embedded linux
#9 
rahimov80 завсегдатай18.08.08 16:59
NEW 18.08.08 16:59 
in Antwort AlexOtt 14.08.08 13:44
Разговор ушел куда-то в сторону (смотри ответ выше): в том прекрасном листе application-framework есть "On Unix, under the X Window System", а для embedded и нету.
Так что ни GTK+, ни fltk, ни прочие, без дополнительной (и большой) работы по портингу на фрейм буффер не подойдут. A GNOME Mobile & Embedded только начинается.
А если придется остановится на LGPL, то мы лучше WebKit возьмем (ксати он является частью QT)
В ответ на:
P.S. но все равно, что-то у меня решение использовать именно Qt вызывает недоумение - у меня из знакомых кто пишет под него коммерческий софт, покупают лицензии и не жаловались, что они слишком дорогие

Может они десктопные аппликации пишут, там royalty нет, а для реалтаймовских есть.
#10 
  scorpi_ гость19.08.08 00:21
NEW 19.08.08 00:21 
in Antwort rahimov80 18.08.08 16:59
rahimov80 завсегдатай22.08.08 17:22
NEW 22.08.08 17:22 
in Antwort scorpi_ 19.08.08 00:21
Спасибо, может это и подойдет. К томуже footprint небольшой, около 3MB.
#12