GTK vs Qt

Любые разговоры которые хоть как-то связаны с тематикой форума

Модератор: Модераторы разделов

apprentice
Сообщения: 595
ОС: Debian 6

GTK vs Qt

Сообщение apprentice »

Это не базар на тему что лучше, это вопрос можно ли "выжить" используя только одну из этих библиотек или все равно придется ставить обе. Я планирую использовать IceWM и мне нужно организовть максимально легкое офисное рабочее место. Так и не понял использует ли OpenOffice какую-то из этих библиотек. Еще нужен Jabber и браузер скорее всего Opera.
Про апетиты ОО знаю потому и хочу использовать максимально легкий софт чтобы освободить память для этого "монстра".
Спасибо сказали:
Аватара пользователя
Juliette
Сообщения: 5058
Статус: ROSA Lab
ОС: Ubuntu LTS, Mandriva 2011

Re: GTK vs Qt

Сообщение Juliette »

Даже и не знаю -- во флейм, наверное. :console:
Спасибо сказали:
Аватара пользователя
Malcolm
Сообщения: 860
Статус: Изменник
ОС: Archlinux on IBM Z60m

Re: GTK vs Qt

Сообщение Malcolm »

ООо насколько я знаю использует GTK + java. Opera - Qt.
А Jabber - какой хотите:)
Win7 on X200s || Android 2.3 on Galaxy Tab
Блог
Спасибо сказали:
Kondrat
Сообщения: 223
ОС: И снова Федора

Re: GTK vs Qt

Сообщение Kondrat »

А почему нет? У меня только GTK, и ничего, живу, и даже не жалуюсь
Ёж - птица гордая: пока не пнёшь, не полетит.
Спасибо сказали:
apprentice
Сообщения: 595
ОС: Debian 6

Re: GTK vs Qt

Сообщение apprentice »

А кто-нибудь изучал вопрос сколько памяти занимают эти библиотеки?


Может быть вообще не стоит заморачиватся и выбирать приложения для какой-то одной библиотеки, а поставить обе?
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: GTK vs Qt

Сообщение Denjs »

Лежат на диске. просто лежат. никакой памяти пока не загружено не используется.
не пользуете софт который требует библиотек - никаких растрат памяти.
загрузили оперу - начали подгружаться QT библиотеки.
а не запустили - как будто и нет у вас ничего...

проблемы в месте на диске? библиотеки QT 4.3 занимают "в чистом виде" около 20 мегабайт места.
ставьте обе и не парьтесь.
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
d_n_k
Сообщения: 636
ОС: Gentoo GNU/Linux

Re: GTK vs Qt

Сообщение d_n_k »

ставь оперу в статической сборке с qt, остальное gtk-base
все сказанное есть имхо...
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: GTK vs Qt

Сообщение Denjs »

не оперой одной житв юзверь.
кстати опреа как я понимаю по умолчанию идет в статической сборке?
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: GTK vs Qt

Сообщение wzrd »

а у меня только из-за amarok'а стоит qt и kdelibs. а amarok так собрать возможно?
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: GTK vs Qt

Сообщение Denjs »

Наверное можно. для этого надо поставиь полностью QT, его исходники, (а не только 14 мегабайт его библиотек) перекомпилить его (как я понимаю) для статической сборки и дуамю переконфигурить амарок при сборке...

но только только зачем этот весь геморрой? только что бы убрать галочку "у меня в системе стоит QT?"
или (неужели вы наивно?!) полагаете что полученный файл будет меньше "весить" чем старый файл+библиотеки? <_<
библиотеки никуда не денутся - они просто войдут в состав исполняемого файла.
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
Xentrix
Бывший модератор
Сообщения: 2429
Статус: PackageMonkey
ОС: OpenSuSE 11.1

Re: GTK vs Qt

Сообщение Xentrix »

Denjs писал(а):
26.04.2008 01:26
Наверное можно. для этого надо поставиь полностью QT, его исходники, (а не только 14 мегабайт его библиотек) перекомпилить его (как я понимаю) для статической сборки и дуамю переконфигурить амарок при сборке...

