Open Source Downgration

Started by
31 comments, last by Heath 11 years, 6 months ago
I prefer the BSD license (it's quite similar to the MIT license) than all the GPL stuff. It feels much less constricting somehow. But overall I don't really care, I just pick a license and get on with the code.

“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”

Advertisement

So if you use GPL / LGPL licensed software in your application, then does your application have to be GPL as well? Because if it doesn't then obviously Digia are trying to put people off, because the resultant software doesn't need to have GPL.


It's a little more complex than that.

Here I'm working off the GPL FAQ which is, of course, not a legal document so take it all with the appropriate-sized grain of salt. It is - I believe - an accurate interpretation of the intention of the GPL, but without the legal weight of an actual license behind it I have no idea how it would hold up if things ever came to blows in court.

If you use GPL code in your project then the entire resulting program must be GPL, but individual modules in the program may have their own individual licenses. The only requirement is that these individual licenses must be compatible with the GPL, but otherwise it's quite open in this regard. So you can take code with any of the licenses listed here and use it in a GPL program. If you add a module to the program, you can likewise choose a GPL-compatible license for it (or alternatively choose the GPL itself). As I mentioned, the entire program remains under the GPL so if you distribute binaries then you should also either distribute, or have provisions in place to distribute, source. No, I don't fully understand how that works in practice either.

The main sources for this reading are http://www.gnu.org/licenses/gpl-faq.html#GPLModuleLicense and http://www.gnu.org/licenses/gpl-faq.html#GPLUSGovAdd

The LGPL is an entirely different matter - hell, even Microsoft once used LGPL code in their products.

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.


I prefer the BSD license (it's quite similar to the MIT license) than all the GPL stuff. It feels much less constricting somehow. But overall I don't really care, I just pick a license and get on with the code.
+1
GPL/LGPL are too restrictive. I use MIT/BSD-style licenses whenever I release open-source code.
In my closed source games, I always really try to avoid using any 3rd party libraries that are LGPL, because I don't want to have to deal with it's arbitrary decisions on how I must package my binary code... For anyone wanting to license their own work under something restrictive like LGPL instead of something totally free like MIT/BSD, I'd recommend that they instead use the EPL over the LGPL.
Is it really that dangerous to develop under LGPL and GPL? On Linux, most things are GPL so I find this really weird.

Remember, the intent of the GPL is that all software released under that license is effectively part of the GNU system. The MIT license doesn't require that, zlib doesn't either, and the FSF has approved both licenses as compatible with its own. What you read is correct, in that the GNU system is distinct and does not always play well with other systems.

Basically, MIT, BSD and zlib allow altruism, while GPL makes it mandatory. If you'd rather allow it and encourage it without demanding it, and you'd rather avoid some weird little implications here and there, you might want to avoid the GPL. If either you don't mind and it doesn't matter how your program is released, or you'd rather develop software for GNU, that's purely up to you.
On that note, it's a little amusing that gnu.org refers to Linux as "a modified version of the GNU system", when the intent of the GPL holds that Linux is under the GNU umbrella. It is just as much a part of GNU as HURD, except that lots of people actually use it.
Digia didn't create Qt.
Qt was created by Trolltech, which was bought by Nokia. Trolltech had it commercially licensed, but available for free (with source available, but not GPL-compatible 'free software' open source) on Linux systems. Because the Qt-based Linux desktop environments (mainly KDE) became really popular, some in the Linux community were worried that the mostly-opensource Linux was being infected by non-opensource proprietary code, so they tried to force Trolltech to make it "truly" open source. Trolltech met them halfway with a even more semi-open license, but it wasn't good enough, so they eventually agreed to a GPL licensing and (much later) LGPL licensing, in addition to their commercial licensing. ([size=2]There was some kind of legal deal between TrollTech and KDE, where TrollTech would automatically release Qt under BSD license if TrollTech ever stopped making it available publicly - I don't know the exact details, but the legal agreement wasn't triggered, as Qt was released under GPL)

TrollTech was later bought by Nokia, which still had to honor the licensing or else it would've been forked and they'd lose control, and just recently (over the past year), Nokia decided that they didn't care too much about Qt anymore, as they decided to drop their own in-development smartphone OS go with Windows Phone 7 (bad move, IMO!). So Nokia switched the Qt community over to a community-led + Nokia contributing development (instead of Nokia-led but community-contributing development), and sold the commercial licensing to Digia, which gains nothing for open source usage of Qt, and only profits from commercial licensing of Qt and providing Qt support or proprietary Qt extensions. Digia doesn't run Qt, didn't create Qt, and doesn't own the Qt trademark - they only handle the commercial licensing and support. Their website choice is, "Use Qt for free (even for commercial products), or pay us to use Qt!".

The only reasons why one would want to pay them is: proprietary extensions, support, static compilation (which is ambiguous under LGPL and GPL), or not wanting to release changes you make to the code. If they toss in a little FUD to encourage large companies to lean toward paying them, that's why: They get nothin' from the hugely successful but opensource Qt framework. Commercially speaking, TrollTech should've never released it under open source licenses, though I'm super glad they did!

The above is mostly what I remember from loosely reading about it a year or so ago, and Wikipedia seems to mostly agree with my recollections of the events (which I think I read on the (old Nokia-led) official Qt site).
I presume they mean "use the LGPL/GPL version of Qt for your project" (out of context, you might misread it as choosing that licence for your own work).

There are no restrictions or obligations placed on you if you licence your own code as whatever (since you still own the copyright), but there are restrictions and obligations if you want to use Qt under the LGPL/GPL.

I guess they want to avoid the problem where someone uses the LGPL or GPL version of Qt thinking that means they can do what they like with it, when actually they can't.

Yes, consulting a lawyer would be a good idea for writing commercial software - but then, consulting a lawyer would be a good idea if you were using the commercial version of Qt too!

Any commercial licence (including Qt's, I imagine) tends to be complex, and places restrictions and obligations on you, and it would be best to consult a lawyer. So it's unfair to say the GPL is worse than proprietary - I guess it's just there for people who mistakenly think that GPL means public domain.

It's also worth noting that Digia make money from the commercial licensing, so it's in their interest to discourage the GPL version :)
As for GPL vs BSD debates, I find these a bit tedious. Pick one you prefer. Neither is "better" - the BSD gives more freedom for distribution, but the GPL is about preserving freedom for end users. I don't get why some people look down upon the GPL, when the vast majority of software is under proprierty licences, which are restrictive for both end users and distribution. If we want more open source, then I'd argue efforts should be focused on those who release closed source software, rather than in-fighting as to what the one true licence is. The flip side is to realise that people still have reasons for wanting to release closed source software - but those apply to people choosing the GPL, too. (E.g., if Qt was available under BSD, Digia would have far less opportunity to make money - why should they be criticised, when many commercial libraries don't have an open source version at all?)

Servant of the Lord is correct about the history of Qt. If you're going to complain that Qt should be under something like BSD rather than GPL, then you might as well criticise every commercial software for not releasing their code under _any_ free licence, let alone BSD.

I also don't see how this kind of arguing that everyone should release software under the free-est licence possible is any different to the GPL "agenda" of wanting everything to be free, that the GPL gets criticised for...


What you read is correct, in that the GNU system is distinct and does not always play well with other systems.
This is not distinct about the GPL, there are many issues in Free licences where some licences are not compatible (e.g., some of the various Creative Commons licences).

The ultimate problem is that there is a paradox - one cannot both have the freedom to do what you like with code, and also preserve freedom so that something remains free, since there is also the question of "freedom to make it non-free". The paradox is part fundamental logic, and not because anyone wanted to make something that didn't "play well with other systems". There is no right answer - just pick which you prefer.


The GPL isn't the only open source license - there are others. It's wrong to equate discouragement of using the GPL with a general discouragement of open source - just pick a different open source license instead.
Although note Digia are talking about which licence to use Qt under, and there aren't other open source licenses it is available under.

http://erebusrpg.sourceforge.net/ - Erebus, Open Source RPG for Windows/Linux/Android
http://conquests.sourceforge.net/ - Conquests, Open Source Civ-like Game for Windows/Linux


[quote name='SimonForsman' timestamp='1349715181' post='4988036']When it comes to games the biggest problem with the LGPL(and GPL if you're making an opensource game) is that your end users has to be able to upgrade / replace / modify the LGPL/GPL licensed portions, on iOS and consoles they cannot do this due to the restricted nature of the platform and thus you cannot use other peoples LGPL/GPL licensd code (v3 atleast, v2 might possibly allow it but trying to take advantage of loopholes is always risky) at all on those platforms (unless you have the original authors permission), You might also have problems with copyprotection systems since they'd have to allow the use of modified libraries.
I would then have a question about games ported to these systems which were previously GPL'ed. For instance, you can buy Doom on XBLA. Can you obtain and modify the code for the version of the game on XBLA, or is there some emulation of the old DOS/Windows binary?
[/quote]

The Doom release on XBLA isn't using the GPL license at all, it is under idSoftwares proprietary license, the same goes for most of the PC version of the game aswell. (Only the engine was released under the GPL and unless you want to use the community contributions to the engine you can buy a proprietary license from idSoftware or Zenimax). (the GPL never applies to the copyrightholder, id can release the Doom engine code under as many different licenses as they want, its first when you start using other peoples GPL licensed code that you become bound by the license

If you download the GPL licensed doom engine you get permission from id to use that code(no other code) under the terms specified in the GPL, If you make a modification and release it that modification has to be under the GPL as well and id would have to get your permission separatly if they wanted to include your modifications in their proprietary version.

v2 is also as i said earlier, not very clear (it appears to be legal to distribute v2 licensed software on restricted platforms even though the FSF dislike that practice so most GPL licensed console or iOS games are probably legal (GPLv3 isn't anywhere near as popular as v2 was)
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
It's funny, because I've seen it so often, when people release their software under an expatlike license (one of the many-fold MIT, BSD, or zlib licenses) and then get all round-eyed and outraged because someone else takes the code and modifies it and sells the software for a fee and doesn't make their code available or even acknowledge the original author. "But that's not what I intended!" they cry, "I intended for everything to work just like the GPL only I didn't want to use the GPL because it's teh eval and Richard Stallman east fried dead kittens in whale oil!!! That's not fair!!"

The thing about legalese is that you have to make explicit what you intend. If you really intend to work hard and put the fruit of your labour out there to do anything they want with it, including something lewd and lugubrious or slapping you in the face with it while naked, laughing and singing "I'm in the money", go ahead and use an MIT license. By all means. But don't, just don't, complain when that happens, because you said in advance that's what you wanted. Otherwise, feel free to gobble up as much anti-GPL propaganda as you can without triggering that gag reflex.

Stephen M. Webb
Professional Free Software Developer


It's funny, because I've seen it so often, when people release their software under an expatlike license (one of the many-fold MIT, BSD, or zlib licenses) and then get all round-eyed and outraged because someone else takes the code and modifies it and sells the software for a fee and doesn't make their code available or even acknowledge the original author. "But that's not what I intended!" they cry, "I intended for everything to work just like the GPL only I didn't want to use the GPL because it's teh eval and Richard Stallman east fried dead kittens in whale oil!!! That's not fair!!"

Emphasis mine.

While I have never encountered the scenario you're describing (and I do also avoid the GPL whenever possible, because I think it is an technically inappropriate license for anything I do as well as being morally offensive) I will note that one can still violate the terms of the MIT license, and when such a thing occurs the party who licensed the code does have every right to get upset. Specifically, in reference to what you wrote that I bolded, the license says:


Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
[/quote]
Emphasis mine, again. BSD has a similar clause, as does zlib.

This topic is closed to new replies.

Advertisement