LINUX.ORG.RU

Ограничен доступ к исходникам Qt 5.15

 


1

6

C 5 января 2021 года доступ к исходному коду LTS-версий Qt предоставляется только обладателям коммерческой лицензии. Об этом сообщил в рассылке директор по разработке Qt Company Туука Турунен.

С выходом Qt 6.0.0, а также скорым выходом первого корректирующего релиза (Qt 6.0.1), настало время перейти к этапу исключительно коммерческого лицензирования Qt 5.15 LTS. Все существующие ветки версии 5.15 останутся в свободном доступе, но новые коммиты приниматься не будут. Исключение составляет Qt WebEngine (и упразднённый Qt Script), которые имеют зависимости от сторонних компонентов с лицензией LGPL.

Для англоязычных:

With Qt 6.0.0 released and the first patch release (Qt 6.0.1) coming soon, it is time to enter the commercial-only LTS phase for Qt 5.15 LTS. All the existing 5.15 branches remain publicly visible, but they are closed for new commits (and cherry-picks). Exception being the Qt WebEngine (and the deprecated Qt Script), which have a 3rd party LGPL dependency.

Следующий, исключительно коммерческий, минорный релиз Qt 5.15.3 ожидается в феврале.

Тем временем, в дистрибутивах складывается сложная ситуация: предыдущая LTS-версия Qt 5.12 будет поддерживаться только до конца этого года, а версию 5.15, что уже находится в репозиториях, придётся либо сопровождать самостоятельно, либо переходить на Qt 6, который ещё не факт, что сохранит совместимость. К примеру, сопровождающие Debian уже заявили о нехватке времени на Qt 6.

Сообщество готово взять на себя сопровождение собственных LTS-версий. Более того, разработчикам сторонних модулей по отдельному запросу будут давать доступ в репозиторий, что даст возможность сообществу следить за изменениями (интересно, а это не будет считаться нарушением лицензии?)

Новость на Opennet

>>> Сообщение в рассылке проекта

Я уже много лет в футболе, и ещё на заре этих Культей недолюбливал этих шлюх. Они вроде как коммерческие, потом немношка открытые, потом снова коммерческие, и вот сейчас финальный гвоздь с плевком на всю опенсорсину.

Надо понимать: если люди работают за деньги, то как только бизнес начинает накрываться, тут же затягиваются гайки. И конечно же, в первую очередь опенсорсные! Поэтому ни под каким видом и обещаниями нельзя связываться с проприерастами!

Ну и с программерской т.з. библиотечка-то - большая куча говна! Всё намешали в кучу. Программистам не нужны «всемогутеры», которые категорически сложно интегрировать в существующие системы. Маленькие легковесные модули - вот залог расширения юзерской базы.
Поэтому Культя идёт лесом, все на ГТк! :)

matumba ★★★★★ ()
Ответ на: комментарий от RazrFalcon

Аналог Qt Widgets займёт лет 5.

Да ладно, не настолько уж там много кода, чтобы не осилить это за пару лет какой-нибудь командой Rust-программистов:

cloc gui/ widgets/
    1530 text files.
    1521 unique files.                                          
     115 files ignored.

github.com/AlDanial/cloc v 1.82  T=4.44 s (318.9 files/s, 163767.5 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C++                            663          81340         143947         328657
C/C++ Header                   650          20035          31571          94164
Objective C++                    9           1134            911           5785
XML                              6             53             90           5269
CMake                           11            338            310           4460
JSON                             7             23              0           2589
Assembly                         4            396            505           2442
C                                1            391            304           1312
Qt Project                      58             76              2            422
Qt                               1              0              0            382
SVG                              2              0              0            156
ProGuard                         3             27             12             98
HLSL                             1              1              0              8
-------------------------------------------------------------------------------
SUM:                          1416         103814         177652         445744
-------------------------------------------------------------------------------

К тому же всякие тяжёлые MVC-элементы вроде TableView и прочих можно первое время и не реализовывать. Вон, в Qt Quick/QML их вроде до сих пор не запилили и всем пофиг.

Нужен QML.

Десктопные контролы для Qt Quick/QML какой уже год пилят, а они до сих пор не могут конкуренцию Qt Widgets’ам составить. Уж лучше какой-нибудь нормальный декларативный DSL к Qt Widgets запилили бы, по типу ui-файлов, но без XML.

Отсутствие времени и денег. Ваш КО.

Раз никому из крупных IT-компаний не интересна сегодня разработка подобного фрейморка, который они могли бы проспонсировать, значит и Qt Widgets скоро отправится на свалку истории, а впереди нас ждёт лишь тёмное Electron-будущее.

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 3)
Ответ на: комментарий от EXL