Нельзя. Amarok ни физически, ни в правовом аспекте нельзя собрать статически.
Первое - из-за необходимости kde-libs и kde-base. Второе - из-за необходимости qt, kde-libs и kde-base.
Не QT единым он жив.
Кроме того, он использует различные кодеки, устанавливаемые отдельно. Их вы тоже намерены включить в статическую сборку? ;)
Тогда я даже боюсь представить сколько лет за # вам придется провести... :D
P.S. Это был вежливый намек на постепенное заползание темы в область, скажем так, незаконную. Что ведет к автоматическому ее удалению. Развитие идей смелых экспериментов в области статических сборок стоит, думаю, перенести в приват. ;) Впрочем, если вы готовы заплатить ннн-ую сумму командам trolltech, kde и многочисленным создателям аудио-кодеков - то смело вперед :) Команда Opera сделала именно так - договорилась ($) с trolltech. Отсюда и их статические сборки.
P.P.S. Одна очень известная компания (не буду показывать пальцем, но в ее названии фигурирует слово "Sony") очень больно получила в суде по шапке (не красной, нет), когда в ее программе был обнаружен статически скомпиленный код небезызвестного декодера lame, о чем создатели лучшего (ИМХО) mp3-кодека даже не были предупреждены (не говоря уже о принципах GPL-соглашения).
Intel CoreDuo 6300/2Gb/300+300Gb HDD WD+Segate/GF8800GTS 320Mb/SB Live 5.1+SB X-Fi Gamer
OpenSuSE 11.1/kernel-2.6.27.x pae i686/Xorg 7.3/KDE 4.2 & E17/Compiz/ForceWare 180.xx.xx
Спасибо сказали:
Olegator
Сообщения: 2493
ОС: SuseLinux 11.2 KDE 4.3

Re: GTK vs Qt

Сообщение Olegator »

Xentrix писал(а):
27.04.2008 01:34
Команда Opera сделала именно так - договорилась ($) с trolltech

ну договорилась - это значит купила qt, в купленной версии можно делать статическую сборку. ну это я так чтобы никто ничего плохого не подумал :)
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: GTK vs Qt

Сообщение wzrd »

Denjs писал(а):
26.04.2008 01:26
Наверное можно. для этого надо поставиь полностью QT, его исходники, (а не только 14 мегабайт его библиотек) перекомпилить его (как я понимаю) для статической сборки и дуамю переконфигурить амарок при сборке...

но только только зачем этот весь геморрой? только что бы убрать галочку "у меня в системе стоит QT?"
или (неужели вы наивно?!) полагаете что полученный файл будет меньше "весить" чем старый файл+библиотеки? <_<
библиотеки никуда не денутся - они просто войдут в состав исполняемого файла.

да нет, дело не в этом. просто он использует kde'шные фичи и мне интересно сможет ли он прожить без них (тот же dcop server ему одному ведь не нужен будет).
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: GTK vs Qt

Сообщение t.t »

А какой смысл использовать статическую сборку, даже если запускать только одну программу на этой библиотеке? Разве на этом можно существенно память сэкономить?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: GTK vs Qt

Сообщение Denjs »

Xentrix писал(а):
27.04.2008 01:34
Команда Opera сделала именно так - договорилась ($) с trolltech. Отсюда и их статические сборки.


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


теперь по порядку:

