GTK vs Qt
Модератор: Модераторы разделов
-
apprentice
- Сообщения: 595
- ОС: Debian 6
GTK vs Qt
Это не базар на тему что лучше, это вопрос можно ли "выжить" используя только одну из этих библиотек или все равно придется ставить обе. Я планирую использовать IceWM и мне нужно организовть максимально легкое офисное рабочее место. Так и не понял использует ли OpenOffice какую-то из этих библиотек. Еще нужен Jabber и браузер скорее всего Opera.
Про апетиты ОО знаю потому и хочу использовать максимально легкий софт чтобы освободить память для этого "монстра".
Про апетиты ОО знаю потому и хочу использовать максимально легкий софт чтобы освободить память для этого "монстра".
-
Juliette
- Сообщения: 5058
- Статус: ROSA Lab
- ОС: Ubuntu LTS, Mandriva 2011
Re: GTK vs Qt
Даже и не знаю -- во флейм, наверное. 
-
Malcolm
- Сообщения: 860
- Статус: Изменник
- ОС: Archlinux on IBM Z60m
Re: GTK vs Qt
ООо насколько я знаю использует GTK + java. Opera - Qt.
А Jabber - какой хотите
А Jabber - какой хотите
Win7 on X200s || Android 2.3 on Galaxy Tab
Блог
Блог
-
Kondrat
- Сообщения: 223
- ОС: И снова Федора
Re: GTK vs Qt
А почему нет? У меня только GTK, и ничего, живу, и даже не жалуюсь
Ёж - птица гордая: пока не пнёшь, не полетит.
-
apprentice
- Сообщения: 595
- ОС: Debian 6
Re: GTK vs Qt
А кто-нибудь изучал вопрос сколько памяти занимают эти библиотеки?
Может быть вообще не стоит заморачиватся и выбирать приложения для какой-то одной библиотеки, а поставить обе?
Может быть вообще не стоит заморачиватся и выбирать приложения для какой-то одной библиотеки, а поставить обе?
-
Denjs
- Сообщения: 1685
- ОС: SuSe 10.2
Re: GTK vs Qt
Лежат на диске. просто лежат. никакой памяти пока не загружено не используется.
не пользуете софт который требует библиотек - никаких растрат памяти.
загрузили оперу - начали подгружаться QT библиотеки.
а не запустили - как будто и нет у вас ничего...
проблемы в месте на диске? библиотеки QT 4.3 занимают "в чистом виде" около 20 мегабайт места.
ставьте обе и не парьтесь.
не пользуете софт который требует библиотек - никаких растрат памяти.
загрузили оперу - начали подгружаться QT библиотеки.
а не запустили - как будто и нет у вас ничего...
проблемы в месте на диске? библиотеки QT 4.3 занимают "в чистом виде" около 20 мегабайт места.
ставьте обе и не парьтесь.
-
d_n_k
- Сообщения: 636
- ОС: Gentoo GNU/Linux
-
Denjs
- Сообщения: 1685
- ОС: SuSe 10.2
Re: GTK vs Qt
не оперой одной житв юзверь.
кстати опреа как я понимаю по умолчанию идет в статической сборке?
кстати опреа как я понимаю по умолчанию идет в статической сборке?
-
wzrd
- Сообщения: 323
- ОС: Debian Lenny
Re: GTK vs Qt
а у меня только из-за amarok'а стоит qt и kdelibs. а amarok так собрать возможно?
-
Denjs
- Сообщения: 1685
- ОС: SuSe 10.2
Re: GTK vs Qt
Наверное можно. для этого надо поставиь полностью QT, его исходники, (а не только 14 мегабайт его библиотек) перекомпилить его (как я понимаю) для статической сборки и дуамю переконфигурить амарок при сборке...
но только только зачем этот весь геморрой? только что бы убрать галочку "у меня в системе стоит QT?"
или (неужели вы наивно?!) полагаете что полученный файл будет меньше "весить" чем старый файл+библиотеки? <_<
библиотеки никуда не денутся - они просто войдут в состав исполняемого файла.
но только только зачем этот весь геморрой? только что бы убрать галочку "у меня в системе стоит QT?"
или (неужели вы наивно?!) полагаете что полученный файл будет меньше "весить" чем старый файл+библиотеки? <_<
библиотеки никуда не денутся - они просто войдут в состав исполняемого файла.
-
Xentrix
- Бывший модератор
- Сообщения: 2429
- Статус: PackageMonkey
- ОС: OpenSuSE 11.1
Re: GTK vs Qt
Нельзя. Amarok ни физически, ни в правовом аспекте нельзя собрать статически.
Первое - из-за необходимости kde-libs и kde-base. Второе - из-за необходимости qt, kde-libs и kde-base.
Не QT единым он жив.
Кроме того, он использует различные кодеки, устанавливаемые отдельно. Их вы тоже намерены включить в статическую сборку?
Тогда я даже боюсь представить сколько лет за # вам придется провести...
P.S. Это был вежливый намек на постепенное заползание темы в область, скажем так, незаконную. Что ведет к автоматическому ее удалению. Развитие идей смелых экспериментов в области статических сборок стоит, думаю, перенести в приват.
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
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
-
wzrd
- Сообщения: 323
- ОС: Debian Lenny
Re: GTK vs Qt
Denjs писал(а): ↑26.04.2008 01:26Наверное можно. для этого надо поставиь полностью QT, его исходники, (а не только 14 мегабайт его библиотек) перекомпилить его (как я понимаю) для статической сборки и дуамю переконфигурить амарок при сборке...
но только только зачем этот весь геморрой? только что бы убрать галочку "у меня в системе стоит QT?"
или (неужели вы наивно?!) полагаете что полученный файл будет меньше "весить" чем старый файл+библиотеки? <_<
библиотеки никуда не денутся - они просто войдут в состав исполняемого файла.
да нет, дело не в этом. просто он использует kde'шные фичи и мне интересно сможет ли он прожить без них (тот же dcop server ему одному ведь не нужен будет).
-
t.t
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: GTK vs Qt
А какой смысл использовать статическую сборку, даже если запускать только одну программу на этой библиотеке? Разве на этом можно существенно память сэкономить?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
Denjs
- Сообщения: 1685
- ОС: SuSe 10.2
Re: GTK vs Qt
гм.. в общем случае не верно. Верно что Опреа заплатила денег, но абсолютно не верные выводы. имхо .
в данном случае или происходит путаница между "статической сборкой" и "закрытым исходных кодом", или у уважаемого 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]
-
wzrd
- Сообщения: 323
- ОС: Debian Lenny
-
Xentrix
- Бывший модератор
- Сообщения: 2429
- Статус: PackageMonkey
- ОС: OpenSuSE 11.1
Re: GTK vs Qt
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
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
По-моему, Вы тут немного путаете. Так можно говорить о распространении закрытого софта в скомпилированном виде. Если же программа распространяется в исходниках, то о каком "сокрытии" может идти речь?
Тоже немного "с ног на голову". GPL, насколько я помню, -- единственная "заразная" среди всех широко распространённых открытых лицензий. Т.е. её скорее можно назвать в каком-то смысле _наименее_ лояльной -- особ. v3. На звание "лояльнейшей" скорее могла бы претендовать лицензия BSD.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
-
Xentrix
- Бывший модератор
- Сообщения: 2429
- Статус: PackageMonkey
- ОС: OpenSuSE 11.1
Re: GTK vs Qt
Имелась ввиду теоретическая возможность. Как это случилось с 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
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
так... уважаемый Xentrix. давайте отделять мух от супа.
давайте синхронизируем для начала словрь терминов. просто что бы понять что что означает. "вдруг?"
Во первых определимся с технической стороной дела:
Теперь давайте разбираться с лицензионной стороной дела.
Далее везде мы рассматриваем под GPL только "GPL v2" (и не LGPL или другое) если явно не оговоренно иное.
и так. вы говорите:
"Статическая линковка" - это в терминах GPL - создание "производного произведения" - которое есть "произведение, включающее в себя Программу или ее часть". (GPL, пункт 0, второе предложение).
Отметим: техническая реализация таких "заимствований" никак не регрулируются. Это может быть как "прямое заимствование кода" ( выдрал пару циклов из чужой GPL-программы ), так и "статическая линковка".
Далее, к производному произведению применяется пункт 2 подпункт "Б":
Следовательно, из этих 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:
они получили письменноеразрешениее - лицензию 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-лицензии
Если считаете что он не состоятелен, ну что-ж, приводите цитаты из английского текста лицензии... но с вашим переводом - вдруг вы просто не корректно его переводите?)
______
давайте синхронизируем для начала словрь терминов. просто что бы понять что что означает. "вдруг?"
Во первых определимся с технической стороной дела:
( http://softwarer.nm.ru/packages.html )Статическая линковка: # Статически линкуемым (модулем или пакетом) будем называть объектный код (dcu или dcp), включенный линкером в соответствующий исполняемого файла.
Динамическая линковка:# Динамически линкуемым (пакетом, DLL) будем называть объектный код, откомпилированный в виде отдельного исполняемого файла и подключаемый к основному механизмом статической либо динамической загрузки.
Теперь давайте разбираться с лицензионной стороной дела.
Далее везде мы рассматриваем под 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-лицензии
Если считаете что он не состоятелен, ну что-ж, приводите цитаты из английского текста лицензии... но с вашим переводом - вдруг вы просто не корректно его переводите?)
______
-
Denjs
- Сообщения: 1685
- ОС: SuSe 10.2
Re: GTK vs Qt
Xentrix писал(а): ↑30.04.2008 21:26
Имелась ввиду теоретическая возможность. Как это случилось с lame.
Да, если речь идет о статической линковке, но при этом полные исходники приложения выкладываются на всеобщее обозрение в и-нет (не входя в противоречиями с условиями лицензии как автора программы, так и авторов части кода, который использовался для линковки) - то ни о каком сокрытии и речи не идет. Соответственно - можно. Наверное
Не обязательно "выкладывать на всеобщее обозрение". Достаточно давать исходник с копией программы. (см пункт 3 подпункт "A" GPL.)
А иногда досточно "описать порядок получения". (см пункт 3 подпункт "С" GPL.)
или просто обязательство вида "вышлю по требованию" (см пункт 3 подпункт "B" GPL.) увы.
-
t.t
- Бывший модератор
- Сообщения: 7390
- Статус: думающий о вечном
- ОС: Debian, LMDE
Re: GTK vs Qt
По lame Вам уже ответили: было явно нарушено основное требование GPL -- та самая "заразность". К типу линковки это отношения не имеет.
Не нужно ничего выкладывать. Если используется открытая программа или библиотека -- её исходники и так уже есть в открытом доступе. Если речь о GPL, то нужно выкладывать полный текст производной програмы, но по уже указанной причине -- "заразности" этой лицензии; к линковке (статической, динамической) это никакого отношения не имеет.Xentrix писал(а): ↑30.04.2008 21:26Да, если речь идет о статической линковке, но при этом полные исходники приложения выкладываются на всеобщее обозрение в и-нет (не входя в противоречиями с условиями лицензии как автора программы, так и авторов части кода, который использовался для линковки) - то ни о каком сокрытии и речи не идет. Соответственно - можно. Наверное
В случае с QT дело касается двойного лицензирования, которое позволяет основывать на ней закрытые продукты. Тут также ничего с линковкой не связано.
Что касается Amarok, то, что Вы говорите, -- вообще верх некомпетентности. Amarok лицензирован под GPL, исходники доступны. Точка. Как кто эти исходники будет собирать, с чем и каким образом линковать -- это всё вообще лицензией не регламентируется, поскольку на доступность исходников что Amarok-а, что используемых с ним библиотек это никоим образом не повлияет. Иначе каким образом, по-Вашему, мог бы существовать, к примеру, autopackage того же amarok-а?
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж