LINUX.ORG.RU
ФорумTalks

[Qt][Nokia]Размышления вслух.

 ,


0

3

Не так давно мои рассуждения завели меня вот в какие дебри:
1. До покупки Trolltech нокией компания зарабатывала на тех. поддержке и коммерческих лицензиях.
2. После покупки нокией, у Trolltech нет возможности выпускать Qt под коммерческой лицензией.
3. Права на поддержку проданы 3-ей стороне.

Сухой итог: теперь Trolltech не сможет снова выстроить свои бизнес процессы на тех же принципах, что и раньше. Больше они не могут зарабатывать на Qt. Таким образом теперь Nokia осталось только выкинуть Qt сообществу. Программисты, которые работали за зарплату, перейдут в другие проекты.

Итог. Очередной вин Microsoft, убили в зародыше фреймворк, который не только позволял быстро и удобно создавать приложения для Windows, но и позволял создавать кросплатформенные(!) приложения. Что ребятам из редмонда не могло нравится.

Подскажите, в чем я не прав.

P.S. Не совсем в зародыше конечно, да и не убили, а просто притормозили в развитии.

★★★★★

Ответ на: комментарий от Andru

На самом деле, конечно не в зародыше как фреймворк, но в зародыше как конкурента. До этого Qt не так обширно использовался из-за GPL, но с переходом на LGPL многие стали использовать его и в закрытых проектах.

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

Жили за счет тех. поддержки и продажи коммерческих лицензий.
Коммерческие лицензии сейчас никому не нужны, т.к. есть LGPL вариант, а права на тех. поддержку они продали Digia (или как их там? на мой взгляд довольно мутная контора).
В итоге: нокиа не получает за Qt ни доллара, так что в скором времени прекратит и вкладывать в него, т.к. Symbian они уже к 2015 году планирую прекратить использовать, а сейчас использовать Qt для разработки под симбиан - ... лучше промолчу.
Вопрос. Зачем им развивать фреймворк, который им не нужен?

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

>Коммерческие лицензии сейчас никому не нужны, т.к. есть LGPL вариант

Да, про LGPL я как-то забыл.

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

2. После покупки нокией, у Trolltech нет возможности выпускать Qt под коммерческой лицензией.

как нет, если они выпускают? при этом, я думаю, они зарабатывают.

Очередной вин Microsoft, убили в зародыше фреймворк

Не убили, а присвоили. Врядли они планируют (если могут) избавиться от него совсем (в смысле - ликвидировать, в крайнем случае кдешники его поддержат)

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

>>2. После покупки нокией, у Trolltech нет возможности выпускать Qt под коммерческой лицензией.

как нет, если они выпускают? при этом, я думаю, они зарабатывают.

Может быть я что-то не до конца понимаю, но права на выпуск Qt под коммерческой лицензией теперь принадлежат Nokia. Или Digia. Но уж точно не Trolltech. Или я ошибаюсь?

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

>в крайнем случае кдешники его поддержат
Насколько хорошо это будет работать - большой вопрос. К тому же они действительно не хотят его бросать просто так, сначала они замедлят его развитие и навставляют туда кучу ненужных фич, выпилив нужные. Во всяком случае именно такое ощущение складывается после чтения рассылки по Qt5.

trex6 ★★★★★
() автор топика

Да хватит уже этих догадок! Будет как будет!

zibert ★★★
()

Бред. Никто не мешает в новых версиях отказаться от LGPL, вернуть права на поддержку себе и положить болт на комунити.

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

>отказаться от LGPL
Они могут только переведя все на GPL. После этого они не смогут вообще лицензию поменять, если я правильно представляю себе суть этих 2-х лицензий.

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

А то. C++ то ж совсем плох, координаты виджетов пересчитывать не умеет, а тут, бац, жабаксрипт машина и все в шоколаде.

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

А что нужно, что б положения виджетов высчитывать? Функциональщина какая-то? Жабаскрипт, кстати, то ещё гумно как язык.

Deleted
()

Если что - для KDEшников Qt сделана на условиях BSDL. Так что ничего печального.

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

Исключительные права теперь у Nokia, как я понимаю.

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

> Функциональщина какая-то?

Декларативность нужна. Программист описывает отношения, в которых должны состоять виджеты. А какие для обеспечения заданных отношений нужно произвести расчеты, и в какой последовательности их производить - это ответственность компилятора; исходные коды этим не должны загромождаться. С++ так не умеет.

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

Не занл. А где про это можно почитать поподробнее?

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

>это ответственность компилятора; исходные коды этим не должны загромождаться. С++ так не умеет.

странно. Я и на плюсах не писал кода для расположения виджетов, есть же layout'ы, все делал компилятор. Чем хуже?

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

>С++ так не умеет.

А что мешает ему это уметь? Шаблоны можно заставить генерировать абсолютно любой код.

//Это я не про ненужность QML, а так просто...

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

> Шаблоны можно заставить генерировать абсолютно любой код.

Да-да, брейнфак тоже тюринг-полный :D

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

>Декларативную гуйню давно уже принято вязать на html

ответственно заявляю: гуйня на хтмл на три четверти состоит из костылей и велосипедов с колесами различного эксцентриситета.

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

>Вообрази веб-страничку, написанную вместо xml на с++ с лейаутами.

плюсы на вебстраницах трудноприменимы, но Qt-шные .ui-файлы - просто рай по сравнению с гуйней на хтмл

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

> Почему QML не может быть с C++?

Потому что это будет уже не C++, а неведомый велосипед. В то время, как для JS есть неплохая спецификация.

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

> Гуйня на HTML это вообще маразм. Какая там декларация, если виджетов нет?

Там есть графические элементы: заголовки, блоки текста, таблицы, картинки, ссылки (читай кнопки). Интерфейс багзиллы или ЛОР-а — чем не gui? И всё это декларативным образом расположено на экране.

Manhunt ★★★★★
()

Да не волнуйся ты. Адекватной замены Qt на сегодняшний день нет, да и слишком много на него завязано, потому он продолжит развиваться, пускай и немного медленнее.

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

Ты когда-нибудь внутрь заглядывал? Такой декларативности врагу не пожелаешь. Костыль на костыле и костылём погоняет. И тучи виджетов просто нет. Одними кнопками сыт не будешь.

Deleted
()
Ответ на: комментарий от Manhunt
 Item {
     width: 300
     height: 300

     Rectangle {
         width: parent.width - 50
         height: 100
         color: "yellow"
     }
 }

Т.е. ви таки хотите сказать, что в C++ нельзя написать parent.width - 50?

Или ты думаешь декларативность это фича жабаскрипта? Что мешает parent.width - 50 быть C++ кодом?

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

> плюсы на вебстраницах трудноприменимы

Вот и к описанию расположения виджетов плюсы тоже применимы трудно. Если кто-то привык привык заниматься сексом на гамаке и в лыжах, это еще не значит, что нужно и дальше продолжать так делать.

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

Ты таки здесь сравниваешь ручное создание виджетов и C++ с декларативностью и жабаскриптом? Внезапная новость × 2 — декларативность и C++.

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

> Ты когда-нибудь внутрь заглядывал? Такой декларативности врагу не пожелаешь. Костыль на костыле и костылём погоняет.

А теперь представь эти же костыли, но помноженные на синтаксис типа

     QWidget *window = new QWidget;
     QPushButton *button1 = new QPushButton("One");
     QLineEdit *lineEdit1 = new QLineEdit();
     QPushButton *button2 = new QPushButton("Two");
     QLineEdit *lineEdit2 = new QLineEdit();
     QPushButton *button3 = new QPushButton("Three");
     QLineEdit *lineEdit3 = new QLineEdit();

     QFormLayout *layout = new QFormLayout;
     layout->addRow(button1, lineEdit1);
     layout->addRow(button2, lineEdit2);
     layout->addRow(button3, lineEdit3);

     window->setLayout(layout);
     window->show();

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

Ещё раз. Ты не то сравниваешь.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.