Nokia Makes LGPL Version of PyQt
EtaCarinae writes "Nokia didn't succeed in convincing Riverbank to change its licensing terms on PyQt, and so decided to create their own LGPL'ed version of it. From the FAQ at the PySide site: 'Nokia's initial research into Python bindings for Qt involved speaking with Riverbank Computing, the makers of PyQt. We had several discussions with them to see if it was possible to use PyQt to achieve our goals. Unfortunately, a common agreement could not be found , so in the end we decided to proceed with PySide.'"
Or isn't the GPL considered open anymore?
Not if you want to write commercial software on top of it, which is what Nokia wants to enable. Just as they did with releasing Qt under the LGPL.
It also helps integration if you can get both from the same vendor, and for a project like this, integration is the goal. From now on, you can expect simultaneous and/or bundled releases.
Or isn't the GPL considered open anymore?
Not if you want to write commercial software on top of it, which is what Nokia wants to enable.
I know the terms of the GPL and LGPL, thank you. I simply think it's unfair to make Riverbank look like the bad guys and Nokia the saviours. Riverbank provided superb Python bindings for a long time and Phil (the guy behind PyQt and Riverbank) offered great support for GPL-users on the mailing list. PySide has a long way to go to offer a comparable experience (just read the blog post on PySide of the main PyKDE developer)
I simply think it's unfair to make Riverbank look like the bad guys and Nokia the saviours.
Nobody wants to make Riverbank look bad. However, Nokia is doing something bigger now: they're gathering all the little pieces you previously needed to find yourself (MinGW, Qt, an IDE, and now PyQT), bundling them up, and releasing them as one package. Open Source GUI programming on Windows has literally never been easier.
My next phone is going to be a Nokia. They deserve it.
Now drop the MOC from QT and everybody might consider your platform.
Eh? Moc is crucial for tiny little features like signals and slots (and through that, the event system, and basically everything you want to do with an event-based application). It's the main selling point for Qt. Dropping it would require a complete rewrite, with perhaps QString being the only class that doesn't use it.
Besides, "their platform" already knows about it, and it's completely transparent unless you write your Makefiles by hand.
Applications gravitate towards being perfectly open-source. He's right. They do. If there's a closed-source app, eventually someone's going to sit down and clone it to be open-source. They'll do it because they need a version that they can access the source code for, and they'll do it because they're not willing to pay the license fees, and they'll do it because, hey, we went to all this work, why not let other people use it?
He's right.
But the license that code gravitates towards isn't the GPL.
The GPL is restrictive. The GPL is - in some senses - closed, rather than open. The GPL cannot be used for all purposes.
The license code gravitates towards is the BSD license. The MIT license. The libpng/zlib license. The license that says, in brief, "Hey. Here's some code. Don't sue us. Have fun."
Because every software package - every software package - is pushed by that same force, that force that says "I need software with specific allowances, and if I cannot find it, I will make it." And the GPL does not allow everything.
The GPL is a fantastic, amazing license. I've licensed code under it, and I'm glad it exists.
But it's a midpoint - not an endpoint.
Breaking Into the Industry - A development log about starting a game studio.
umm it's open source. You want it to be better ? Contribute ! :]
Nokia is probably focusing right now on the Linux implementation because they want to use it in Linux.
So you know, implementations doesn't just happen by them selves, they need man-hours. So Man-Up and give it to them. But don't whine.
PyQT also has a commercial license. You're just being a freeloading leech right now.
The availability of commercial licenses for PyQt show that Riverbank has no philosophical objection to people writing and distributing GPL-incompatible code that uses it, but they'd like some money for that use (which is fair enough; they're the authors after all).
Now, Nokia seems to be standardising on Maemo/Qt for their future phones, and part of that is that they'd like to build a viable application marketplace for their phones, a la the iPhone. Keeping it free (gratis) to develop for their platform will encourage developers, which suits their goals. Presumably after asking nicely, they also offered Riverbank some cash or equivalent, at least equal to the costs they eventually incurred in developing PySide. Presumably Riverbank didn't think that was enough, and decline (which is still their perogative).
Why? I see no point, Python and C++ are two vastly different languages. It's essential that all the capabilities of Qt are exposed, but not necessarily in the exact same form. (ie. fields vs setters/getters, signal/slot objects vs signal/slot strings).
Python bindings should be designed to accommodate Python programmers, not C++ programmers.
Anyway, the new signal/slot binding seems nice and indeed what I have been thinking of.
I can't see why I would use PySide
Because you won't have a choice if you want to develop for Nokia phones. Nokia will ship PySide as part of the base install and it will be used by their Maemo GUI. Nokia isn't interested in competing with PyQt for that £350 of developer cash - they're interested in shipping millions of QT based Maemo phones with an app store that supports Python applications.
I looked at Qt for internal software development at my company. In the end we chose WxWidgets. It was a pain in the ass for years.. but we did it because I wasn't interested in feeding Trolltech's cockamamie pricing scheme. One license per (named) developer per platform? Can only change developers once every 6 months? Ridiculous. We employ co-op programmers who come and go every 4 months. Simply not workable.
I asked more than once for them to sell the product as a package.. a site license or something pro-rated based on the number of developers (1-5, 5-10, whatever).. I also asked them to simply offer a paid yearly support contract which I would gladly buy since our biggest complaint with Wx was the lack of support. No across the board from Trolltech.
So.. we found an alternative.. a free one, as it happens.. but money wasn't the issue.
For the kind of small-scale internal commercial development we do Trolltech's business model was not workable.