Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Nokia Makes LGPL Version of PyQt

timothy posted about 5 years ago | from the if-not-one-way-then-another dept.

Programming 263

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.'"

cancel ×

263 comments

Sorry! There are no comments related to the filter you selected.

Kudos to Nokia (4, Funny)

gavron (1300111) | about 5 years ago | (#29250081)

If you cannot get the source to open-source, open-source the source.

Kudos to Nokia.

E

Re:Kudos to Nokia (4, Informative)

piquadratCH (749309) | about 5 years ago | (#29250109)

If you cannot get the source to open-source, open-source the source.

PyQt [riverbankcomputing.co.uk] is open source. Or isn't the GPL considered open anymore?

Re:Kudos to Nokia (4, Insightful)

Jurily (900488) | about 5 years ago | (#29250141)

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.

Re:Kudos to Nokia (4, Insightful)

piquadratCH (749309) | about 5 years ago | (#29250179)

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 [kdedevelopers.org] of the main PyKDE developer)

Re:Kudos to Nokia (3, Informative)

Anonymous Coward | about 5 years ago | (#29250187)

Riverbank provided superb Python bindings

While I'm not disputing the usefulness of their bindings, I'd describe them as "working", but not necessarily "superb". Their API is not very pythonic or concise and feels pretty much like writing C++, without the segfaults :P

Re:Kudos to Nokia (-1, Redundant)

Anonymous Coward | about 5 years ago | (#29250377)

Yeah? Well, fuck you.

Re:Kudos to Nokia (3, Interesting)

ultrabot (200914) | about 5 years ago | (#29250481)

The point of PyQt is to remain faithful to the official C++ Qt API, making your skills & docs directly transferrable and code easy to port over in either direction.

PyQt has added a new, more pythonic API for signals, and PySide will do the same thing eventually. But it's essential that we retain almost-1:1 C++ mapping (though losing trivial stuff like QString).

Re:Kudos to Nokia (3, Insightful)

Anonymous Coward | about 5 years ago | (#29250585)

But it's essential that we retain almost-1:1 C++ mapping

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).

making your skills & docs directly transferrable

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.

Re:Kudos to Nokia (1)

loufoque (1400831) | about 5 years ago | (#29250941)

[quote]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).[/quote]
The C++ Qt interface sucks from a C++ point of view too.
The reason it's like this is historic.

It depends whether they want to design an API for stuff that already exists or one that would only work for new projects. But if I were to make a new project, personally, I'd certainly not use Qt but rather a much more modern technology.

Re:Kudos to Nokia (1)

ultrabot (200914) | about 5 years ago | (#29251089)

But if I were to make a new project, personally, I'd certainly not use Qt but rather a much more modern technology.

Such as...

?

Re:Kudos to Nokia (1)

loufoque (1400831) | about 5 years ago | (#29251221)

Such as a declarative one.

The future Qt declarative UI system is a step in the right direction, but not really there yet.

Re:Kudos to Nokia (2, Insightful)

ultrabot (200914) | about 5 years ago | (#29250951)

Python bindings should be designed to accommodate Python programmers, not C++ programmers.

I don't think we really want a big divide between Python and C++ programmers. The programming model of C++ Qt programming is not fundamentally broken, so it's not something that needs to be fixed more than what was already done. I'd like to see future breed of Qt programmers proficient wth both C++ and Python, not one over the other (Python isn't "dumb man's c++", it's "busy man's C++"). Both have their place.

Any friendly additions for python programmers can be done over the existing "raw" binding.

Re:Kudos to Nokia (4, Interesting)

WaywardGeek (1480513) | about 5 years ago | (#29251095)

I'm personally a fan of what Nokia is doing. In general, the big GUI libraries need to be LGPL or BSD to gain the widest acceptance. Requiring license fees for non-GPL leaves companies like Nokia flapping in the wind with no solution. This is also why GTK gained so much momentum at Qt's expense. This allows me to learn one way to write code, and to be able to either contribute it to the open-source community (which I do often), or to sell it through my work (which I actually get paid for).

However, this is a troubling new way for a big company to crush a small one... "Give me your technology for free, or I'll rewrite it and then give it to the world for free." It sounds a bit like Microsoft.

Re:Kudos to Nokia (3, Interesting)

Anonymous Coward | about 5 years ago | (#29250237)

The problem with PyQt was that as it was the only python binding, you had no choice but to pay to riverbank. Considering that they don't own Qt themselves, they got a slight "monopoly"/gatekeeper position on other people's code.

Also, PyQt was not all *that* open source, you couldn't fork it because they only release the generated code.

Re:Kudos to Nokia (2, Insightful)

ceoyoyo (59147) | about 5 years ago | (#29251115)

Writing good wrappers isn't trivial. If what they did was trivial, someone would come along, redo it, and put them out of business. Turns out that, for a long time, their work was worth paying for. It took a company as big as Nokia, with a vested interest, to decide it was better for them to do it themselves.

It's not like you NEED PyQT to use QT.

Re:Kudos to Nokia (4, Insightful)

Jurily (900488) | about 5 years ago | (#29250241)

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.

Re:Kudos to Nokia (0)

Anonymous Coward | about 5 years ago | (#29250633)

Whooah...this sounds pretty good, but let's not go CrAzY!

Re:Kudos to Nokia (1)

Hognoxious (631665) | about 5 years ago | (#29250749)

My next phone is going to be a Nokia. They deserve it.

My current phone is a Nokia (E71), and it's bloody annoying. What they deserve is a kick up the arse.

Re:Kudos to Nokia (1, Insightful)

Anonymous Coward | about 5 years ago | (#29250887)

Nokia excels at making cheap uncomplicated phones for making phone calls, with good battery life and so forth. From the 3310 onwards, they ruled that segment as far as I am concerned.

Can't speak to their wizbang do it all offerings though.

Re:Kudos to Nokia (0, Troll)

moon3 (1530265) | about 5 years ago | (#29250245)

Thank you Nokia! Now drop the MOC from QT and everybody might consider your platform.

Re:Kudos to Nokia (3, Insightful)

Jurily (900488) | about 5 years ago | (#29250277)

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.

Re:Kudos to Nokia (0)

Anonymous Coward | about 5 years ago | (#29250333)

As ugly as gobject is, a Qt rewritten on top of it would definitely have more users. Qt's use of templates, RAII and multiple inheritance makes it hard to interoperate with other languages (without tons of overhead).

Re:Kudos to Nokia (3, Interesting)

ultrabot (200914) | about 5 years ago | (#29250787)

Hell will freeze over before you'll see Qt embracing GObject. GObject is actually one of the things driving people to Qt.

Re:Kudos to Nokia (2, Insightful)

Anonymous Coward | about 5 years ago | (#29250365)

I've never worked on Qt, but doesn't the boost signals2 library now offer a superior signals and slots implementation in standard C++? Or does Qt depend on some features not available in the boost signals2 library?

Of course rewriting Qt to use another would be a monumental undertaking and it's probably not worth it merely to improve compatibility with other libraries and toolchains. Nokia seems to agree that can get much more developer mindshare by offering Python bindings.

Re:Kudos to Nokia (2, Informative)

Jurily (900488) | about 5 years ago | (#29250569)

In addition to providing the signals and slots mechanism for communication between objects (the main reason for introducing the system), the meta-object code provides the following additional features:
QObject::metaObject() returns the associated meta-object for the class.
QMetaObject::className() returns the class name as a string at run-time, without requiring native run-time type information (RTTI) support through the C++ compiler.
QObject::inherits() function returns whether an object is an instance of a class that inherits a specified class within the QObject inheritance tree.
QObject::tr() and QObject::trUtf8() translate strings for internationalization.
QObject::setProperty() and QObject::property() dynamically set and get properties by name.
QMetaObject::newInstance() constructs a new instance of the class.

It is also possible to perform dynamic casts using qobject_cast() on QObject classes. The qobject_cast() function behaves similarly to the standard C++ dynamic_cast(), with the advantages that it doesn't require RTTI support and it works across dynamic library boundaries.

Re:Kudos to Nokia (0)

Anonymous Coward | about 5 years ago | (#29250877)

wxWindows does not have slots/signals nor meta objects and nobody misses them in fact MOC is the main reason wxWindows users are not switching to QT. To do lots of "casts" stinks in general also.

Re:Kudos to Nokia (1)

ultrabot (200914) | about 5 years ago | (#29251097)

wxWindows does not have slots/signals nor meta objects and nobody misses them in fact MOC is the main reason wxWindows users are not switching to QT. To do lots of "casts" stinks in general also.

What casts are you talking about?

Re:Kudos to Nokia (0, Troll)

Anonymous Coward | about 5 years ago | (#29250551)

MOC is terrible, makes QT terrible


1) complicates the build process
2) pollutes the global namespace terribly (emit, signals, etc.)
3) slows rebuild as MOC has to inspect the code and regenerate MOC files if needed
4) cannot understand normal and common C++ code (inner class, templates)
5) causes binding errors that are (maybe not) discovered at runtime
6) doesn't know const char * vs. char const * are the same
7) same goes for any other compatible but not strictly-exact prototype
8) adding one more tool/compiler to code generation (to make, compiler, resource compilers, linker..)
9) complicates porting to emerging or not supported platforms as you have to port MOC compiler first
10) MOC 'invents' its own non-standard non-ISO C++ syntax
11) fragments drive as every MOC dependent file has to be frequently overwritten
12) is redundant as Boost already and clearly shows

Re:Kudos to Nokia (2, Interesting)

Jurily (900488) | about 5 years ago | (#29251213)

1) complicates the build process

The build process is already needlessly complicated. One more preprocessor won't hurt.

2) pollutes the global namespace terribly (emit, signals, etc.)

"If you're worried about namespace pollution, you can disable this macro by adding the following line to your .pro file:
  CONFIG += no_keywords"

3) slows rebuild as MOC has to inspect the code and regenerate MOC files if needed

gcc is orders of magnitude slower than moc.

4) cannot understand normal and common C++ code (inner class, templates)
6) doesn't know const char * vs. char const * are the same
7) same goes for any other compatible but not strictly-exact prototype

Use the subset that moc understands. Problem solved.

5) causes binding errors that are (maybe not) discovered at runtime

That's a valid point, but what do you recommend to fix it? These errors disappeared when I switched to Qt Creator. There's autocomplete for signals and slots there.

8) adding one more tool/compiler to code generation (to make, compiler, resource compilers, linker..)

Yes, one more. The toolchain is already long, it doesn't matter. Yacc and bison do the same, yet nobody complains.

9) complicates porting to emerging or not supported platforms as you have to port MOC compiler first

Other than "make moc"? Could you show me one instance where moc interfered with porting? If there's a platform where parsing text files can cause problems, why bother?

10) MOC 'invents' its own non-standard non-ISO C++ syntax

That's exactly why I like it: Qt C++ basically looks like a scripting language. And you're not forced to use it, anyway.

11) fragments drive as every MOC dependent file has to be frequently overwritten

You clearly made this one up to make your list longer. How many temporary files do you have in a standard make build?

12) is redundant as Boost already and clearly shows

Qt predates Boost signals. Port both Qt and my applications to Boost and we'll talk.

Re:Kudos to Nokia (1)

WaywardGeek (1480513) | about 5 years ago | (#29251219)

Wow, that was quite an entertaining rant! I'm a new Qt user, but MOC doesn't bother me at all. It's less invasive than "MFC Class Wizard", and the extension to native C++ syntax is nice IMO, vs embedded pragmas. And that's some impressive nit-picking... "Fragments drive", well, only true on Windows, and I'm not. Should I also be against compilation of C++ into object files? "char const*"? Why on earth would I want to write that? Porting complication? Geeze, C++ has been a disaster for portability for 20 years, and GUI toolkits have been prime suspects. I doubt MOC makes things significantly worse, and at least Qt already has been ported everywhere. Slows rebuild? Compared too exactly which C++ GUI toolkit? In my experience so far, Qt is the fastest of the bunch, probably because Qt doesn't just include one huge GUI header file everywhere. Can't understand inner classes and templates? This is GUI code. If you use inner classes and templates, you lose 80% of all the GUI programmers out there. Save that stuff for the hard-core code that actually does interesting work. At least there, you can expect the reader of your code to be brilliant. GUI is art, but not exactly rocket science.

Re:Kudos to Nokia (0)

Anonymous Coward | about 5 years ago | (#29250531)

The binding were not that Pythonic, the docs not too clear since they were a 1:1 search/replace from the C++ version and using them didn't always result in getting some working code.

As for Phil offering great support, often it wasn't bad but usually with an unhelpful attitude.

If the Nokia PyQt release gets to the level the rest of Qt is than I would be very happy with it, the Riverbank PyQt(4) library certainly didn't make me that happy most of the times.

Re:Kudos to Nokia (2, Informative)

lokpest (1136949) | about 5 years ago | (#29250189)

Not if you want to write commercial software on top of it...

s/commercial/proprietary (or non-free)

The GPL is a commercial license. It clearly permits the licensed software to be sold.

Re:Kudos to Nokia (0, Troll)

Anonymous Coward | about 5 years ago | (#29250295)

Not if you want to write commercial software on top of it...

s/commercial/proprietary (or non-free)

The GPL is a commercial license. It clearly permits the licensed software to be sold.

Technically, I could use windows 98 as a platform to process important financial transactions on. It doesn't mean it is feasible.

Just because GPL allows selling commercial software, it doesn't mean that it is very feasible.

Re:Kudos to Nokia (2, Informative)

rohan972 (880586) | about 5 years ago | (#29250495)

Just because GPL allows selling commercial software, it doesn't mean that it is very feasible.

I hear that said, yet it happens.
http://ask.slashdot.org/story/09/08/01/169247/The-Ethics-of-Selling-GPLed-Software-For-the-iPhone [slashdot.org]
http://redhat.com/ [redhat.com]
http://www.novell.com/linux/ [novell.com]

Re:Kudos to Nokia (0, Troll)

nstlgc (945418) | about 5 years ago | (#29250789)

Yea, and when somebody does it they get an article on Slashdot questioning their ethics. Good point.

Re:Kudos to Nokia (3, Informative)

FooBarWidget (556006) | about 5 years ago | (#29250361)

"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."

Bullshit. PyQT also has a commercial license. [riverbankcomputing.co.uk] You're just being a freeloading leech right now.

Re:Kudos to Nokia (4, Insightful)

cowbutt (21077) | about 5 years ago | (#29250453)

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).

Re:Kudos to Nokia (2, Insightful)

sulfide (1382739) | about 5 years ago | (#29250521)

We shouldn't have to pay for a gui toolkit/framework/whatever in 2009 especially if we want to write proprietary code in it. I give Nokia much credit, I had to use GTK for these purposes before, now I can use something a bit more sane.

Re:Kudos to Nokia (2, Insightful)

FooBarWidget (556006) | about 5 years ago | (#29250657)

"especially if we want to write proprietary code in it"? So you want to make money off someone else's product without ever having to pay him a penny, and you think that's ok? Wow. Just... wow.

It's 2009 and we shouldn't have to pay for whatever proprietary software it is that you're writing.

Re:Kudos to Nokia (2, Funny)

nstlgc (945418) | about 5 years ago | (#29250793)

You'll pay for my software exactly the amount that I'm asking you for it. If not, buzz off and go download somebody else's stuff.

Re:Kudos to Nokia (1)

FooBarWidget (556006) | about 5 years ago | (#29250845)

You might have the right to say that after you pay for commercial licenses of the libraries you use.

Re:Kudos to Nokia (2, Insightful)

Jurily (900488) | about 5 years ago | (#29250523)

You're just being a freeloading leech right now.

Dude, they're bindings from one third-party platform to another. How is it leeching to suggest that a license fully compatible with both of these is a good thing?

Re:Kudos to Nokia (2, Insightful)

FooBarWidget (556006) | about 5 years ago | (#29250691)

It's leeching because apparently you want to make money off someone else's work without ever having to pay him. After reading your post it's painfully obvious that you only care about it being gratis, not about it being open source.

Re:Kudos to Nokia (1)

Zero__Kelvin (151819) | about 5 years ago | (#29250837)

"It's leeching because apparently you want to make money off someone else's work without ever having to pay him."

By that argument anyone who has ever sold a commercial Windows program leeched from Microsoft because their software only works if the underlying Windows calls are available. Either you haven't thought this out very well, or you don't understand the situation. Either way you are phenomenally far off base.

Re:Kudos to Nokia (1)

FooBarWidget (556006) | about 5 years ago | (#29250855)

How's that the same thing? Assuming the developer didn't pirate Windows, he paid for it. The situation I'm talking about is like a baker wanting to sell bread without paying the flour supplier.

Re:Kudos to Nokia (0)

Anonymous Coward | about 5 years ago | (#29250897)

Learn the difference between GPL and LGPL, and then maybe you won't have to ask such questions.

Re:Kudos to Nokia (1)

Zero__Kelvin (151819) | about 5 years ago | (#29251077)

"How's that the same thing? Assuming the developer didn't pirate Windows, he paid for it."

Who cares if the developer even had a copy of Windows? Maybe he developed it cross platform on Linux, and it runs on Windows also. The issue has absolutely nothing to do with the tools the developer used, and everything to do with deployment. No offense, but you don't understand this issue at all.

Re:Kudos to Nokia (4, Interesting)

wowbagger (69688) | about 5 years ago | (#29251049)

Full disclosure:
At work, I have a PyQT commercial license. I've had to look into the licensing issues around Qt and PyQt. The following is based upon my reading of the various licences and issues. I am an engineer, not an IP lawyer, and even were I a lawyer, I am not your lawyer - so do your own research.

I am all for supporting companies like Riverbend who offer both GPL and proprietary licenses.

However, there is a complication that Nokia was trying to address here. Whatever license you are using for PyQT you must also be using for Qt, due to the way they are linked.

Now, with Riverbend, the only licenses they offer are GPL and proprietary. That means that if I want to release a proprietary application using PyQt, I must use the proprietary PyQt. However, that means that I now must use the proprietary license for Qt as well. But that now means I have to buy the developer licenses for my team from Nokia - again, not a big deal from an initial monetary outlay.

Now, for my application I cannot use the GPL license because parts of my application are licensed from other people who don't want to GPL their code - it sucks, and I'd rather not deal with it, but when you are in the RF communications business and you have to support CDMA, you HAVE to do business with Qualcomm, and they will NOT change their minds.

So when I ship my app as a Windows or GNU/Linux application, I cannot use the GPL. Now, just considering Qt, I can use the LGPL - the library is dynamically linked against my code, the user can replace the library, all is right with the world.

Except that I cannot use the LGPL for Qt and use PyQt, as PyQt does not support LGPL. So, in case you cannot draw the Venn diagram for yourself, I am left with using the proprietary license for both Qt and PyQt. Now, even though the licensing terms are pretty generous, I still have to track all the licensed code I ship - so you just added a bunch of cost to my accounting of program. This gets even worse when the program is freely available (remember, you can be free and not be Free).

I had contacted Riverbend when Nokia announced the LGPL'ing of Qt, and at that time they said they were considering it. Obviously, they decided they couldn't do it and remain viable as a business - and while that sucks for me, I can certainly understand their point of view. But without the ability to use the LGPL version of Qt from Python, the utility of Qt is greatly diminished. I can understand why Nokia did what they did. Yes, it would have been nice if Nokia could have worked out a way to fund Riverbend such that Riverbend could have LGPL'ed PyQt, but evidently that couldn't happen.

Re:Kudos to Nokia (1)

emanem (1356033) | about 5 years ago | (#29250153)

Yeah but for utility libraries one expects to use them as LGPL, to encourage different kinds of developing.
Imagine if the gcc/g++ libraries were GPL only... who would ever sell an application for Linux.
Again, I'm in favour of open source, but in favour of a free choice for developers/publishers as well.
Hence for basic libraries the LGPL should be a must.

Cheers,

Re:Kudos to Nokia (1)

gavron (1300111) | about 5 years ago | (#29250159)

The free version is licensed under the GPL. However, if you're complying with Qt's licenses, you have to pay to get the commercial PyQt to get a similarly licensed product. See http://www.riverbankcomputing.co.uk/software/pyqt/license [riverbankcomputing.co.uk] . There are many open source licenses, and having a product that relies on a library have _different_ licenses than that same library unless one pays for it is not the open way.

Cheers

E

Re:Kudos to Nokia (1, Flamebait)

petrus4 (213815) | about 5 years ago | (#29250529)

PyQt is open source. Or isn't the GPL considered open anymore?

Version 2 I consider borderline. Version 3 isn't. It's a legal minefield; a poison pill in exactly the same sense that Microsoft's "Shared Source," was when Eric Raymond called it that.

Stallman corrupts everything he touches. The MIT/BSD license, without restriction or bias, entirely perpetuate the type of gift culture described here [catb.org] . With the GPL, Stallman created a mean spirited, twisted mockery of that, and version 3 has only made it worse. The other disastrous effect that Stallman has had, is to further muddying the waters by entangling the political doctrine(s) of Trotskyite Communism with software development.

The GPL's (and FSF's) influence on the Linux user and development community is plain to see. Its' most vocal members are avaricious, paranoid, howling fanatics who are terrified beyond all reason of Microsoft, and who spend far more of their time engaging in further paranoia about the amount that other people, "give back," than they devote to their own programming efforts.

The GPL and the organisation that spawned it are an infernal scourge; a pestilence on the face of Linux and greater UNIX, and it would do the world good if we could entirely get rid of both.

Re:Kudos to Nokia (1, Informative)

Anonymous Coward | about 5 years ago | (#29250653)

You might be interested in an upcoming debate entitled Which Open Source Licence is best? [fosslc.org] being held by the Free and Open Source Learning Centre [fosslc.org] . You can register and pose questions [appspot.com] with the moderator (javascript required) but be quick I think the last day for that is tomorrow..

Re:Kudos to Nokia (1)

noidentity (188756) | about 5 years ago | (#29250761)

PyQt is open source. Or isn't the GPL considered open anymore?

The GPL is too open-source, man! As a developer, I need to be able to put some locks and chains on it.

Re:Kudos to Nokia (0)

Anonymous Coward | about 5 years ago | (#29250155)

No, PyQT is GPL. Nokia wanted people to be able to make proprietary applications and they couldn't convince riverside to release it LGPL so they made their own.

Re:Kudos to Nokia (1)

ChienAndalu (1293930) | about 5 years ago | (#29250157)

It was already open-source, just under a different license.

It also looks like PySide is nearly 100% compatible [pyside.org] with PyQt, which decreases the headache people who want to switch.

bizzaro world (1)

bug1 (96678) | about 5 years ago | (#29250219)

So now mega corporations are out-sourcing open source companies to increase their properties... am i in a dream ?

As someone who enjoys raving on about the evils of the commercialization of open source i feel i have nowhere to go now (except maybe to the shop to buy a N900 so i can hook it up top my freerunner) ...

Re:Kudos to Nokia (0)

Anonymous Coward | about 5 years ago | (#29251103)

In Soviet Nokia... the source opens you!

Wow, you know slashdot's behind (-1, Offtopic)

Anonymous Coward | about 5 years ago | (#29250091)

when it's posting stories that already appeared in print media. Or maybe this is just the dupe?

Re:Wow, you know slashdot's behind (-1, Troll)

Anonymous Coward | about 5 years ago | (#29250323)

Panties Stink!
They really, really stink!
Sometimes they're red, sometimes they're green,
Sometimes they're white or black or pink
Sometimes they're satin, sometimes they're lace
Sometimes they're cotton and soak up stains
But at the end of the day, it really makes you think
Wooooooo-wheeeee! Panties stink!

Sometimes they're on the bathroom floor
Your girlfriend- what a whore!
Sometimes they're warm and wet and raw
From beneath the skirt of your mother-in-law
Brownish stains from daily wear
A gusset full of pubic hair
Just make sure your nose is ready
For the tang of a sweat-soaked wedgie
In your hand a pair of drawers
With a funky feminine discharge
Give your nose a rest, fix yourself a drink
cause wooooooo-wheeeeeee! panties stink!

Python and QT going mobile. (1, Insightful)

Anonymous Coward | about 5 years ago | (#29250099)

This is especially interesting
with regard to the mobile platform:

Both Symbian (the most widely deployed smartphone OS)
and Maemo (Nokias linux-distribution for high end phones and tablets
(this is a unix-like OS, unlike android))
supports python and is working towards using QT as a (the) UI-toolkit,
so this likely to a major within scripting languages on mobile phones.

Re:Python and QT going mobile. (2, Funny)

Anonymous Coward | about 5 years ago | (#29250167)

working towards using QT as a (the) UI-toolkit

If they're going to be using Apple QuickTime as the user interface toolkit, I predict it's going to be a fucking disaster.

Perhaps they should consider using Qt instead.

Re:Python and QT going mobile. (1)

voidphoenix (710468) | about 5 years ago | (#29250193)

There really should be a -1 Smartass mod...

Re:Python and QT going mobile. (1)

nstlgc (945418) | about 5 years ago | (#29250803)

Make that -1, Social misfit.

Nokia Makes LGPL Version of PyQt (3, Informative)

omar.sahal (687649) | about 5 years ago | (#29250197)

Don't forget to give credit where it's due.

OpenBossa is a division of INdT, a nonprofit research institute in Brazil that was founded by Nokia and the Brazilian government. OpenBossa has close ties with Nokia and is well-known in the Maemo community

Taken from the arstechnica [arstechnica.com] web site that also carried this story

Nokia & OSS (5, Interesting)

mcelrath (8027) | about 5 years ago | (#29250203)

I'm liking this new approach of Nokia toward open source, with Maemo and Qt. It's a smart move. Python bindings will make for rapid app development. They should soon have armies of OSS developers making apps for their new phone (N900). I must be dreaming, to have both Google's Android and Maemo available on what is historically the most closed computing platform in recent history (cell phones). It seems it will be possible to install both on their new phones. I hope for lots of cross-pollenation, and an app list that puts the proprietary iCrap to shame.

Re:Nokia & OSS (1)

togashi06 (1013825) | about 5 years ago | (#29250829)

Is it already known if it will be possible to have a functional android port on the n900? I read that nokia pushed several drivers for the device to the kernel but I'm still not sure if the parts like the GSM radio have been open sourced. Without that the port wouldn't be too useful...

Re:Nokia & OSS (1)

mcelrath (8027) | about 5 years ago | (#29250863)

Good question. I don't think anyone knows yet. People have gotten Android on the N800 [google.com] . So it's likely a similar recipe will work on the N900. Of course those "internet tablets" didn't have a GSM radio.

RMS was right, but got one detail wrong. (4, Insightful)

ZorbaTHut (126196) | about 5 years ago | (#29250289)

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.

Re:RMS was right, but got one detail wrong. (2, Informative)

speedtux (1307149) | about 5 years ago | (#29250321)

You're confusing the GPL and the LGPL. The LGPL is a perfectly fine license, and it happens to be what Nokia chose.

The BSD/MIT/... license has specific problems and pitfalls relative to the LGPL; in particular, it raises the possibility of a proprietary fork. Both Apple and Microsoft have made proprietary forks of BSD/MIT-licensed projects, with arguably worse outcomes than if they had been forced to open source under the LGPL.

Re:RMS was right, but got one detail wrong. (3, Insightful)

salted-fry (1625847) | about 5 years ago | (#29250631)

He's not confusing anything. This story is about Nokia rewriting a GPL library and using the LGPL for the rewrite. His comment about software becoming progressively free-er is entirely relevant.

lol delusional BSDtards (0, Flamebait)

Virak (897071) | about 5 years ago | (#29250379)

Do you see the Linux kernel gravitating to BSD? Do you see GIMP gravitating to BSD? Do you see OO.o gravitating to BSD?

Sorry to shatter your masturbatory fantasies, but the GPL is still the most popular license among open source projects. The only "freedom" it removes is the freedom to harm the freedoms of other users of the software, much like the law restricts your freedom to stab me in the face. Calling it "closed" is utterly absurd. Most people, except for a tiny bit of fanatical free software advocates, prefer the LGPL over the GPL for libraries. Not because it's on the path to BSD-like permissive licenses, but because they feel it is more in line with their reason for using the GPL, i.e., to ensure their code stays open and other people can't make closed forks or incorporate parts of the code into closed projects. They object to the GPL for this purpose because when used for a library it ends up going beyond this and additionally forcing everyone who uses it (which is, you know, the whole point of libraries) to open their code. Nothing more.

You are just misinterpreting and distorting the facts and outright lying to support your deep-seated preconception that "OMG BSD LICENSE IS THE BEST THING EVER GPL SUXXX". To say your conclusions are on shaky ground would be the understatement of the millennium.

Re:lol delusional BSDtards (2, Insightful)

mustafap (452510) | about 5 years ago | (#29250451)

>The only "freedom" it removes is the freedom to harm the freedoms of other users of the software, much like the law restricts your freedom to stab me in the face.

Except that restricting my freedom to "stab you in the face" isn't going to upset many people. But restricting the abilities of companies to develop products that the vast majority of us would like them to make, is.

Re:lol delusional BSDtards (-1, Flamebait)

Virak (897071) | about 5 years ago | (#29250475)

But restricting the abilities of companies to develop products that the vast majority of us would like them to make, is.

When did this become a discussion about the patent system?

I see this argument occasionally, and I always think, "Is this a bad troll or is this guy really that stupid?". The GPL doesn't restrict your ability to develop products. It restricts your ability to take an existing product, modify it, and lock it up solely for your own benefit. And if you don't like it, the thing you should be bitching about is copyright law, because it by default gives you almost no rights. The GPL kindly gives you the right to do pretty much anything you want with it that doesn't involve the metaphorical face-stabbing, and if you don't like it you can write your own damn code.

Re:lol delusional BSDtards (1)

mustafap (452510) | about 5 years ago | (#29250639)

>The GPL doesn't restrict your ability to develop products. It restricts your ability to take an existing product, modify it, and lock it up solely for your own benefit

I see this argument occasionally, and I always think, "Is this guy an idiot?"

We're talking about the use of the LGPL.

The LGPL does not allow you to modify code and lock it up. It allows you to *use* someones code, and lock your own code, if you choose.

It's about choice, and freedom. I have the freedom to release my code under the LGPL and allow others to re-use it with their own code, which they release as *they* choose.

The GPL does not give either of us that freedom.

It's about freedom, right?

Re:lol delusional BSDtards (0)

Anonymous Coward | about 5 years ago | (#29250831)

You have obviously never been in the situation of discovering a thrid party library you'd love to use in your commercial application, only to discover its GPLd.

I utterly avoid all forms of GPL at work. The GPL itself is obviously right out, and the LGPL is poorly understood and overly complicated, and really - when it comes right down to it - just as unsuitable.

Most business actually have no intention whatsoever of taking GPLd code and "locking it up".
I have enough work dealing with the legacy code from my own organisation - why would I also want to maintain a copy of _someone else's_ code? There's no benefit in it to me.

Re:lol delusional BSDtards (2, Informative)

janwedekind (778872) | about 5 years ago | (#29250731)

Licensing software under GPL does not restrict the ability of companies to develop products. But the GPL does restrict the ability of companies to prevent other competing companies from developing products.

Re:lol delusional BSDtards (1)

pizzach (1011925) | about 5 years ago | (#29251171)

Blanket statement. Yes it upsets some people in the same way a construction detour does. Just because they cry and swear about it and swear doesn't mean they can't still reach their final destination. You have to choose the road that suits you. I swear, slashdot has been filled with prima donna complaining about something that might break their nails.

Re:lol delusional BSDtards (1)

petrus4 (213815) | about 5 years ago | (#29250497)

Sorry to shatter your masturbatory fantasies, but the GPL is still the most popular license among open source projects.

The standard calling card of a member of the Stallmanite demographic; lashings of ad hominem, bookending a diatribe of raw, unadulterated mind control.

Re:lol delusional BSDtards (1, Informative)

Anonymous Coward | about 5 years ago | (#29250667)

It is...there was an article recently that proclaimed that the Apache license is applied to more newer projects in the commercial realm.

http://news.cnet.com/8301-13505_3-10319560-16.html [cnet.com]

Re:lol delusional BSDtards (2, Insightful)

nstlgc (945418) | about 5 years ago | (#29250827)

"Shatter his masturbatory fantasies" ? "freedom to stab you in the face" ? "utterly absurd" ? "outright lying" ? "understatement of the millennium [sic]" ? You and your silly hyperbole are poster child for the entire GPL generation.

Re:RMS was right, but got one detail wrong. (0)

Anonymous Coward | about 5 years ago | (#29250395)

i think the endpoint should be somewhere between gpl and bsd, since with bsd i'm basically qllowed to do everything, even close source it and sell it, with no modification, claim it's my own and get merit even trough i didn't do anything.
sorry, but i'll work for other people only if they help me, or at least if they use, but don't steal my code.

Re:RMS was right, but got one detail wrong. (1)

agnosticnixie (1481609) | about 5 years ago | (#29250429)

That's what LGPL is.

Re:RMS was right, but got one detail wrong. (1, Informative)

Anonymous Coward | about 5 years ago | (#29250687)

with no modification, claim it's my own and get merit even trough i didn't do anything.
sorry, but i'll work for other people only if they help me, or at least if they use, but don't steal my code.

Maybe you should RTFL. You can do what you want with BSD licensed code except claiming it as your own. You can do what you want, but you need to keep the credits in.

Re:RMS was right, but got one detail wrong. (2, Informative)

mabinogi (74033) | about 5 years ago | (#29250883)

even close source it and sell it, with no modification

That is utterly false.
The BSD license gives you no right to relicense it. It gives you an unrestricted right to distribute it in source or binary forms, but NOT any right to relicense it.
It also gives you utterly no right to claim it as your own work, in fact, it explicitly states that you must leave the copyright notice intact - the copyright notice which will contain the name of the original author.

The terms of the BSD license are:
You must acknowledge the source by retaining the copyright notice (the GPL requires this too) - either by leaving it in the source, if you distribute source, or by putting it in the docco, or similar if you distribute the binary.
You mustn't use the author's name to promote software based on this software.

If explicitly grants you the right to distribute the source or the binary with or without modification, if and only if those conditions are met.

A company distributing a BSD licensed product that does not include the copy of the BSD license from the product they distributed is in violation of the license.

So when you BSD license your code, you are not allowing people to steal it. You are giving it to anyone to use for any purpose, but they must acknowledge where they got it from. (For as far as their derivative works still meet the Copyright Law definition of derivative work)

Re:RMS was right, but got one detail wrong. (1)

cowbutt (21077) | about 5 years ago | (#29250417)

I disagree, I think applications gravitate to the GPL license since it means that any distributed improvements are available to all, which reduces the likelihood of private forks. This comes at the possible cost of discouraging some improvements altogether (i.e. from people who want - for sake of business model or ego - to have their improvements exclusive to their fork).

Now, canoncial implementations of standards such as file formats and network protocols probably do gravitate to BSD or similar, since this encourages everyone to include support in their products, even if they're an Evil Proprietary Vendor, which in turn makes the standard more useful due to its widespread support. LGPL can be seen as a variant of this that prevents said Evil Proprietary Vendors from 'Embracing and Extending' without contributing their extensions back.

Re:RMS was right, but got one detail wrong. (0)

Anonymous Coward | about 5 years ago | (#29250517)

You are not considering the main point of the argument: that GPL is more restrictive than BSD, and that someday, somebody will have a problem with those restrictions and he/she will sit down and create a BSD version. So in the end, the license will gravitate towards the most free option: BSD (or equivalent).

Re:RMS was right, but got one detail wrong. (0)

Anonymous Coward | about 5 years ago | (#29250447)

"
The GPL is restrictive. The GPL is - in some senses - closed, rather than open. The GPL cannot be used for all purposes.
"

Nice lesson about freedom from someone who is pissed off at GPL not letting him do privative and even more restrictive software.

Re:RMS was right, but got one detail wrong. (1)

petrus4 (213815) | about 5 years ago | (#29250583)

Thank Kali that the parent is modded +5, Insightful, as it richly deserves to be.

There are times when I still fear that Stallman's legion of cultists have completely overrun Slashdot. It is extremely heartening to occasionally see indications that that is not the case.

Re:RMS was right, but got one detail wrong. (1)

drinkypoo (153816) | about 5 years ago | (#29250889)

But it's a midpoint - not an endpoint.

That's an incredibly simplistic and unimaginative view of the situation. You're assuming that commercial software will always reign supreme, but that is a bad assumption. The evidence points overwhelmingly to the contrary. Linux is still GPL, and still gaining market share faster than anyone. The GPL is for those who play well with others. Over time, what they can produce is superior, not least because the license permits total code re-use! You don't have to throw away big hunks of code unless they are inferior.

Re:RMS was right, but got one detail wrong. (1)

Bralkein (685733) | about 5 years ago | (#29250923)

I don't really see that this is the case. Just because some software (in this case, Qt and Python Qt bindings) have gravitated towards LGPL from GPL, doesn't mean that you can infer that eventually they will gravitate to BSD. What about what happened to Wine? Wine gravitated from MIT to LGPL, because of concerns about proprietary forks not giving anything back. Could it not be that for many cases, LGPL is a perfectly fine licence for software libraries, and that there is no great pressure for a BSD alternative to be created? Could it not be that within the spectrum of licences, there is a "sweet spot", which varies for each project, which represents the most practical set of freedoms and limitations that will best ensure the success of that project?

As Ben Goldacre might say, it's just not that simple. There's more to free software than the GPL, and there's more to free software than BSD. Consider your options, consider the project's needs and make a judgement call that best befits the situation. Don't just do as the last flag-waver told you.

Re:RMS was right, but got one detail wrong. (1)

jchandra (15040) | about 5 years ago | (#29251155)

I don't think you got this right, PyQt is already available GPL licensed, and that is not acceptable for Nokia, so they moved to LGPL.

The important thing here is that, if a company wants to promote any infrastructure component, GPL is a horrible license to do that. If you release a library of even a device driver as GPL, you are imposing a very strict condition on your customers, that they have to be GPL too.

This is no way acceptable for most people, and that is why LGPL or BSD licensing is attractive in this situation.

RMS has got it wrong, actuall if RMS had got his way, GLIBC would be GPL and most of the commerical guys would have to get out of developing on Linux.

I say kudos for a different reason (1)

erroneus (253617) | about 5 years ago | (#29250331)

They couldn't arrive at an agreement with the other party. They tried to do it the easy way and it just didn't work out. But they didn't give up either -- they decided to do it themselves AND to contribute back to the OSS community in the process. I admire the do it yourself attitude as it reflects back to a time when software wasn't "a product" but a mean to solving a problem.

multiplatform? (3, Interesting)

jaclu (66513) | about 5 years ago | (#29250359)

Also worth to mention is that this implementation is linux only. Isnt on of the main purposes with languages like python/perl/java that they should be platform neutral?

Re:multiplatform? (3, Insightful)

summner (735993) | about 5 years ago | (#29250423)

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.

Re:multiplatform? (1)

jaclu (66513) | about 5 years ago | (#29250601)

Sorry if my post came out as a whine, wasnt my intention.
Of course anybody could do it in therory, but I'm not that guy.

My intention wasnt to slam the initiative, just a comment that so far its linux only, since that isnt the platform Im using, it just means that I have to wait a while until I can port my stuff to the Maemo platform.

Re:multiplatform? (1)

ultrabot (200914) | about 5 years ago | (#29250857)

Sorry if my post came out as a whine, wasnt my intention.
Of course anybody could do it in therory, but I'm not that guy.

My intention wasnt to slam the initiative, just a comment that so far its linux only, since that isnt the platform Im using, it just means that I have to wait a while until I can port my stuff to the Maemo platform.

You don't have to wait. You can use PyQt on all platforms already, and can switch to PySide when time is right. They are API compatible.

Re:multiplatform? (0)

Anonymous Coward | about 5 years ago | (#29251003)

If you look at the "Roadmap" page of their site, a Windows port isn't listed. Neither is an OSX port, Nokia is quite nondiscriminatory in their caring only for Linux (more precisely, for their Maemo platform) because other platforms don't have serious business value for them.

Autodesk Maya (1)

jabjoe (1042100) | about 5 years ago | (#29250589)

This is a very good thing for Maya scripters.

Maya introduced python support a while ago, but the Maya binding was just the same as MEL (Maya own script language). This isn't sooo bad, except when it comes to user interfaces, where it sucks very badly. I'm sorry, it does. Most people have been moving from MEL to python, and this makes the MEL interface stuff more of a sticking point because it looks even worse from a python perspective.

In a gernal effort of the Maya development team to make the Maya code common for all the platforms, they have moved the interface to QT for all platforms. There was excitement that this mean pyQT could be used for interfaces. But then their was liencing confusion. Can they use it, can they not? Would they have to get 'up top' to buy it so they could? Now with a LGPL everyone knows where they stand. They can use it and don't have to try and convice management to part with any money. Their stuff doesn't have to be openned (which often they want to do but are not allowed). This is a good thing for the Maya python scripters. Autodesk would be silly not to include this lib as part of Maya's standard python enviroment (but even if they didn't it could still be used). It's a good thing for the lib because it means any improvement/fixes that Autodesk deside to make, they have to give out. Everyone is a winner. Without the LGPL protection, Autodesk would "rape" this project. That is their way. Think Apple, but not as "cool" and more evil. ;-)

Size and speed (4, Interesting)

paugq (443696) | about 5 years ago | (#29250741)

This is what Richard Dale (the main author of SMOKE and the Ruby and C# bindings for Qt and KDE, and C, Objective C and Java bindings in the past, to) said [kdenews.org] about PySide:

Currently the total size of the PySide libs for all the Qt modueles is 30 Mb. For just QtCore and QtGui they are 22.5 Mb. These are really high figures, and about twice the size of the existing PyQt libs. They are five or six (!) times larger than the Smoke libraries, which weigh in at just over 5 Mb for all the Qt modules. The Smoke libraries can be used by Ruby, C#, Perl, Common Lisp and PHP, not just a single language too. The large size is caused by the heavy use of C++ templates in Boost::Python.

Qt alone has about 500 classes, whereas the current KDE bindings like Python and Ruby wrap over 1500 classes, which would give a combined shared library size of 90 Mb or so assuming the same size per class as Qt. So as PySide stands, I would personally consider that these figures are just too high.

There is a hack in the generate code of doing '#define protected public', to allow protected methods to be called. This certainly won't work on Windows. Fixing it properly will require extra code to be generated to subclass each class with protected methods, and add a public method that calls a corresponding method in the class to be wrapped. This will add some extra code obviously.

It looks like PySide are huge (3x the size of PyQt and 6x the size of SMOKE-generated bindings!) and there is very little improvement they can do if they keep on using Boost::Python to generate PySide.

Given that PyQt costs only £350 (roughly 400 EUR) with full support and is much lighter and mature, I can't see why I would use PySide (unless Nokia gives me full, free, support with my commercial C++ license, of course, which I think they won't be doing because they required you to buy a 1000 EUR separate license for Qt Jambi -the Java bindings- )

Re:Size and speed (1)

bert.cl (787057) | about 5 years ago | (#29250943)

Well, given what I read about Nokia releasing this bundle as a platform and the fact that PySide and PyQT are API compatible, I can imagine someone coding necessary features against PySide and then just decide whether a switch to a lighter version (i.e. PyQt) warrants the 400 EUR investement.

All in all, it's a smart move. You code in a standard environment and if your deployment gets too large, you can just drop in a cheap and qualitative replacement. The end result is the same: faster and more applications on a Nokia platform. This may even be a good thing for PyQT.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>