. Во первых - сам по себе QT не запрещает собирать программы к которым библиотеки прилинкованы статически. Ни в платной ни в бесплатной версиях. Насколько я понимаю - для этого достаточно пересобрать библиотеку QT c соотвтетствующими опциями, а потом и программу ктоторая собирается их использовать. и в сети есть вполне легальные руководства о том как это сделать.
. Извините, но "The Qt Open Source Edition is available under the GPL."(см qt assistant (QT 4.3)- поиск по слову "GNU General Public License (GPL)" ) и, следовательно, я могу делать с ним все что хочу в рамках GPL . В том числе и линковать статически с любыми программами у которых совместимая с GPL лицензия. В числе таких лицензий и сама GNU GPL, под которой и раздается Amarok.
. Одна из сфер применения (собственно почему я и начал "рыть" данную тему около месяца-двух назад) - распространение qt-based-прграмм под виндоус где отдельно установленные библиотеки QT не сильно распространены и раздавать один exe-шник удобнее чем 15 файлов в архиве. И Opera идет в статичекой сборке именно поэтому - что бы не ставить ещё и библиотеки и что бы не возникало конфликтов если QT уже установлен но например других версий.

. Далее - Опера фактически заплатила Троллтечу за право закрыть исходники программы в которой использован QT. В результате, команда Opera получила QT не на условиях GPL, а на условиях коммерческой лицензии Троллтеч.
. В ином случае - единственный законный способ использовать QT - это использовать его GPL-версию, и в этом случае программа должна быть OpenSource и Free.
. Возможно, тут сть неясность... можно или нет динамически прилинковывать к close-source программе библиотеки которые раздаются по GPL? судя по всему нет.
. нельзя использоать QT библиотеки бесплатной версии под GPL если ваш софт с закрытым исходником. (поправьте меня ?) пример? Как я понимаю для связки с закрытыми драйверами NVidia используется специально-созданная LGPL прослоойка? похоже и тут ситуация аналогичная...
(*1 ->см. PPS)

. В третьих - полагаю, ничто не мешает пересобрать Amarok, включив туда статически только QT-библиотеки, оставив все остальное динамически. Аналогично думаю можно сделать и с kde-libs - это же все GPL софт? значит проблем с "совместимостью лицензий" не будет.
Другое дело - как это сделать технически - это другой вопрос решаемый другими средствами. и вполне хорошо решаемый как я понимаю.

Ну а с другими библиотеками -то тут конечно - их собрать статически с программой зачастую нельзя, просто потому что исходников нет (?); а иногда и лицензия не позволяет.

Конечно над этим всем висит фопрос а нафига? :) но флейм авторов топика видимо умом не понять, (по крайней мере мне не совсем понятны их страхи), потому остается обсудить "возможно-ли" ^_^ ))

Поправьте меня если где я ошибся.

-------------------------------------
PS: по поводу LAME - надо выяснять подробности. Во первых лицензия проекта к которому прилинкован lame какая? - GPL или другая?
Lame, если верить их сайты был ранее GPL, но после правок исходного кода стал LGPL. Следовательно - когда - тоже вопрос важный.
тем более - LGPL я не изучал подробно потому не могу сказть ничего о возможности "взаимовключения" GPL и LGPL продуктов.
Далее - как был использован код lame ? кусок исходников вставлен или библиотека прилинкована статически?
В общем надо выяснять подробности а не намекать что "и тут нельзя и топик снесу нафиг"... ну или как-то так.. имхо...
тут пока все абсолютно законно, а о возможности нарушениях каки-х либо лицензий в процессе написания/модфикации программ мы вроде "вотЪ" и обсуждаем.

-------------------------------------
PPS:но даже если такая линковка и допустима, - "скомпиленная GPL-библиотека и close-source программа" (в чем я сильно сомневаюсь) - это "не случай QT" : даже если написать LGPL прослойку между библиотекой QT и программой,помимо отказа от всех заголовочных файлов которые мы должны исключить из проекта (т.к. они идут под GPL и мы не можем использовать их в close-source программе), - использование QT превратится в работу напрямую с библиотеками, что в этом случае просто будет "хакерством" и "большим геморроем", поттому что все основные фишки QT, включая сигналы и слоты придется делать руками. ([i]Кто смотрел .moc файлы думаю согласиться со мной.) А это, в общем-то нафиг никому не надо.[i]
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
wzrd
Сообщения: 323
ОС: Debian Lenny

Re: GTK vs Qt

Сообщение wzrd »