Да ладно, не настолько уж там много кода

Там все потроха в QtGui, а это +300К строк. Итого пол ляма кода на плюсах. 5 лет - самое оно.

Десктопные контролы для QtQuick/QML какой уже год пилят,

Это тупик. Людям нужен Electron.

RazrFalcon ★★★★★ ()
Ответ на: комментарий от EXL

Десктопные контролы для QtQuick/QML

Зачем?

значит и Qt Widgets скоро отправится на свалку истории, а впереди нас ждёт лишь тёмное Electron-будущее.

С чего бы вдруг? На тяжёлый случай есть вечный WinApi и его открытая реализация Wine.

X512 ()
Ответ на: комментарий от EXL

Сколько разработчиков QT на постоянной основе занимаются интересно и как много контрибьюторов?
Если форк QT сделают, то сообщество готово ли к тому, чтобы самим QT развивать?

Владимир

anonymous ()
Ответ на: комментарий от anonymous

Сколько разработчиков QT на постоянной основе занимаются интересно?

Без понятия, но не думаю что сильно много. Если речь идёт только о Qt Base (Core, Gui, Widgets, Network, …).

Если форк QT сделают, то сообщество готово ли к тому, чтобы самим QT развивать?

Что-то как-то сомневаюсь, что какие-нибудь KDE-разработчики потянут разработку ВСЕГО фреймворка Qt для популярных платформ.

EXL ★★★★★ ()

(интересно, а это не будет считаться нарушением лицензии?)

Написал бы «Пока непонятно, будет ли…» Или нашел/привел бы доводы за и против и выложил.

Bagrov ★★★★★ ()
Ответ на: комментарий от MOPKOBKA

QtWidgets и подобные подходы к построению гуи уже давно устарели

Они прекрасно решают поставленные задачи и будут дальше их решать пока жив GUI как таковой и не изобрели полноценные нейроинтерфейсы и т.п.. Всякие разговоры про «устарел» - это не более чем мода. Никаких принципиально новых возможностей QtQuick и Electron не дают.

X512 ()
Ответ на: комментарий от X512

значит и Qt Widgets скоро отправится на свалку истории, а впереди нас ждёт лишь тёмное Electron-будущее.

С чего бы вдруг?

А ты эту тенденцию не замечаешь что ли? Взять тот же Skype, который на Qt был и который взял и на Electron перешёл.

Десктопные контролы для QtQuick/QML

Зачем?

Непонятно какая польза от Qt Quick на десктопе, там прекрасно хватает QtWidgets.

Почему ты спрашиваешь об этом меня, а не Qt-разработчиков которые пилят эти костыли:

https://www.qt.io/blog/desktop-styling-with-qt-quick-controls

Или KDE-разработчиков, которые пилят эти костыли:

https://develop.kde.org/frameworks/kirigami/

Я Qt Quick не продвигаю и не переписываю на него софт в отличие от них.

EXL ★★★★★ ()
Ответ на: комментарий от X512

Никаких принципиально новых возможностей QtQuick и Electron не дают.

Ты очень сильно ошибаешься. Мобильные приложения или киоски на виджетах не сильно напишешь. И потом, в QtQuick есть куча компонентов, которых нет в виджетах как, например, карты и тп. Да и современный интерфейс на виджетах не напишешь.

GladAlex ★★★★★ ()
Ответ на: комментарий от RazrFalcon

Добро пожаловать в 21-й век.

Чем вас тогда GTK 3+ не устраивает?

Печально, но бежать некуда.

Там как раз всё новомодно и современно. А в QtWidgets одни ретрограды с меню, тулбарами и маленькими флажками/радиокнопками вместо прогрессивных переключателей.

X512 ()
Ответ на: комментарий от EXL

А ты эту тенденцию не замечаешь что ли?

Замечаю и всецело для себя отвергаю как вредительство. Люди занимающиеся делом (физики и другие учёные, художники, инженеры, архитекторы) поступают также. Там часто до сих пор интерфейсы в стиле Windows 95/Motif.

Взять тот же Skype, который на Qt был и который взял и на Electron перешёл.

И стал намного хуже и тормознее. Вредительство в чистом виде.

X512 ()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от GladAlex

