Qt Becomes LGPL
Aequo writes "Qt, the highly polished, well documented, modern GUI toolkit owned by Nokia, will be available under the LGPL starting with version 4.5! It was previously only mainly available under the GPL and a commercial license. Selling licenses was an important part of Qt under Trolltech as it was the company's main source of income, but Trolltech is a fruit-fly compared to Nokia, who want to encourage and stimulate the use of Qt Everywhere [PDF]. This is fantastic news for all commercial developers looking to create cross-platform applications without the need to buy a $4950 multi-platform license per developer."
Let's hope Motorola sign up. Their UI is consistently inconsistent and awful
Watch those corners
Seriously though- Reasons to write applications for the gnome desktop environment are getting fewer every day. When QT4 became available under the GPL on all 4 major platforms- Windows/BSD/Linux/OSX the argument for GTK was weak. Now, I'd argue its virtually non-existent.
FYI: This article needs more acronyms. STAT. ASAP.
I will shred my adversaries. Pull their eyes out just enough to turn them towards their mewing, mutilated faces. Illyria
Ars Technica has a good report on this development: http://arstechnica.com/news.ars/post/20090114-nokia-qt-lgpl-switch-huge-win-for-cross-platform-development.html
...no reason for Gnome to exist anymore! ;)
One that hath name thou can not otter
Whilst being very good at code and generally geekery, Trolltech are total rubbish at the support game, leaving paying developers (i.e. me a few years ago) feeling massively shafted when being told "here's the code, fix it yourself". WTF am I paying for If I have to not only find your bugs, but fix them as well?
Now everything is back as it should be - free code and no support, the way God intended.
It's great news for everyone, except for Trolltech. Good luck paying the bills, or hiring new developers, when your revenue stream goes away.
Well, thank heavens for that. Hopefully now the horrible, oldfashioned looking, bad file-selecting-dialogs GTK will slowly disappear. The number of times I've had to select something in /usr/bin, and have started to type /usr/bin only to have it try and go to /usr/sr or some nastiness.
Get your own free personal location tracker
It's not every day that a cross-platform GUI framework suddenly turns into (becomes) a licence...
The only complaint I've seen before about Qt is that it's too expensive for proprietary apps, and that's not an issue anymore. I won't be surprised to see a large uptick in Qt usage now, and that's a big plus for cross platform apps, as Qt is quite portable.
Game! - Where the stick is mightier than the sword!
I use to be a KDE developer, and I have to say that I love QT/KDE platform (and still use it). But with that said, I find that OSS moves faster BECAUSE of friendly competition, not in spite of it.
I prefer the "u" in honour as it seems to be missing these days.
Over the years I have said many times that TrollTech should have lowered their prices considering things like the Apple Developer's kit and MSDN are significantly cheaper for more functionality.
I have been in need of a good GUI toolkit for years. I have used just about all of them but for my own projects I either use the native toolkit of the OS I'm working on or FLTK for cross-platform stuff. Qt is much more functional than FLTK though with all their SQL and other utility classes. This is really cool. I bet Qt is now going to become the defacto GUI toolkit for everything.
I wonder how long until someone makes a Qt version of GNOME (ha, I can't imagine how much work that would take). You could start with making a Qt version of The GIMP.
Comment removed based on user account deletion
Did Netcraft confirm it? Or is it MS that is trying to do that?
I prefer the "u" in honour as it seems to be missing these days.
n/t
Perhaps now we can finally get enough momentum to end this Gnome\KDE battle and get KDE to win so we can settle on ONE desktop environment so we can get back to writing 40 different window managers.
QT + KDE = 1 Desktop Standard Linux (hell even Windows) folk can get behind.
Gnome + KDE = Goblin Desktop (You can thank me for coming up with that name
Merge the teams, move forward with KDE and lets get Linux on the desktop in earnest.
-=[ Who Is John Galt? ]=-
Could someone summarise the difference between the LGPL and the GPL? Thanks.
Excellent news!
And a sensible move - the best way for any technology to become a standard (defacto or otherwise) is for it to be freely available and demonstrably good.
Now this is both we can predict swift adoption of it. Some firms may view Linux as a hobby, but even that is changing - my new job I started last week has two Ubuntu PCs in this very room I am typing from.
Open source desktops fail really hard from a strategic point of view because of the split between GTK and Qt. They store l10n and i18n settings in separate places, they look different, the dialogs have different configurations, etc. It creates a desktop that feels less unified, more like a bunch of random applications than a single system.
Of course, porting GNOME would take so long that people would forget that GNOME even exists. The unfortunate reality is that this split will only be resolved when either GNOME and all of the associated GTK applications die, or KDE and its associated applications die (unfortunately, that would mean a loss of K3B, one of the applications that made open source desktops usable for non-technical users).
Palm trees and 8
I love to see when a company understands that giving something away they will get ten times more in return. And nowadays that happens too rarely.
For a while it seemed that Nokia is about to lose to its competitors, because of Symbian and bad software. This will totally remedy it. I've also heard from Nokia insiders that they're actively dumping everything related to Symbian. It won't take more than couple of years and all their phones use Qt.
Seeing how well Apple has been selling iPhone applications, I can only imagine the potential Qt phones have in future. With Symbian that just wasn't possible, it was a total nightmare for the developers.
I actually like GTK Windows apps better than native ones! Smaller dialogs are usually resizable, which is something Windows (at least XP and earlier) does horribly wrong. Options dialogs also often don't disable the main window, another thing Windows sucks at.
Hopefully QT will bring more windowing goodness to Windows (if it hasn't already).
A couple years ago, we were discussing using Qt for our desktop applications (at a well known scientific software house) as we needed a cross-platform framework and I have a couple years experience writing cross-platform (Mac+Windows) applications in Qt. We didn't, but it was a viable option, perhaps one we should have taken.
However, the company has a strict policy of no LGPL or GPL software. Nothing more restrictive than BSD or Apache when it comes to using free software. So, any talk of using Qt would have been a non-starter.
I mean, the need for GUI toolkits that are portable was a void that Qt was early to fill, but now, there's a lot of choices out there, and I think those choices might have undermined Trolltech's business post Nokia purchase. Like, 5k was a good thing to pay when there were no portable frameworks, but, there are plenty of them out there.
First off, there's Java. As the old saying goes, if you want an application framework that does everything, maybe C++ isn't your language. Java is portable, has several very good IDEs for it, from NetBeans 6.5 is nice and I think JBuilder is actually good as well.
For C++, wxWidgets is actually pretty impressive and it increasingly has GUI designers that you can use. Then, there is the C++ GTK toolkit, which is out there. And then, there's any other number of frameworks that are a bit less tried and true. And, honestly, C++0x is going to have so many changes to it, that, you almost have to wonder how much a good legacy C++ codebase is actually worth. Qt was born in an era when even templates didn't work right, and now, C++ is fairly mature, C++0x builds on that, and, you almost have to wonder, if the U/I toolkits don't need to be rethought in terms of modern things like STL under C++0x, new closure features coming, and so forth.
This is my sig.
I wonder what will happen to PyQt? They have traditionally offered the same licensing as Trolltech, but at a much cheaper rate. I'm curious to know what Qt's change to the LGPL will mean to them.
.there is enough of everything for everyone.
I considered QT when I was looking for a good GUI for an open source project I was considering, but ended up rejecting it on licensing agreements. It has actually gotten better licensing twice since then, and now I would actually choose it.
That project, sadly, never happened because I never found a GUI toolkit I thought would do what I needed. How many other projects were similarly stalled like this?
This is indeed good news.
"If you make people think they're thinking, they'll love you; But if you really make them think, they'll hate you." - DM
At last! Qt has gone LGPL! The final obstacle to our creating a front-end for MySQL has been removed!
What on earth are you talking about?
"Wise men talk because they have something to say; fools, because they have to say something" - Plato
One year after Nokia bought Trolltech, they've released Qt as LGPL. This positions Qt and KDE in an excellent position for cross-platform application development for FOSS *and* commercial projects. KDE libraries were already licensed under LGPL. This means the entire stack is now LGPL.
In the mean-time, Qt Creator, an IDE for developing Qt applications, has been announced. This will be all you need to write cross-platform applications with Qt.
Qt Jambi (java bindings for Qt) will also available under LGPL. Qyoto (mono bindings) and the other bindings (Perl, Python, Ruby) will be able to make releases under LGPL now.
These are exciting times!
DNA is the ultimate spaghetti code.
I don't either, but he might take a look at kexi http://www.kexi-project.org/...
Think about Xfree. it was basically a closed monopoly. Then X11 grabbed it and opened it up further. Has it improved things? Absolutely. Basically, we NEED competition. GNOME is good competition, vs. say MS's form of competition (involving lots of dirty tricks and legal maneuvers).
I prefer the "u" in honour as it seems to be missing these days.
If they do what this article suggests they will, this is a big step towards better code and community involvement. Go Qt, go!
df -h
With this development, I hope Firefox and Adobe developers will jump on board...fast. I would also like to see the folks at OpenOffice.org on board the QT bandwagon as well. The interfaces I see on Openoffice and Adobe's PDF reader would look better with QT in my opinion.
This also means serious damage to RIA aproach too. Without QT, it was very difficult to create cross-platform apps (running on OSX, Linux and Windows).
Java was an option, but too few people used it for small apps like shareware utilities.
RIA was an option, but their are immature and do not allow to implement a lot of things.
Gtk was another ugly option.
Also running web server locally (e.g. with web server for CD and USB drives ) was elegant option for some cases when UI is rendered by web browser and backend is implemented using server-side programming language like php or python running locally.
Now it seems a lot of shareware authors will start using QT even for developing Windows-only apps. This means a lot of new apps that are stable and cheaper to develop will enter the market soon. Hopefully most of those apps will probably be ported to OSX (and even Linux) by their authors afterwards.
ARGH.
I have spent the last few days migrating from QMake to CMake and adding a WxWidgets GUI to my project.
ARGH!
The CMake stuff is useful (qmake needs some test scripting a la autoconf) because i can use it for library discovery, but the Wx GUI is now pointless.
ARGH!
ICS, Qt Software's largest consulting partner, has a whitepaper on their web site at http://www.ics.com/ that talks about the implications of Qt being available under the LGPL. This helps make sense of what it will mean to developers.
screwed up my kernel
How did KDE screwed up your kernel?
While competition is generally a good thing I think the fight between Gnome and KDE has seriously hampered the adoption of Linux on the desktop (even if there hadn't been a fight I don't think we would see widespread Linux use on the Desktop but it would be greater than it is). The problem was that they were both good, for different reasons, and both had a good developer base the end result of which was a battle neither side could really win and we all lost from.
While I would hate to see Gnome consigned to the dustbin I think it's about time they gave up and admitted that KDE has won (flame away). I admit that KDE isn't perfect, far from it, but KDE4+ is streets ahead of Gnome now and the big hurdle to widespread use by companies has now vanished.
I used to have a better sig but it broke.
Have you tried anything more recent than 4.0? Things have improved A LOT since then. Hell, we are almost at 4.2 already, 4.1 is nearly just as featureful as the 3.5.x line ever was.
Also, I really cannot see any way that KDE could ever "screw up your kernel". Firstly, your kernel image should never be writable to anyone but root (and if you are running KDE as root we need to have a talk...). Secondly, even if the kernel image was writable, KDE shouldn't touch it unless you explicitly tell it to do something. My guess is your system was already messed up to begin with.
"linux is just DOS with a UNIX like syntax" -- Galactic Dominator (944134)
Such as HeidiSQL. It's a pretty good GPL graphical front end for MySQL written in Delphi. It's got a couple of bugs, but nothing show stopping that I've come across.
Try comparing KDE 3.5 to KDE 4.2... no, seriously, if you liked KDE, give it another try. KDE has come a long way from 4.0 to 4.2. Many things are much more polished and the whole experience is now very nice (obviously, YMMV). The only thing I am still missing is the printing infrastructure of KDE 3.5.
I have a hunch Nokia is looking at XCode and Apple instead. After all, the main battle for them is in the mobile market, and Apple made a big deal about the iPhone being based on OS X. So this is a bid to win over the talented developers.
QT is available on more platforms, true, and it always has been. Still, XCode was free for anyone with a Mac, and the developer kits for the iPhone only required that you own a Mac and that you registered as a developer.
1991-2008 "on teh desktop".
Linux. Failing for 17 years. Windows XPSEVEN2000VISTANTSP9001 Millenium Edition for the win.
Go on mod me down bury brigade. -1, butthurt (google takeittux.jpg).
With this, Nokia has removed a major problem for KDE, Qt, and the open source community. The decision by the KDE developers to adopt Qt under its original license was stupid and has done a lot of damage to desktop Linux. Thanks to Nokia for finally solving this problem.
However, not all is well. Personally, I don't like either KDE or Qt particularly from a technical point of view. Qt programming in C++ is a lot nicer than Gnome programming in C. But Gnome bindings to Python and C# are excellent and have good tools support, and that's probably what matters more these days. And if you are silly enough to want to do GUI programming in C++, you can use Gtkmm.
All things considered, I'll stick with Gnome anyway.
I'm curious how KDE screwed up your kernel.
BTW, what distro are you running, and what version of KDE 4.x did you run?
I've long been seen as a critic of the KDE 4.x branch, but there has been some massive progress moving towards 4.2, which comes out this month.
I highly recommend the openSUSE packages specifically.
Some distros had no clue how to build and package KDE 4 properly.
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
Great news, perhaps this means we get to see SWT integration with Qt/KDE?
We should help Nokia buy other companies like Adobe, Microsoft and Apple too.
Do they accept donations?
"4.1 is nearly just as featureful as the 3.5.x line ever was."
It is? Funny, I am using it right now, and really, it is not. ArK4 is not even close to ArK3, Konqueror4 is nowhere near Konqueror3 (unless you count functionality that doesn't even work), there is no global configuration for adding SSL certificates and the only configuration that has anything to do with that is broken and hidden in Konqueror, and half the KParts components that were embeddable in KDE3 are either nonexistent or not embeddable in KDE4.
Don't get me wrong, I like KDE a lot, I think it beats GNOME in terms of usefulness. But KDE 4.1 has a LONG way to go before catching up with the 3.5 branch.
Palm trees and 8
The article at ars states:
"The commercial licenses will still be available, however, for developers who don't wish to be constrained by the terms of the LGPL."
So, for the uninitiated, how does the LGPL contrain someone? I thought the GPL was responsible for contraint?
Over my dead body. I can't stand KDE 4.0.
Can you send us your address?
I wonder if you ever had to develop new widgets based on GTK ... This post should get developers quite excited.
Well its about damn time! It is my opinion that the reason why the Sharp Zaurus (specifically SL-5500 and onward) never had much of a following is because in order to do GUI applications on the platform you either write GPL software or you must buy a QT license from TrollTech. So, I couldn't legally write a freeware app that wasn't GPL/open sourced without a QT license even though I wasn't doing anything commercial with QT. You might ask then why didn't you use a different GUI toolkit on the Zaurus? Well because there was no such thing as an alternative cause all Linux distributions for the Zaurus used QT (Qtopia) for the GUI, all of them. Even the X server running on the Zaurus was GPL'd and written by TrollTech that had no exceptions clause.
Ever since I looked up all the license material and realized what was going on I have hated TrollTech ever since for being so damn monopolistic on the Zaurus PDAs. Either you do GPL software or you pay a license, there is no option three basically.
Now that TrollTech has been bought by Nokia and for seeing the light of day we can now add QT to the list of WxWidgets and GTK+ of GUI toolkits that are acceptable to be used by any licensed software. And hopefully we can now finally end the license bullshit TrollTech caused on mobile platforms.
This space is not for rent.
In other news Windows 7 is going to be based on Qt4 as well.
It's great that Qt becomes LGPL, but it doesn't mean that we should stop developing GNOME and GTK...
Seriously there's lots of business that depends on GNOME and/or GTK, and lots of reasons to keep them alive...
Competition among desktop environments is good and having two large desktop environments if probably a good idea... As it drives competition and innovation.
I guess that's cool.
But I have to admit. I'm not a big fan of Qt. I kind of see it as an oversized, bloated library. I suppose someone could probably argue reasons for every class and functionality that's present in the library, but some of the things in Qt I look at and get turned off. When there's good cross-platform libraries present for things, I don't really get the reasoning behind rewriting those things.
I know most people look at Qt as a GUI library, but I look over everything, and it's so much more than that. And yet, a lot of those other pieces, I've spent a lot of my programming experience learning things that are just as good and at times, in my personal opinion, better than what Qt offers for the same. Even pieces of the C++ standard that I'm sure Qt added on extra functionality in their equivalent, but it gets really hard for me to reason not using the standard libraries that are nearly (nearly because it does depend on what the implementation of the standard libraries on the system supports--not a problem if each platform goes for compliance with the standard, which I believe most go at least pretty damn close) guaranteed to work anywhere the standard libraries are present.
Just for example, I read they now have a whole parallel/multi-threading library going. But I sit here and ask myself with that over and over, what's wrong with boost::thread (which is going to be included in the C++0x standard anyway)? Even more, there's OpenMP for even further niceness. And having plenty of experience to the point that boost::thread comes naturally to me and OpenMP is getting more and more natural, why the hell would I want to go through learning a whole new set of libraries to do the same thing? But at the same time, why would I want to link against 2-3 libraries that do the same thing?
I guess someone could also argue the niceness of having it all in one place, as well. But I find multiple libraries each focused on their specific task much easier to sift through for documentation and examples than the crap of a library that tries to be everything. The flip-side being when you use one thing and another library you want to use uses something different (which I don't run into often enough for it to be a serious problem, honestly).
I wrote a library in C++ that any time I find something (other than GUI, as that's a whole mess of it's own in my opinion) that is difficult to implement for cross-platform purposes due to the different platforms, I write a little class which I can just take out and put in any of my apps. Of course, it also has a few other things like a couple classes such as a multiple-read, single-write access interface (using boost::mutex, the const volatile keywords, and some const_cast action), but it has maybe 4 other things, which mostly compose of other cross-platform libraries that left just a few capabilities I ended up needing out (like Sleep, though I can't say I'm aware of a good Windows equivalent to nanosleep yet, and it kinda makes my code on Windows not as nice when I'm sleeping in milliseconds but meaning to sleep in microseconds or nanoseconds, meaning dividing by 1000 or 1000000).
That's one thing I do like about GTK, though I am annoyed by so many other pieces of it. At least, a lot of what is implemented in GTK and glib isn't really there a million times over already. Partly just because they're using C, which doesn't have some of the nice stuff in the standard already, and doesn't have Boost ;). But I don't feel like I'm having to justify to myself either learning a whole new thing I've already learned multiple other alternatives to or linking to a whole 'nother library to do something that's already present in another library I'm linking against.
That's my only gripe about "Hopefully we can get rid of GTK now!" Otherwise, I'm actually happy about this. I do like the GPL, but for libraries and such things, I always felt the LGPL was the better choice (in some cases, I even prefer BSD or MIT type licenses over that, but whatever). So, despite my gripes about Qt, I view this as a good thing.
Moreover, now that QT has gone LPGL maybe we will at last have white chocolate Ferrero versions!
Ubuntu is an African word meaning 'I can't configure Debian'
More interestingly, a company in this day and age of name-sensitivity actually called themselves Trolltech. Maybe they were trying to be ironic. You know, like ray-eee-ain on your wedding day.
Help fight poverty: Punch a poor person.
It caught Mono through an ill-considered tryst with Miguel ;)
For every problem, there is at least one solution that is simple, neat, and wrong.
fight between Gnome and KDE
Why is it a fight, or a battle? Both projects benefit from a great deal of volunteer labor, and they're not doing it primarily to beat someone else. Others use Gnome and KDE for commercial purposes but they, too, don't come at this from a zero-sum "fight" or "battle" perspective. Companies building stuff for gtk+ or Qt (or for GNOME or KDE) are doing it so that they can release useful applications, not so that they can beat the other GUI toolkit.
GNOME and KDE both existed because they both served different purposes. Just because people have different objectives doesn't make them people who "fight" or are in a "battle." If the two desktops still need to exist, then they will; if not, they will merge or one will fold, or one (or both) will change and adapt. Any change will be to the betterment of all, not because someone "fought" and "won".
Free software is about cooperation and practicality, and I just don't think this "fight" language that people like to employ when discussing free software really fits.
Penny - plain text accounting
I think once a GPLed application has become well development and stable, it's good that it lowers its restrictions. Perhaps free software developers should eventually feel free obliged to release the software under the LGPL or some other weaker copyleft license. In the early stages of a project, a need for contributions from the community and corporations is strong, but as the project develops that need diminishes. As this need diminishes, perhaps it is fair that in return the project reduces its restrictions.
I wonder if you ever had to develop new widgets based on GTK ... This post should get developers quite excited.
You know, I forgot all about that. I looked at building a grid control for GTK and it was, well just aweful. Even Windows SDK was easier to make widgets for and GTK managed to screw that up completely.
Wow, I'm totally wrong. Thank you for reminding me of that.
This is my sig.
Screwed up kernel... BTW, what distro are you running, and what version of KDE 4.x did you run?
I am running Ubuntu Hardy Heron with nVidia drivers. The problem was the KDE, and I think it was 4.0, went and updated my kernel. This in turn hosed my nVidia drivers for some god aweful reason and brought down my whole desktop.
I used to use OpenSuse before Ubuntu and that was where I really liked KDE the best. It was nice because under OpenSuse you could switch between KDE and Gnome quite effortlessly and this has never really worked under Ubuntu. However, there's a lot that I do like about Ubuntu, in particular, the whole package management system is out of this world good compared to OpenSUSE when I used it, and honestly, I think Gnome desktop just looks a lot more polished even though KDE has a lot of features to it.
This is my sig.
Nokia never insisted anything of the sort.
While they may have opposed the HTML 5 standard, their opposition is based upon their relationship with Webkit (recall that Nokia is one of the big players backing Webkit ... in addition to the fact that Qt now bundles a derivative of it).
When Nokia purchased Trolltech, they promised not to change much. That's the opposite of what you just claimed. Those of us heavily entrenched in the Qt world knew that there was likely to be a shift in priorities ... the profitability of Trolltech was measured in digits that were not significant to a massive company like Nokia.
They bought Trolltech for the IP rights on the phone operating system Qtopia (now Qt Extended) because it enabled them to get back into the smartphone game (which they've been losing to Apple, RIM, and soon Google). The purchase was not for direct Qt profitability.
Disclaimer: I work for the biggest Qt shop in North America, www.ics.com (and we're already under heavy load, so that link is cached).
Use my userscript to add story images to Slashdot. There's no going back.
Don't feel so bad, I just paid $1100 to renew my Qt commercial license :) That's ok though, it was worth it before, and they deserve the money for the kick ass product.
http://en.wikipedia.org/wiki/HTML_5#Ogg_controversy
I realize that Nokia bought Trolltech for Qtopia. Nokia is now trying to push a mobile GTK platform while owning the Qt platform. I did think it was a really smart move to give Nokia n810 tablets to KDE devs. Then the KDE devs worked on getting KDE 4 to work on the n810. Nokia could easily ship a full KDE 4 based desktop on future smart phones and tablets.
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
The Ubuntu devs screwed up their KDE 4 packages in a bad way. That isn't KDE's fault.
Furthermore, KDE doesn't depend on video drivers. If the Ubuntu devs made a certain Nvidia driver a dependency, then they screwed up big time. KDE does not change your kernel or video driver in any way.
I'm not calling you a liar or saying you didn't have problems. I'm sure your box got hosed somehow, but it is more likely the problem was with Ubuntu's packaging.
It should also be noted that the QT 4/Nvidia problems have largely been remedies. Qt 4 used Xrender heavily, and Nvidia's driver had a piss-poor Xrender implementation. The forthcoming Qt 4.5 is supposed to move away from using Xrender all over the place, and the latest Nvidia driver has much better Xrender support to boot. openSUSE even provides a repo with weekly snapshots of the KDE 4.2 branch compiled against the weekly snapshots of Qt 4.5. In theory it is unstable, but I've had good luck with it so far.
I know I'll get modded Troll for this, but I don't care. Ubuntu has got some serious problems, and is very overrated. openSUSE puts out quality KDE 3, KDE 4 and Gnome desktops. They support all 3 currently (though KDE 3 is being dropped in the future).
Novell hires a large staff of developers that make quality packages, fix upstream bugs, backport features, etc. As much as I hated Novell for the MS deal, Novell is one of the best contributors to several upstream projects, and openSUSE is a fantastic distro.
I can't recommend it enough.
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
I don't think you should be modded troll at all. I think you've made a well thought out recommendation based on some good working knowlege of the issues at hand, and I'll give old OpenSUSE a try again down the road.
This is my sig.
and then ONLY because the XFree86 group didn't want to respond to opening the process up.
So you had the XFree86 developers working on XFree86 vs Anyone who could get it working on X.org.
And the choice of which was better was only available when X.org was in competition. XFree86 ignored what the market was telling them and so died.
Not competition's fault, the fault of not listening to what the market is telling you via competition.
A bit OT, but since we're talking about QT, I'd like to put in a request for multi-touch support. This will obviously be necessary for phone apps, but also for tablets.
Does this mean LGPL opens up availability (as in free) of these components as well?
"If you have no enemies, you have no character" -- Paul Newman
Does this mean SWT/Qt can be released?
http://dot.kde.org/1078257737/1078263532/
Go green: turn off your refrigerator.
Rich Internet Application platforms, like Adobe Flex, are making it easier to get rid of client-side GUI libraries entirely.
Have a browser? Most apps can be done in AJAX, the remaining apps can be done in Flex. Why use GTK or QT?
A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
Can somebody tell me how this can compete with free Visual C# express editions that allow developers to develop great desktop applications in C# and WPF (XAML)? Also why would one be so masochistic as to torture themselves with C++/QT and cross-platformity when they can go with .NET 3.0 and do a much better job faster and with better tool support? If cross-platformity was such a big deal, Swing should have shot to prominence 5 years ago.
I'm a typical middle adopter used to wintel; i recnetly put ubuntu via wubi on my laptop.
Sure it worked - but so what
I don't care about the stallmann stuff; viruses are not a big deal, so
*why would i care about ubuntu ?*
to repeat basic 101 of computer biz yet again:
people adopt new software cause it does something
so far as i can see linux doesn't do anything i care about, and yelling at me that i should care about open source or virus or whatever is counter productive
when there is a linux app that does osmething tht windows can't linux will conquer the desktop with ease
(PS that app ain't open office and it ain't the gimp)
Fortunately Vala makes this very easy to do. Defining a new widget is just a matter of creating a class and inheriting from some other widget and then adding in your code in a nice, C#-style syntax. And it compiles down to C code so the resulting gobject class can be used by normal C programs and libraries, and easily be wrapped in a language binding. I hope that in the near future most if not all GTK and Gnome programming, particularly when it comes to the GUI and defining widgets, will be done in Vala. Vala isn't really a new language per se. It's nice syntactic sugar that allows things to stay in C where they belong so they can be interfaced with and bound by programs in *any* language. Going forward, it's possible to develop GTK in Vala, all without ruining the purity of having a good C library that anyone can access.
Really Vala is proof that the GTK devs, when they defined the gobject model in pure C, where very forward-thinking. This isn't the kind of thing that could be easily done had GTK been based in C++. C++-based libraries are hell to work with, especially on Windows.
So very soon (within the year), I believe people will be comparing Vala-based GTK code with Qt in terms of ease of use, the API cleanliness, etc. Any arguments about the clumsiness of using C (and it is clumsy to define a new gobject class in C!) and GTK will be put to rest.
...a disturbance in the FOSS, as if milloins of voices cried out in terror and then were LGPL'd...
That, that really grinds my gears!
Your analogy doesn't seem to fit reality.
Or did you just manage to totally obscure your meaning by being cute?
> You'd be the first I've seen. Kopete is terrible.
How would you know?
You should put a bit more effort into making your trolling consistent, no?
I'll stick with ANSI C++ thank you very much.
I am very small, utmostly microscopic.
Why? If a project is using the GPL, that is presumably because it doesn't want to be included in a proprietary or otherwise GPL-incompatible application. Why would that change according to the project maturity?
Fact is, KDE 4, even 4.2, still has some horrendous UI issues that the developers just dismiss. I switched from GNOME to KDE to avoid Mono/.NET, but with KDE 4 I feel like they're heading even further in the wrong direction as far as UI design is concerned. KDE 3 had too many settings but behaved more or less as you'd expect from other UIs; KDE 4 has hardly any settings and behaves in weird and freaky ways unlike any other desktop environment.
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
People write applications for Gnome because of usability. Not because of toolkits.
It should also be noted that the QT 4/Nvidia problems have largely been remedies. Qt 4 used Xrender heavily, and Nvidia's driver had a piss-poor Xrender implementation. The forthcoming Qt 4.5 is supposed to move away from using Xrender all over the place, and the latest Nvidia driver has much better Xrender support to boot. openSUSE even provides a repo with weekly snapshots of the KDE 4.2 branch compiled against the weekly snapshots of Qt 4.5. In theory it is unstable, but I've had good luck with it so far.
I'll second this. I recently switched from an nvidia card (using nvidia's drivers) to a radeon (using the fglrx drivers). Certain things that were unusably slow with nvidia (such as scrolling folder views on the desktop) became snappy using the radeon!
Lots of people fail to understand that, but competition doesn't happen between products, it happens between people (or companies). Since everybody can change it anyway they want, Free Software doesn't need alternatives to maintain competition, only one product is enough. Everybody then can fork it if they want.
Rethinking email
I hope this invigorates more widespread use from both open source organizations as well as commercial organizations.
The LGPL license is the next best thing to BSD license. I mean, is the best of both worlds. Qt remains open, yet you can still write closed sourced applications.
On any modern system, the only real difference between a process and a thread is that threads share memory. Threads can be marginally faster because of this, but usually not enough to matter. (Yes, if you abuse the implicit memory sharing you'll end up with lots of heisenbugs, but that'll also happen if you abuse shared memory, mmaps, etc. in an n-process model. In either case there's no substitute for properly designed communication channels.)
You might argue that processes are theoretically more crash-safe since either can monitor the other, but that's only if you use low-level languages which allow you to crash a process (C and C++ come to mind) -- Erlang, for example, doesn't suffer from this. The only area where I've actually ever seen this crash-resistance exploited is in networked applications (mail daemon) and high-availability apps where I have a little commercial experience.
HAND.
KDE 4.1 was also lacking severely in comparison with 3.5. I'm running 4.1.96 aka 4.2rc1 and it looks far more complete though I must admit that I don't really run all that many KDE applications regularly.
HAND.
"You can either have software quality or you can have pointer arithmetic, but you cannot have both at the same time."
That made me laugh.
I don't like C++, I don't like Win32's API, so I picked up GTK up a while back. Its crazy easy to
use, and I know the code isn't as bulky/slow as its
C++ cousins. A nice look is achieved through GTK skins.
Maybe they were trying to be ironic. You know, like ray-eee-ain on your wedding day.
its like meeting the toolkit of your dreams, then meeting its beautiful kdesktop.
Now, that's ironic!
Interesting point.
Nokia DOES presume to tell you what you can do with your LGPL code. Read this quote:
"Can I switch from using Qt under the LGPL to commercial afterwards?
"Users of the LGPL versions of Qt need to comply with the LGPL licensing terms and conditions. Qt's commercial license agreement contains a restriction that prohibits customers from initially beginning development with the LGPL licensed version of Qt and then transitioning to a commercial version of Qt."
Wow! How do they know how you "initially" began development?
It seems as though some lawyer or marketing guy with no technical understanding got involved.
How does this affect the open source cross-platform GUI toolkit WxWidgets?
This all boils down to Nokia having to compete with the other key smartphone SDKs basically being free and popular. If lots of people learn to love QT for the various computer OSs then they will then have the skills ready for Nokia development. But corporate development just doesn't sit well with GPL so the LGPL is the only real option. If anything this might be a huge win. The iPhone makes you use at least some Objective C and Android gets all Java on your ass. But for really cool killer apps you might want to use C++ to do something really cool on the tiny processors found in most handsets. What would be really cool and daring for Nokia would be to make QT for iPhone. Then people might port their apps to both iPhone and Nokia.
Umm... what does it abbreviate?
"Statistical Analysis!"
Admittedly, it's sort of a knee-jerk reaction to be suggesting statistical analysis as the solution to every problem - particularly when it's not even assured that the currently-available sample size will be adequate to provide useful data - but it is nevertheless a popular reaction.
Bow-ties are cool.
Yes, it annoys me that Kubuntu isn't as well supported as Ubuntu. But I wouldn't move back to Suse either. Suse was great in the 9.x releases, but I abandoned it for Kubuntu after they switched package managers from YOU to SMART in 10.0 -- steaming pile of dung. I blame the downfall of Suse as a good KDE distro on their hiring of that Gnome guy... I think his name was Miguel.
Here: https://rubyforge.org/frs/?group_id=181&release_id=23283
No need to stick with C++ and Java, the QT bindings for Ruby work like a charm.
{{.sig}}
Yes, because ANSI C++ is such an awesome graphical toolkit.
First off, openSUSE uses Zypper for package management, but you can optionally use Smart if you want.
Package management was greatly improved in 11.0 and 11.1.
Secondly, Miguel Icaza is not a guy I agree with on any level, but hiring him to work on Mono and Gnome has nothing to do with the quality of KDE packages as he has nothing to do with them.
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
Yeah, which would be great if everybody liked KDE. Which clearly isn't the case, since a whole lot of people still use GNOME.
Personally, I can't think of anything that would get me to use KDE.
I want to start by saying that I have no interest in bashing one package or the other...
But I have to say that I have always preferred KDE. Getting Debian packages has been an issue sometimes (due to licensing, or just Debian not keeping up with releases) but it's always just seemed like it's had its act together much better than GNOME. It's got a pretty good selection of applications, too. GNOME doesn't seem to have kept up with application development - I guess probably it's just assumed everyone uses OpenOffice these days...
Bow-ties are cool.
How does Qt compare with Java Swing? If you're using Java anyway what are the advantages of using one versus the other?
which is why we didn't stop at 4.0 or 4.1. 4.2 brings ark back to usefulness, SSL cert config is there, etc.. i'm pretty sure i've even told you this previously on a different web board. *raises eyebrows* so let's not beat dead horses. =)
of course, we're not stopping with 4.2 either. stopping isn't in our plan at all, in fact. just better and better releases ...
"There have been too many times I where I couldn't find a good Gnome/GTK+ based app but found it with a KDE based app. However, that one app pulls in a lot of KDE based bloat that I don't want/need."
OTOH, as a KDE user I would rephrase that as - There have some times I where I couldn't find a good KDE based app but found it with a Gnome/GTK+ based app. However, that one app pulls in a lot of Gnome/GTK+ based bloat that I don't want/need. ;)
You collaborationist you!
"Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
afaik, in Norway trolls are traditionally lucky creatures that live in the forests. so culturally it makes more sense. ;)
Forgive my lack of knowledge, but why does your company say no to LGPL? What restrictions does it place on you that you're not willing to work with?
Also, stuff like QString are actually better than C++ stdlib equivalents - providing reference counting, copy-on-write and unicode support.
std::string was certainly designed to support reference counting and copy on write. It is true that the G++ and Windows versions do not do this, but I believe they ran timing tests and determined that it was slower. Reference counting on modern machines dirties the memory that the source string was in, which can cause considerable slowness on modern multiprocessors as it requires a sync between all the processor caches.
More importantly std::string supports Unicode just fine, due to UTF-8. If you don't believe me then you have not tried programming with true UTF-8 without any api's that require conversion.
In fact QString and all the other UTF-16 things are a huge hindrance to Unicode, because of the simple fact that you cannot easily put a UTF-8 string (such as is stored in every file and Internet api used everywhere) into one, because it will be lossy (which can lead to security bugs) or throw an exception (which leads to DOS bugs) if there are invalid encodings in there. Storage as bytes allows the invalid encodings to be preserved and deferred until the last moment, when it is much easier to manage errors.
UTF-16 makes most programmers give up and pretty much resort to only supporting ISO-8859-1 (or worse, only ASCII) when reading bytes. Don't believe me? Just yesterday, a quite smart programmer where I work, in response to encountering an invalid UTF-8 string, "fixed" it by running every string through a filter that replaced every byte with the high bit set with "\xNN" (where NN is the byte in Hex). That was considered good enough, as English still printed. They do not give a damn about Unicode, and all those politically-correct idiots pushing UTF-16 need to learn that they are causing far more damage to Unicode than they are helping!
As an avid Ubuntu user, I can attest to that. The package manager is nice, the dist. is easy to use, but it's not very fault tolerant and there are some wigged out packages.
For instance, I can't uninstall Ubuntu's package for proprietary Nvidia drivers because it says it needs to remove the kernel to remove Nvidia(wtf indeed). Their fundamental policies regarding proprietary drivers is wonky, considering there are really not a lot of people against proprietary hardware drivers on linux.
The distribution has a lot going for it, but really needs some polish.
You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
Its good that its not free to use, and will spur short term projects that were held back due to licensing.
But is it good long term? Now that its not a money maker, where is the true incentive to keep development happening. Is there enough momentum in the OSS world to keep it alive?
i see it starting to stagnate then eventually get moldy.
---- Booth was a patriot ----
Actually it does. Even with desktop effects turned off, you can get flashies, dropouts and sluggishness if you don't have a good video driver (or correctly massaged xorg.conf settings). Much of this is actually Qt's fault, but should be fixed in Qt 4.5 with the new raster backend.
Don't blame me, I didn't vote for either of them!
KDE depends on X11, but there are no package dependencies for specific video drivers.
I just installed openSUSE 11.1 on an old, beat-up Dell notebook with a GeForce 440 with only 32 MB of RAM. It actually manages to run KDE 4 with Desktop Effects turned on.
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
The main reason I've avoided QT in the past is the licensing... I can understand releasing an application under GPL, but it's very obnoxious when it is used for a library.
Even among open source developers, not everyone wants to release under GPL. People like myself like apache, BSD, MIT, etc, but using a GPL library forces us in practice to release under GPL terms as well.
I'll stick with ISO C++! And since Qt uses 100% ISO Standard C++, I'll have no problems!
Don't blame me, I didn't vote for either of them!
Damned typos. i meant is NOW free to use..
Blah.
---- Booth was a patriot ----
Yes, it will build and install. That's not what I was talking about. Performance and rendering can suffer if the correct driver/config are not used.
Don't blame me, I didn't vote for either of them!
Qt 4 used Xrender heavily, and Nvidia's driver had a piss-poor Xrender implementation. The forthcoming Qt 4.5 is supposed to move away from using Xrender all over the place, and the latest Nvidia driver has much better Xrender support to boot. openSUSE even provides a repo with weekly snapshots of the KDE 4.2 branch compiled against the weekly snapshots of Qt 4.5.
Kubuntu does seem particularly bad with KDE4 compared with OpenSUSE as far as slickness of presentation goes, I'm using suppurating edge however.
But, Xrender is an option in the Kwin settings .. so I've always used OpenGL (think that was default). Can't see that would mean Xrender was used too?!?
It isn't fast, but it runs as well as XP did on that box.
Regardless, if you don't configure Xorg properly, you aren't going to get great performance in Xorg, period.
tjstork said that installing KDE 4 automatically changed his video driver and kernel. The KDE 4 packages don't depend on video driver packages. Installing KDE 4 should not alter the kernel, or install different Xorg packages.
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
Winners:
-- Software engineers.
-- KDE/Qt.
-- C++.
Losers:
-- GNOME (is dead).
-- Wackjob "Why you shouldn't use the Lesser (Library) GPL for your next library" Stallman & FSF.
-- Any other computer languages that are not C++.
It would be a VAST improvement if I could distribute RCP based applications with a single underlying UI toolkit. SWT is great, but whoever thinks their SWT based app will work cross platform without a LOT of tweaking, is insane ;).
"Malo periculosam, libertatem quam quietam servitutem." -- Jefferson
Really? I guess someone should tell that to trolltech as they refer to these and other constructs as "C++ extensions"
http://doc.trolltech.com/4.0/moc.html
Additionally, the list of what you can and cant do in a signal/slot block is quite extensive. Even MFC, abortion that it is, is not nearly so screwed up.
I especially like the quote, "Less importantly, the following constructs are illegal. All of them have alternatives which we think are usually better, so removing these limitations is not a high priority for us."
Translation: we are not up to the task of fixing our crap, so screw it.
Like I said, I'll stick with ANSI C++ and let you ankle biters muck about with the moc.
I am very small, utmostly microscopic.
Hell no? LGPL is a superior option for libraries, but for normal apps GPL is even necessary, unless of course you agree to proprietary forks and stupid things like that, but then I doubt people that chose GPL for their projects would like that.
Copyright infringement is "piracy" in the same way DRM is "consumer rape"
There are some ideas which ARE easier to code in GNOME and others easier in KDE. More importantly, ppl PREFER a different platform. I did GTK back in the mid 90's. Did not care for it. I am sure that it is different, but still. When I am coding in C, I want it at the OS. When doing an App, I prefer C++, Perl or Java. They are both taking different paths. Yeah, they have to come together on core things, but still, that is a different matter.
I prefer the "u" in honour as it seems to be missing these days.
if you ship your product with the plugin you are still creating a derivative work under the GPL even after all that. Even if you use standard APIs (e.g. ODBC/JDBC) that are not GPLed to access GPLed software you could find yourself in court.
My xorg.conf on one platform works fine for KDE3, GNOME, Beryl, Enlightenment, etc, etc. But for KDE4 I have to change it. Which sucks, because then it's crap for KDE3, GNOME, Beryl, Enlightenment, etc. Not every driver will have this problem, but enough do that KDE lists are forums are littered with driver related complaints.
Pretending this problem does not exist does not make it go away. I'm crossing my fingers very tightly that 4.5 will fix this.
That is the **distribution** doing that, not KDE4. But it sort of proves my point, even the pre-packaged iso-wrapped distros that automatically replace your kernel know that the standard xorg.conf settings will not work with KDE4.
Don't blame me, I didn't vote for either of them!
Just because some parts of the documentation refer to certain names as "keywords" does not make it so. As powerful as Nokia is, they still cannot change the compiler. There are no new keywords or G++/VC++ could not parse them!!! Really now, stop regurgitating trolls and think for a moment. If these are C++ extensions, how the hell can you compile Qt applications on standard C++ compilers? The answer is that they are not extensions. "signals", "slots" and "emit" are macros. Furthermore, they are macros that expand to nothing. The only thing Qt is doing is giving you a preprocesser called MOC that writes some object introspection code for you.
And please upgrade from "ANSI C++". Only ankle-biters user it any more. The rest of the world has upgrade to ISO Standard C++.
Don't blame me, I didn't vote for either of them!
What distro are you running? Which version of KDE 4? What video card do you have?
You know what? Send me an email with all that pertinent info, along with your xorg.conf to enderandrew AT gmail dot com and I can probably get you taken care of.
Again, I just installed a KDE 4.2 snapshot on an old laptop with a Geforce 440, and it is running KDE 4 reasonably well.
http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
Would Qt be better written now using C++ templates and the latest template meta-programming instead of the meta-language Qt is currently using?
We're at the point where most main-stream platform compilers can handle template code properly and efficiently, so Qt's non forward thinking objections are beside the point now.
On Windows, how does WxWidgets compare in ease of programming and quality with Qt?
Not a word of this on Netcraft.
It seems like this is 15 years too late. The damage of having the GTK / QT rift has been done, and its impact on the desktop Linux world seems irreparable. Personally, while I prefer QT's architecture, I and many other developers have favored GTK because of its license. It kind of makes me sad that after all this time of posturing and zealotry and bravado and division, that the end result is that now there are 2 LGPLed GUI toolkits for Linux. Forgive me for not being as excited today as this news would have made me years ago.
Yes I know, but 4.2 is still not officially released. Also, the GP said that 4.1 was almost feature complete compared with 3.5.x, so there was no reason to bring up 4.2. Anyway, I am looking forward to 4.2, hopefully the Fedora guys package it quickly when it is released.
Palm trees and 8
I think the LGPL actually says you have to provide the full modified source code, not a patch set, so that is why I put it in quotes.
In reality, however, any company that wants to do this would instead send their patches to Nokia and try to convince them to put them into the official version. So their output really would be patches.
Well I'm a C++ language paralegal, and I don't hate Qt for that reason. I used to hate it because it didn't play nice with the standard library or third-party applications which did do things like throw exceptions.
Qt used to be full of this sort of thing:
QThingy *thingy = new QThingy();
You can safely assume that anyone who writes that today doesn't know C++.
So... how exception-safe is Qt these days? Can I safely use the STL or Boost and Qt in the same program?
I do realise that most Linux distros ship Qt with exception handling turned off, which is wrong on multiple levels, so obviously I'd have to compile it myself. And I'm aware that throwing non-fatal exceptions from a slot or event handler isn't what you want. Apart from that, is everything fine?
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
It's LGPL, except it's not. The "commercial license" modifies the meaning of LGPL.
This is really exciting! IMO, QT is one of the cleanest C++ API's I've ever seen. The interface is easy to use and the documentation is simply excellent. As a windows developer I've been hesitant of porting C++ Apps to Linux, simply because of the terrible GUI Toolkits available. QT going LGPL makes this a no brainer. It's superior to WinAPI, MFC and even the combination of .NET/C#/C++, if you're just in need of a proper GUI.
Maybe the Year of Linux Desktop is finally coming, thanks to QT??!
Patriotism and nationalism are different things; your objection applies to the latter, though it calls itself the former. Please learn the difference.
You said, "You can use the LGPL one as long as you want."
No you can't. According to the commercial license restriction, you must know in advance that you plan to make your software commercial. If you didn't know that in advance, and you use the LGPL, you must abandon any idea of making your software commercial.
That's simply crazy. If an employee makes a test version of something to use inside the company, the company cannot later build on that and make a commercial project.
To paraphrase the meme: I don't think you replied to who you think you replied to...
I don't know what is the problem with "the two" desktops and "the two" libraries ... on Windows, i seem to enjoy 1024 different libraries, file selector dialogues and ways to display fonts, let alone user interface rules. And this system is, for some reason, very successful.
Only Mac users are used to a more or less consistent user experience. But that is more of a culture than a technical effect.
Sure you can, you can even sell something that is closed source with an open LGPL module. What you want is to use someone else's work without paying anything in return, and only BSD-type licenses lets you do that. Again, you can probably reach an agreement.
I totally agree, I've used both GNOME and KDE4 on Ubuntu for couple of months, but I was very disappointed, it just sucked big time, especially Kubuntu's KDE4. Now I use openSUSE 11.1 with KDE4.2 RC1 and I have to say it's the best KDE I've seen. I've also tested recently openSolaris and it have better polished and tweaked GNOME than Ubuntu.
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf / || echo *Click*
I'll stick with ANSI C++ thank you very much.
You don't have to use them if you don't need them and if you don't use them you also don't need MOC, just don't put QOBJECT macro into your class declaration, that's all...
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf / || echo *Click*