t.t писал(а):
28.04.2008 00:02
А какой смысл использовать статическую сборку, даже если запускать только одну программу на этой библиотеке? Разве на этом можно существенно память сэкономить?

нет. но я для интереса спросил именно про амарок.
Спасибо сказали:
Аватара пользователя
Xentrix
Бывший модератор
Сообщения: 2429
Статус: PackageMonkey
ОС: OpenSuSE 11.1

Re: GTK vs Qt

Сообщение Xentrix »

Denjs писал(а):
28.04.2008 01:27
теперь по порядку:

1. Во первых - сам по себе QT не запрещает собирать программы к которым библиотеки прилинкованы статически. Ни в платной ни в бесплатной версиях. Насколько я понимаю - для этого достаточно пересобрать библиотеку QT c соотвтетствующими опциями, а потом и программу ктоторая собирается их использовать. и в сети есть вполне легальные руководства о том как это сделать.
2. Извините, но "The Qt Open Source Edition is available under the GPL."(см qt assistant (QT 4.3)- поиск по слову "GNU General Public License (GPL)" ) и, следовательно, я могу делать с ним все что хочу в рамках GPL . В том числе и линковать статически с любыми программами у которых совместимая с GPL лицензия. В числе таких лицензий и сама GNU GPL, под которой и раздается Amarok.
3. Одна из сфер применения (собственно почему я и начал "рыть" данную тему около месяца-двух назад) - распространение qt-based-прграмм под виндоус где отдельно установленные библиотеки QT не сильно распространены и раздавать один exe-шник удобнее чем 15 файлов в архиве. И Opera идет в статичекой сборке именно поэтому - что бы не ставить ещё и библиотеки и что бы не возникало конфликтов если QT уже установлен но например других версий.
4. Далее - Опера фактически заплатила Троллтечу за право закрыть исходники программы в которой использован QT. В результате, команда Opera получила QT не на условиях GPL, а на условиях коммерческой лицензии Троллтеч.
5. В ином случае - единственный законный способ использовать QT - это использовать его GPL-версию, и в этом случае программа должна быть OpenSource и Free.
6. Возможно, тут сть неясность... можно или нет динамически прилинковывать к close-source программе библиотеки которые раздаются по GPL? судя по всему нет.
7. нельзя использоать QT библиотеки бесплатной версии под GPL если ваш софт с закрытым исходником. (поправьте меня ?) пример? Как я понимаю для связки с закрытыми драйверами NVidia используется специально-созданная LGPL прослоойка? похоже и тут ситуация аналогичная...
(*1 ->см. PPS)

8. В третьих - полагаю, ничто не мешает пересобрать Amarok, включив туда статически только QT-библиотеки, оставив все остальное динамически. Аналогично думаю можно сделать и с kde-libs - это же все GPL софт? значит проблем с "совместимостью лицензий" не будет.
Другое дело - как это сделать технически - это другой вопрос решаемый другими средствами. и вполне хорошо решаемый как я понимаю.

Поправьте меня если где я ошибся.

-------------------------------------
PS: по поводу LAME - надо выяснять подробности.


Для начала поясню, что технически и в правовом аспекте означает статическая линковка. Статическая линковка - это возможность использовать чужой код без обнародования этого факта. Даже согласно лояльнейшей GPL, сокрытие факта использования чужого кода - это грубейшее нарушение лицензии. Статическая линковка по сути своей позволяет это делать, поэтому бесплатная - тихая, тайная - statik link запрещена в любой лицензии.