И потом, в QtQuick есть куча компонентов, которых нет в виджетах как, например, карты и тп.

Что мешает их написать?

Да и современный интерфейс на виджетах не напишешь.

Почему? Темы решают. Вот например, тема для WinForms: https://github.com/dennismagno/metroframework-modern-ui

Для других Widget тулкитов тоже можно написать темы, чтобы выглядело современнее, если не устраивает классический интерфейс.

fsb4000 ★★★★ ()
Ответ на: комментарий от GladAlex

Мобильные приложения или киоски на виджетах не сильно напишешь.

Я про десктопы. С смартфонами и встроенными системами всё понятно.

Да и современный интерфейс на виджетах не напишешь.

Не нужны на десктопах такие современные интерфейсы. Они ни дают никаких преимуществ и новых возможностей. На смартфонах, планшетах, киосках - пожалуйста.

X512 ()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от RazrFalcon

Это одно и то же. Только QML примитивнее.

Не соглашусь. QML в Qt 6 наконец-то научится компилироваться в C++ (у всех, а не только кто занёс $) и потеряет JavaScript-движок. А от мешанины HTML/JavaScript/CSS с грузом обратной совместимости и наслоения Web-стандартов в Electron куда-нибудь можно убежать? Там же ситуация, блин, хуже плюсовой. Но низкий порог вхождения позволяет штамповать эти поделия пачками.

Нужен QML.

Людям нужен Electron.

Людям нужен не Electron и не Qt Quick/QML, им нужен современный фреймворк с возможностью использования декларитивного подхода, там где это оправдано.

Аля https://flutter.dev/ или https://developer.apple.com/xcode/swiftui/

Qt-разработчики тоже могли бы сделать подобное, не создавая совершенно новую Qt Quick технологию и всех запутывая, а расширяя Qt Widgets декларативным подходом и DSL’ом, компилирующимся в плюсцы, вместо их ущербных ui-файлов на базе XML.

Они по сути к этому и пришли, избавляя Qt 5 от его архитектурных недостатков. Только разделение Qt Quick и Qt Widgets никуда не делось. Хотя тот же QML=>С++ транспилятор подъехал, а JavaScript вообще уехал. Да и в Qt Widgets из коробки всякие там современные Vulkan’ы запилили, а явные зависимости по типу OpenGL{ES} организовали в отдельные модули. Вот только время упущено. Не удивлюсь, если вскоре Qt Quick и на автомобилях/киосках проиграет, как проиграл на мобилках. И все уйдут на какой-нибудь Flutter или «Embedded Electron».

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от X512

Не нужны на десктопах такие современные интерфейсы. Они ни дают никаких преимуществ и новых возможностей. На смартфонах, планшетах, киосках - пожалуйста.

Приходится и на десктопах использовать. Интерфейс можно задавать гораздо более гибко и мощно. И преимуществ и новых возможностей там полно как биндинги, JS, вьюшки, которых нет в виджетах, карты, визуальные делегаты в моделях и т.д. Посмотри сколько компонентов в QML - гораздо больше, чем виджетов.

https://docs.qgroundcontrol.com/master/en/index.html - вот такую штуку на виджетах не напишешь.

GladAlex ★★★★★ ()
Ответ на: комментарий от GladAlex

Приходится и на десктопах использовать.

Ключевое слово «приходится». То есть есть вредители, которые ломают то, что давно работало, и пропихивают новомодную ерунду.

биндинги

Они и в обычных десктопных QtWidgets есть.

JS

Не нужно.

вьюшки, которых нет в виджетах

Написать самому и открыть код.

карты

Запросто пишется. Я писал свои карты для планшета с GPS и записью треков потому что других нормальных под x86 tablet и Windows не было.

визуальные делегаты в моделях

Что это?

https://docs.qgroundcontrol.com/master/en/index.html - вот такую штуку на виджетах не напишешь.

Во первых напишешь, а во вторых я так понимаю она не для десктопа, а для пульта управления дронами.

X512 ()

Ограничен доступ к исходникам ненужно 5.15

Хо-хо-хо! (Полу-)проприетарное ненужно стало еще более ненужным? От чего уходили — к тому и пришли?

Давно пора закопать эти разлагающиеся культяпки.

Rewand ()
Ответ на: комментарий от X512

Они и в обычных десктопных QtWidgets есть.

Только в 6-ке появилсь

JS Не нужно.

Нужно - сильно код упрощает и делает его гибче.

вьюшки, которых нет в виджетах Написать самому и открыть код.

