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.'"
Kudos to Nokia.
E
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.
Taken from the arstechnica web site that also carried this story
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.
1^2=1; (-1)^2=1; 1^2=(-1)^2; 1=-1; 1=0.
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) ...
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.
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.
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?
>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.
Open Source Drum Kit, LPLC deve board - mjhdesigns.com
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.
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.
>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?
Open Source Drum Kit, LPLC deve board - mjhdesigns.com
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
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.
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 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- )
"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.
I'm Rocco. I'm the +5 Funny man.
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.
Once you start despising the jerks, you become one.
The LGPL does that. The GPL forces me to offer my software for free, and that may very well be an important factor for a company deciding whether or not to develop a product.
If I don't want to offer my software for free, I may very well write up a library to take the place of a GPLed library. After doing that, I may very well license that library using a BSD/MIT or LGPL license, illustrating the original point, that if licenses tend to evolve toward the GPL then they will continue to evolve toward something even freer.
Wait, so does that mean there are no SWIG bindings for Qt? I just sort of assumed that for a big popular library like Qt, someone would have done a SWIG binding by now, simultaneously making it available in a whole bunch of languages..
"If I don't want to offer my software for free, I may very well write up a library to take the place of a GPLed library."
True.
"After doing that, I may very well license that library using a BSD/MIT or LGPL license"
True... in theory. In practice what are the bets for a company that already wants to produce closed source software to distribute some parts of its hard earned codebase under a license any more free than that of its main product?
If they are going to develop such a library on its enterity on their own for the sole purpouse of being able to use it within their closed source application you can bet they'll distribute it under the very same closed-source license than their main app.
In fact, can you provide any example of software companies *not* doing that, given the case? For all that I know, companies only have developed from the ground up BSD-like software when trying to get into new markets by means of stablishing new standards (ala NFS). In all other cases companies have only develop free/open source when pushed by market forces (like the ability of being able to use 99% of a third party code base for free at the cost of being forced to follow the original license on their 1% addition). In those situations GPL will produce much new free software than LGPL or BSD by means of the snowball effect.
The GPL does not give either of us that freedom. It's about freedom, right?
It's about the code's freedom, not the programmer's freedom. The GPL is the only license that assures code will always be available and that the users of said code will always be able to use any modification made by anyone to that code. If you can't see that as an advantage, as the GP does not, then you don't understand what the GPL is all about.
"Not to mention all the idiots who use words like boxen."
Anonymous Coward on Monday August 04, @06:49PM
What a nice ad-hominem you made there. The midas touch angle makes you look very academic, and the communism jibe shows your colours as a true blue american. Sadly though, there is not a lot of substantial argument behind your ranting (AKA none). You don't like the GPL, but why that is exactly you do not tell. ;)
The MIT and or BSD licenses you prefer have been a brake on the uptake/development of all the BSD's. Linux was late to the game of Open Source Unix-like OSes, but it magically overtook all of them by a large margin. That is in part thanks to it's license, that prevented leeches from exploiting the work of contributors. It is those contributors that make Linux what it is, and they like the GPL just fine.
You seem to like your precious opinion very much, but luckily that does not make a difference at all. Or should I have not fed the troll?
This space is intentionally staring blankly at you
"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."
What does it mean? "I thought I could use all this good work for free but, alas, I can't"? What a pity.
"the LGPL is poorly understood and overly complicated"
What!!!??? You obviously never been in the situation of examining the legality of your contracts with third party vendors when you want to use their closed source codebases. LGPL is crystal-clear in comparation.
"and really - when it comes right down to it - just as unsuitable."
Unstated assertion, not backed by facts (my company develops on top of both GPL and LGPL code with no problems, thanks).
"Most business actually have no intention whatsoever of taking GPLd code and "locking it up"."
Maybe the fact that it's obviously unlegal and quite a bad press when discovered has something to do.
"why would I also want to maintain a copy of _someone else's_ code? There's no benefit in it to me."
Maybe you see it from the developer's point of view where less code in-house means less coders to maintain it and so, maybe you'll be fired. From the company's point of view, if helping maintaining _someone else's_ code means cheaper than fully maintaining _your own code_, it's a deal.
Android has already been ported to Ubuntu and can run as an application on top of a regular Linux kernel. The same should be possible on the N900.
Wow, pots and kettles.
Both GObject and QObject are non-standard object models because neither base language (C, C++) supports an object model that is suitable for GUI development.
GObject is harder to develop for, but easier to integrate into other software.
QObject uses syntactic tricks in C++ to make it easier to develop for in C++, but it's harder to integrate into, and extend, in other languages.
An additional problem with QObject and Qt is that it doesn't even conform to C++ library standards very well.
What do you mean the proprietary PyQt is not compatible with the LGPL'd Qt? I should think you can indeed use the proprietary PyQt license with the LPGL'd Qt; the LGPL license certainly allows it.
Hear the cry of the freeloader!
I'm hearing the cry of scarcity thinking a lot around here recently, and I'm wondering why.
Someone being a freeloader is only a problem if software is somehow a finite resource, and you're scared of there eventually not being any left.
Are you scared of that?
Couldn't Nokia buy Riverbank like they did with Qt Software? Probably they did try, and this really was the last option available.
There's a big difference between LGPL and BSD/MIT. But if you are arguing to release code under BSD/MIT in order to attract the interest of companies developing proprietary software "products", then your code is actually going to evolve into something much less free.
Qt is already extremely multiplatform -- it's the only language/toolkit (other than Java) where I can code on Win/Linux/Mac/Cell phone and have it just work.
Python's cross-platform nature makes it seem pretty natural to use with a cross-platform toolkit. But that's just me;)
-- Political fascism requires a Fuhrer.
Do you see the Linux kernel gravitating to BSD? Do you see GIMP gravitating to BSD? Do you see OO.o gravitating to BSD?
No. Never. The legal issues alone would be near-insurmountable.
I do, however, see a point where the Linux Kernel is Good Enough, and there are no longer major underlying improvements being made because, well, what would be improved? And on that day, the Linux kernel stops moving forward . . . and the BSD kernels don't stop moving forward, since they are not yet at that point . . . and eventually reach the Linux kernel in capabilities and stability.
And at that point, the Linux kernel goes away, and the BSD kernel becomes the norm.
It's a long ways off. But I think, long-term, it's inevitable, for much the same reason as Windows became Good Enough many years ago and the Linux kernel and applications have been catching up ever since.
I don't know of any immediate competitors to GIMP or OO.o. But I think, eventually, they'll show up. (It may take some time - office software is not as suspectible to this as operating systems and libraries are, simply because almost nobody needs to link them in.)
You may note that I've licensed several packages under the GPL. I'm no stranger to the GPL at all, and it's a good license. I just think it's rather inevitably going to give ground.
Breaking Into the Industry - A development log about starting a game studio.
The GPL forces me to offer my software for free
No, it forces you to offer your software for Free. You can charge whatever you want for it.
"Not to mention all the idiots who use words like boxen."
Anonymous Coward on Monday August 04, @06:49PM
Yes, that's certainly what happened to the BSD kernel when Apple forked it.
Oh, wait, it wasn't at all.
The vast majority of people don't make open-source packages because they have something to sell, and they don't stop when people start selling it. (People sell open-source software even when it's GPL licensed, remember.) Some people do grab BSD-licensed things and improve them . . . and sometimes they contribute improvements back to the project. And sometimes they don't. Such is life.
People can't force BSD code to stop being free. I'm really not sure where that ever came from, but it's just complete falsehood. They can make their own improvements, and own those, but the core code?
Well, it's free - and chances are good that unless the improvements are a major, major amount of work, they'll end up implemented in the original version soon anyway.
I don't know of any case where the hypothetical situation you claim as inevitable has happened.
Breaking Into the Industry - A development log about starting a game studio.
Actually programs will still migrate towards GPL, because of the fear that the program to end up closed and out of their control again like it was in the first place. Releasing stuff as BSD/libpng/zlib is kind of pointless, because modifying closed versions will not help the open ones that people want in the first place. LGPL is actually the midpoint, and GPL is the endpoint.
Twinstiq, game news
I'm tired of choosing actions of life according to the paperwork of lawyers and accountants. I'm going to look for some way to do what's best for human beings, period.
Build your own energy sources from scratch. http://otherpower.com/