1. Заплати - и никто не запретит. Но - ЗАПЛАТИ. Либо пользуйся сам и только сам. Стоит твоей программе появиться в нете хотя бы на сайте безвестного васи пупкина с одним посетителем в год - и все - получишь по шапке.
2. Смотрите мое пояснение выше. Как раз именно в GPL ОЧЕНЬ четко оговаривается статическая линковка и правила, связанные с ней. И они диаметрально противоположны вашим выводам на основе непонятно чего... Почитайте что ли GPL, ну или хотя бы вольные поясняющие пересказы Столлмана для одаренных ;)
3. Поэтому qt никогда не будет популярна под Windows, как и программы на ее основе. Одна, ныне дохлая, но когда-то небезызвестная фирмулька - Borland - со своим Kilyx уже крепко пролетела на этом поприще. Весь наждак собрала - причем со стороны и линуксоидов и виндоуз-юзеров. Не ностардамус, но предрекаю такую же участь и Троллтеху в сфере Win.
4. В КДЕ-народе статические сборки Opera с QT были всегда малопопулярны. Большая часть КДЕшников использовала динамические сборки Opera - тогда интерфейс оперы менялся в зависимости от выбранного стиля КДЕ. Это вовсе не заставляло команду Opera открывать исходники. Первопричина - не нежелание открытия кода, а - независимость от либ. Открытие исходников программы и тип сборки - независимые понятия, если в дело вмешиваются деньги - оплата. Не надо жонглировать понятиями. Если кошка - животное, то не значит, что любое животное - кошка.
5. Именно. А значит - она не должна быть статически линкованной. Либо динамика - либо платите деньги или (если используемая библиотека - не ахти какая круть суперизвестная) - договаривайтесь с автором линкуемой библиотеки "по-дружески". Но в случае с QT "дружба-брудершафт" не прокатят. Плати!
6. А вот тут вы как раз неправы - к закрытой программе без всяких проблем можно динамически линковать чужие библиотеки. ВСЯ Windows на этом построена - вы что - платите MS, если ваша программа использует ее .dll???? Над глупостями вы задумываетесь. Можно и даже нужно - на то эти библиотеки и рассчитаны изначально, без них не было бы под Win такой многосотеннотысячной прорвы всяческих программных поделий от энтузазистов и комммерсантов. Или вы считаете, что использование тех же библиотек DirectX и DirectX SDK - платное? Нет конечно. Бросьте - не будь эти либы и девелопмент-киты бесплатными, никогда бы MS не стать тем, чем она стала, тем более - как платформа для игр ;)
7. В линукс-драйвере nvdia нет никакой статической линковки. Там весь компилируемый код - их собственный, и получающиеся в результате сборки библиотеки используют динамически различные сторонние либы. Потому-то линь-сообщество только горестно пищать может о закрытости nvidia-drivers, но претензий - никаких не может предъявить. Чисто все. Вообще не в тему пример.
8. Нельзя. Выше вы все читали уже.
_________________
По поводу lame нечего выяснять особо. Этот косяк был у Sony в абсолютно закрытой прошивке для PlayStation3 - там для проигрывания дисков с .mp3 эти умники запихнули код lame. Тихой сапой. Ясное дело - в статик-сборке. За что и отхватили.
Intel CoreDuo 6300/2Gb/300+300Gb HDD WD+Segate/GF8800GTS 320Mb/SB Live 5.1+SB X-Fi Gamer
OpenSuSE 11.1/kernel-2.6.27.x pae i686/Xorg 7.3/KDE 4.2 & E17/Compiz/ForceWare 180.xx.xx
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: GTK vs Qt

Сообщение t.t »

Xentrix писал(а):
30.04.2008 18:55
Для начала поясню, что технически и в правовом аспекте означает статическая линковка. Статическая линковка - это возможность использовать чужой код без обнародования этого факта.
По-моему, Вы тут немного путаете. Так можно говорить о распространении закрытого софта в скомпилированном виде. Если же программа распространяется в исходниках, то о каком "сокрытии" может идти речь?

Xentrix писал(а):
30.04.2008 18:55
лояльнейшей GPL
Тоже немного "с ног на голову". GPL, насколько я помню, -- единственная "заразная" среди всех широко распространённых открытых лицензий. Т.е. её скорее можно назвать в каком-то смысле _наименее_ лояльной -- особ. v3. На звание "лояльнейшей" скорее могла бы претендовать лицензия BSD.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
Xentrix
Бывший модератор
Сообщения: 2429
Статус: PackageMonkey
ОС: OpenSuSE 11.1