Это разговор ни о чём: напишешь Qt с нуля?! В коммерческом проекте никто не будет на это тратить ни время, ни деньги.

карты

Запросто пишется. Я писал свои карты для планшета с GPS и записью треков потому что других нормальных под x86 tablet и Windows не было.

Не мели ерунды: напиши аналог Map в QML https://doc.qt.io/qt-5/qml-qtlocation-map.html - со всеми его детьми: MapCircle, MapRectangle, MapPolyline, MapPolygon, MapRoute or MapQuickItem - на это годы уйдут. Тем более, что элементы туда можно динамически в JS добавлять, что в виджетах на порядок сложнее.

визуальные делегаты в моделях

Что это?

Вот видишь, как ты сильно отстал от жизни!!! Почитай Шлее Qt 5.10, там очень хорошо хорошо это описано. https://doc.qt.io/qt-5/qtquick-modelviewsdata-modelview.html, https://doc.qt.io/archives/qt-4.8/qml-visualdatamodel.html, https://doc.qt.io/qt-5/qml-qtqml-models-delegatemodel.html

И потом декларативное программирование сильно упрощает и сокращает код, очень красиво и лаконично получается.

https://docs.qgroundcontrol.com/master/en/index.html - вот такую штуку на виджетах не напишешь.

Во первых напишешь, а во вторых я так понимаю она не для десктопа, а для пульта управления дронами.

Примеры в студию!!! Ты не понимаешь о чём говоришь, посмотри, сколько там возможностей и как оно написано. Написать такое на виджетах потребуется в разы или даже на порядок больше кода - практически нереально. Оно работает везде и на десктопе также: с ноута можно дроном управлять.

GladAlex ★★★★★ ()
Ответ на: комментарий от EXL

не создавая совершенно новую Qt Quick технологию и всех запутывая, а расширяя Qt Widgets

Виджеты прибиты к процу. Современный UI без GPU писать никак.

потеряет JavaScript-движок

Что-то сомневаюсь. Там всё на него завязано.

наслоения Web-стандартов в Electron куда-нибудь можно убежать?

Никуда. Поэтому нужно бежать от GUI разработки. Хотя бы на лет 5. А там и Flutter допилят.

RazrFalcon ★★★★★ ()
Ответ на: комментарий от GladAlex

Нужно - сильно код упрощает и делает его гибче.

Выучите уже современный C++.

Не мели ерунды: напиши аналог Map в QML

Мои карты выглядят так. Управление через глобальное меню и дополнительное окно. Для приватности трек и место взяты из интернета для примера.

X512 ()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от SkyMaverick

Попробовал: https://ibb.co/485X6BD Иконки на раб.столе включить не удалось (все расшиения на extensions.gnome.org не рабочие), надо разбираться (ни один совет из и-нета не сработал). Для меня это не критично, для юзеров фатально. По ощущениям не заметно, что вялёный на Gnome быстрее X-ов на Cinnamon'е. Вернул Гному привычный вид: https://ibb.co/zrxPg3j Остаюсь пока на Connamon'е, здесь уютней и комфортней: https://ibb.co/7tHdXjz

vold ★★★★★ ()
Последнее исправление: vold (всего исправлений: 2)
Ответ на: комментарий от RazrFalcon

Никто не мешает это написать на виджетах. И займёт это неделю, а не годы.

Пустые слова на уровне школоты - напиши! И чтобы весь функционал поддерживало и все QML компоненты.

GladAlex ★★★★★ ()
Ответ на: комментарий от rumgot

даже для одного более менее зарабатывающего разработчика 500$ в год - это вполне доступная сумма

через год они тебе 1000$ объявят и будут доить дальше, потому что зарабтывают тем что продают ПО. С такими лучше не связываться. Например гугл не зарабатывает на продаже своего открытого ПО поэтому не заинтересован доить - вот с такими можно иметь дело.

anonymous ()
Ответ на: комментарий от X512

Выучите уже современный C++.

Всё выучили. Выучи сначала декларативное программирование на QML + биндинги на JS - а потом попробуй переписать это всё на процедурном С++ - ты просто охренеешь насколько у тебя будет больше кода. Минимум в 2-3 раза больше, а зачастую и на порядок. И насколько это всё будет сложнее отлаживать, развивать и сопровождать. Я тоже плевался на QML, пока не начал на нём писать и не понял разницы, и получил массу удовольствия от красоты кода.

GladAlex ★★★★★ ()