Re: GTK vs Qt

Сообщение Xentrix »

t.t писал(а):
30.04.2008 20:08
По-моему, Вы тут немного путаете. Так можно говорить о распространении закрытого софта в скомпилированном виде. Если же программа распространяется в исходниках, то о каком "сокрытии" может идти речь?

Имелась ввиду теоретическая возможность. Как это случилось с lame.
Да, если речь идет о статической линковке, но при этом полные исходники приложения выкладываются на всеобщее обозрение в и-нет (не входя в противоречиями с условиями лицензии как автора программы, так и авторов части кода, который использовался для линковки) - то ни о каком сокрытии и речи не идет. Соответственно - можно. Наверное :)
Intel CoreDuo 6300/2Gb/300+300Gb HDD WD+Segate/GF8800GTS 320Mb/SB Live 5.1+SB X-Fi Gamer
OpenSuSE 11.1/kernel-2.6.27.x pae i686/Xorg 7.3/KDE 4.2 & E17/Compiz/ForceWare 180.xx.xx
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: GTK vs Qt

Сообщение Denjs »

так... уважаемый Xentrix. давайте отделять мух от супа.

давайте синхронизируем для начала словрь терминов. просто что бы понять что что означает. "вдруг?"

Во первых определимся с технической стороной дела:
Статическая линковка: # Статически линкуемым (модулем или пакетом) будем называть объектный код (dcu или dcp), включенный линкером в соответствующий исполняемого файла.
Динамическая линковка:# Динамически линкуемым (пакетом, DLL) будем называть объектный код, откомпилированный в виде отдельного исполняемого файла и подключаемый к основному механизмом статической либо динамической загрузки.
( http://softwarer.nm.ru/packages.html )

Теперь давайте разбираться с лицензионной стороной дела.
Далее везде мы рассматриваем под GPL только "GPL v2" (и не LGPL или другое) если явно не оговоренно иное.

и так. вы говорите:
Amarok ни физически, ни в правовом аспекте нельзя собрать статически.

"Статическая линковка" - это в терминах GPL - создание "производного произведения" - которое есть "произведение, включающее в себя Программу или ее часть". (GPL, пункт 0, второе предложение).
Под термином "произведение, производное от Программы" понимается Программа или любое иное производное произведение <...> т.е. произведение, включающее в себя Программу или ее часть, как с внесенными в ее текст изменениями, так и без них... <...>.

Отметим: техническая реализация таких "заимствований" никак не регрулируются. Это может быть как "прямое заимствование кода" ( выдрал пару циклов из чужой GPL-программы ), так и "статическая линковка".

Далее, к производному произведению применяется пункт 2 подпункт "Б":
Условия воспроизведения, распространения и модификации<...>
2.<...>
b) при распространении или публикации Лицензиатом любого произведения, которое содержит Программу или ее часть или является производным от Программы или от ее части, Лицензиат обязан передавать права на использование данного произведения третьим лицам на условиях настоящей Лицензии,<...>


Следовательно, из этих 2-х пунктов мы понимаем: статическая линковка сама по себе НЕ нарушает лицнзии GPL. Важно что бы программа которая использует таким образом GPL-программу тоже распространялась на условиях GPL.
(отмечу - причем сама лицензия не требует(!) указывать ни автора заимствованного кода ни его источник.
Указывать автора или источник заимствования важно (с точки зрения локального законодательства, с точки зрения уважения авторского права других, указания на "совместное авторское право" и др., но сама лицензия этого не требует.
для аналогии - лицензия на документацию - FDL кажется это требует. а вот программный GPL явно - нет.
)

Если-же верить вашей логике, то не только "статическая линковка", но и "заимствование чужого кода" в GPL должны быть запрещены - из-за "теоретической возможности", как вы говорите "... использовать чужой код без обнародования этого факта....".
Простите, но запрет на "заимствование чужого кода" противоречит не только тексту самой лицензии, но и её задаче - дать возможность развивать программу, и дать возможность повторно использовать чужой код
читаем "Преамбулу" лицензии GPL :
Настоящая Стандартная Общественная Лицензия разработана с целью гарантировать вам право распространять экземпляры свободного программного обеспечения (и при желании получать за это вознаграждение), право получать исходный текст программного обеспечения или иметь возможность его получить, право вносить изменения в программное обеспечение или использовать его части в новом свободном программном обеспечении, а также право знать, что вы имеете все вышеперечисленные права.


Следовательно, как ни крути, ваши высказывания относительно "лицензионного запрета" на статическую линковку QT-open-source(лицензия GPL v2) с Amarok (лицензия GPL v2) являются простыми домыслами.
или извольте привести те самые цитататы из GPL в которых "<...> ОЧЕНЬ четко оговаривается статическая линковка и правила, связанные с ней.<...>". Таких там нет. я не нашел. Можеть быть мы говорим о разных версиях GPL? или вы говорите о LGPL?
в данном случае есть смысл говрить только о GPLv.2 т.к. это лицензия как "Amarok", так "QT 4.3 open source".


Теперь по Lame.

"Cтатическая линковка" к close-source программе нарушает GPL именно по пункту 2 подпункт "Б".
Именно это как я понимаю и произошло с Sony, которая включила Lame в свою программу которая лицензировалась не на условиях GPL.
Они получили по шапке не за "статическую линковку", а за "close source в составе которого был GPL".
и не важно - "слинковали они статически" "готовую библиотеку" или "вставили пару функций из исходников к себе".

Теперь про Оперу.

Повторюсь - особенности сборки программ с использованием QT практически исключают возможность не-включать в свой исходный код, код компании Троллтеч. Как минимум это будут "заголовочные файлы" и многочисленные макросы. Подозреваю что и код создаваемый мета-компилятором moc относится туда-же. Об этом я говорил во второй ремарке своего поста.
Потому не важно - статически или динамически прилинкованы к Opera библиотеки QT - в её исходном коде 99,9% есть код авторскими правами на который обладает Trolltech, и который "неотделим" от кода Opera.
И именно за то чтобы использовать этот код в своей не-gpl-программе и заплатила команда оперы.
А говорил я это, потому что ваша логическая цепочка вида "если вы готовы заплатить ннн-ую сумму командам trolltech, <...>- то смело вперед. Команда Opera сделала именно так - договорилась ($) с trolltech. Отсюда и их статические сборки". - ошибочна.
Их статические сборки никак не связаны с тем что они "заплатили денег".
С тем что они заплатили денег - связан закрытый код программы Opera.

Вариант -же использования закрытой Оперой _динамически_ прилинкованных библиотек описан в пункте 10 GPL:
10. В случае если Лицензиат намерен включить часть Программы в другое свободное программное обеспечение, которое распространяется на иных условиях, чем в настоящей Лицензии, ему следует испросить письменное разрешение на это у автора программного обеспечения.

они получили письменноеразрешениее - лицензию QT и могут использовать их код как угодно. в том числе и GPL-версии их пакетов линковать к своей программе. Хотя в этом мы свами похоже согласны.
------------------------
Можно я не буду по пунктам разбирать все ваши ответы? уж очень трудно повторять одно и то-же...
ограничусь требованием доказательств.

2) Очень хорошо что вы говорите о том что "в GPL ОЧЕНЬ четко оговаривается статическая линковка и правила, связанные с ней".
цитаты из лицензии касающиеся именно "статической линковки" - в студию.
я показал несостоятельность вашего предположения о "лицензионном" запрете статической линковки "QT 4.3 open source". Если есть чем опровергнуть - приведите доказательства и цитаты.

5).>> А значит - она не должна быть статически линкованной. Либо динамика - либо платите деньги или - договаривайтесь с автором линкуемой библиотеки "по-дружески".
Вы не правы. Повторюсь: Извольте или привести цитаты из лизензии GPL запрещающие статическую сборку в случае если "производная программа" идет по лицензии GPL или признайте свою не правоту.

6) В пункте обсуждения я имею в виду не техническую возможность, я юридическую - динамическую линковку к "закрытому софту" GPL-библиотек. потому пример с виндоус - извините меня - несколько другой случай - там лицензии другие.
Случай с драйверами я привел как пример связки GPL кода и закрытого кода - он связывается не напрямую а на через прослойку которая лицензируется по LGPL. т.к. (по видиому) прямое "связываение" GPL и Close-Source кода в ряе случаев запрещается. и я фактически спрашивал авляется ли этот случай аналогичным "динамическа линковке" GPL-библиотек к "закрытой" программе.
.
Я обсуждаю, возможно-ли в обход пункта 10 лицензии GPL подключать GPL-библиотеки к не-gpl программе.
В случае с Opera - тут видимо имеется явное разрешение от Trolltech и закрытая программа может использвать в том числе и open-source версии qt.
Приведите лучше пример "закрытой" программы которая использует скажем GTK или другую GPL-библиотеку без специального разрешения в соответствии с "пунктом 10" GPL?

________________________________________________________
(текст лицензии GPL в переводе Елены Тяпкиной можно найти здесь GPL-лицензии
Если считаете что он не состоятелен, ну что-ж, приводите цитаты из английского текста лицензии... но с вашим переводом - вдруг вы просто не корректно его переводите?)

______
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: GTK vs Qt

Сообщение Denjs »

Xentrix писал(а):
30.04.2008 21:26
t.t писал(а):
30.04.2008 20:08
По-моему, Вы тут немного путаете. Так можно говорить о распространении закрытого софта в скомпилированном виде. Если же программа распространяется в исходниках, то о каком "сокрытии" может идти речь?

Имелась ввиду теоретическая возможность. Как это случилось с lame.
Да, если речь идет о статической линковке, но при этом полные исходники приложения выкладываются на всеобщее обозрение в и-нет (не входя в противоречиями с условиями лицензии как автора программы, так и авторов части кода, который использовался для линковки) - то ни о каком сокрытии и речи не идет. Соответственно - можно. Наверное :)

Не обязательно "выкладывать на всеобщее обозрение". Достаточно давать исходник с копией программы. (см пункт 3 подпункт "A" GPL.)
А иногда досточно "описать порядок получения". (см пункт 3 подпункт "С" GPL.)
или просто обязательство вида "вышлю по требованию" (см пункт 3 подпункт "B" GPL.) увы.
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: GTK vs Qt

Сообщение t.t »

Xentrix писал(а):
30.04.2008 21:26
Имелась ввиду теоретическая возможность. Как это случилось с lame.
По lame Вам уже ответили: было явно нарушено основное требование GPL -- та самая "заразность". К типу линковки это отношения не имеет.

Xentrix писал(а):
30.04.2008 21:26
Да, если речь идет о статической линковке, но при этом полные исходники приложения выкладываются на всеобщее обозрение в и-нет (не входя в противоречиями с условиями лицензии как автора программы, так и авторов части кода, который использовался для линковки) - то ни о каком сокрытии и речи не идет. Соответственно - можно. Наверное
Не нужно ничего выкладывать. Если используется открытая программа или библиотека -- её исходники и так уже есть в открытом доступе. Если речь о GPL, то нужно выкладывать полный текст производной програмы, но по уже указанной причине -- "заразности" этой лицензии; к линковке (статической, динамической) это никакого отношения не имеет.

В случае с QT дело касается двойного лицензирования, которое позволяет основывать на ней закрытые продукты. Тут также ничего с линковкой не связано.

Что касается Amarok, то, что Вы говорите, -- вообще верх некомпетентности. Amarok лицензирован под GPL, исходники доступны. Точка. Как кто эти исходники будет собирать, с чем и каким образом линковать -- это всё вообще лицензией не регламентируется, поскольку на доступность исходников что Amarok-а, что используемых с ним библиотек это никоим образом не повлияет. Иначе каким образом, по-Вашему, мог бы существовать, к примеру, autopackage того же amarok-а?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали: