Jump to content

  • Log In with Google      Sign In   
  • Create Account


Open Source Downgration


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
32 replies to this topic

#1 TheVirtualDragon   Members   -  Reputation: 237

Posted 08 October 2012 - 09:59 AM

I was looking at the QT-Digia site, and I found that they really try not to get people to use open source. So i thought that it would be a good game to see how many examples we can find of companies trying to downgrade open source projects or licenses.

Here's what Digia say about GPL:

LGPL and GPL are complex licenses that contain many obligations and restrictions you must abide with. Always consult an experienced lawyer before choosing these licenses for your project.


Is it really that dangerous to develop under LGPL and GPL? On Linux, most things are GPL so I find this really weird.
What's This?: basically, it's my blog. Click on it.

Sponsor:

#2 SimonForsman   Crossbones+   -  Reputation: 5753

Posted 08 October 2012 - 10:53 AM

I was looking at the QT-Digia site, and I found that they really try not to get people to use open source. So i thought that it would be a good game to see how many examples we can find of companies trying to downgrade open source projects or licenses.

Here's what Digia say about GPL:

LGPL and GPL are complex licenses that contain many obligations and restrictions you must abide with. Always consult an experienced lawyer before choosing these licenses for your project.


Is it really that dangerous to develop under LGPL and GPL? On Linux, most things are GPL so I find this really weird.


No, it is not "dangerous" (atleast not any more dangerous than software development in general) to develop under LGPL or GPL, There are however things you need to keep in mind if you're using LGPL licensed libraries in a proprietary project. (The GPL is quite simple, if you use any GPL licensed code then everything that touches that code has to be released under either the GPL or a license that grants the atleast same rights and doesn't add any additional restrictions for the end user).

As far as complexity goes both the GPL and the LGPL are reasonably straightforward compared to pretty much every single proprietary license i've seen thus far so i don't think the need to consult a lawyer is any greater with LGPL licensed libraries(Its always a good idea to consult a lawyer if you intend to distribute software in countries such as the US where the patent minefields are a big problem) unless you intend to find a way around the restrictions of the licenses.
Compared to other less restrictive opensource licenses however the GPL and LGPL are fairly complex and for proprietary development (most games are proprietary since it is very difficult to find a good businessmodel for a free software game) other licenses tend to fit much better.

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.

Edited by SimonForsman, 08 October 2012 - 11:21 AM.

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!

#3 mhagain   Crossbones+   -  Reputation: 7418

Posted 08 October 2012 - 11:45 AM

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.

About the GPL itself, it has deep deep roots in a particular computing culture, and that's late-70s computing academia and the old MIT hacker culture. The entire GNU project started off as a result of restrictions on source code availability in this culture, and if you want to be brutally honest (or honestly brutal even) about it, it doesn't really have much in common with the idea of "a computer on every desk and in every home".

Why is it used so much in Linux? Well the full name of the OS should give you a clue - GNU/Linux. Linux is just the kernel; the name may have stuck but huge chunks of the OS come from the GNU project, so the GPL is naturally used.

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#4 TheVirtualDragon   Members   -  Reputation: 237

Posted 08 October 2012 - 01:34 PM

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.

Edited by TheVirtualDragon, 08 October 2012 - 01:34 PM.

What's This?: basically, it's my blog. Click on it.

#5 phantom   Moderators   -  Reputation: 6786

Posted 08 October 2012 - 01:59 PM

If you use GPL code/libraries in your software then, unless it has some kind of runtime exception (see GCC) your software must also be GPL licensed.

If you use LGPL code/libs in your software then if you dynamically link with it (think DLLs on Windows) your code does not have to be GPL, but if you statically link then the GPL rules apply.

(Personally I wouldn't touch GPL code with someone elses keyboard and LGPL only if I really had no other choice in the matter. What code I have released over the years has been covered by the zlib license.)

#6 Cornstalks   Crossbones+   -  Reputation: 6966

Posted 08 October 2012 - 02:43 PM

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.

Not quite. As phantom said, if you dynamically link to an LGPL library, you're perfectly fine and can keep your project as a closed source commercial program. Alternatively, you could technically statically link to an LGPL program and stay closed source as well, so long as you release your compiled object files so end users can re-link.

We use some LGPL libraries in some of our commercial applications at my work.
[ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]

#7 phantom   Moderators   -  Reputation: 6786

Posted 08 October 2012 - 04:37 PM

We use some LGPL libraries in some of our commercial applications at my work.


Yeah, I believe we use at least one LGPL lib (audio file related) in our build process and I wouldn't be surprised if there was one or more unmodified GPL app somewhere in the build tools either.

#8 Heath   Members   -  Reputation: 344

Posted 08 October 2012 - 05:45 PM

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?

#9 TheChubu   Crossbones+   -  Reputation: 3698

Posted 08 October 2012 - 06:17 PM

Why is it used so much in Linux? Well the full name of the OS should give you a clue - GNU/Linux. Linux is just the kernel; the name may have stuck but huge chunks of the OS come from the GNU project, so the GPL is naturally used.

I don't quite agree. Yes, it does feels "natural" to use the GPL in open source development but why exactly? I think it just has more to do with the combined influence of Linus Torvalds and Richard Stallman over the people who promote open source, since the GPL is pretty much the only thing in which both agree.

Stallman started it, Torvalds gave it some force, and the developers went along with it. That's my view.

"I AM ZE EMPRAH OPENGL 3.3 THE CORE, I DEMAND FROM THEE ZE SHADERZ AND MATRIXEZ"

 

My journals: dustArtemis ECS framework and Making a Terrain Generator


#10 Sirisian   Crossbones+   -  Reputation: 1636

Posted 08 October 2012 - 06:27 PM

Why is it used so much in Linux? Well the full name of the OS should give you a clue - GNU/Linux. Linux is just the kernel; the name may have stuck but huge chunks of the OS come from the GNU project, so the GPL is naturally used.

I don't quite agree. Yes, it does feels "natural" to use the GPL in open source development but why exactly? I think it just has more to do with the combined influence of Linus Torvalds and Richard Stallman over the people who promote open source, since the GPL is pretty much the only thing in which both agree.

Stallman started it, Torvalds gave it some force, and the developers went along with it. That's my view.

I think you misunderstood him. Anything the GNU touches is generally GPL. It's a license that tends to infect and grow into projects.

That said regarding open source you'll find many people prefer the MIT license.

#11 Bacterius   Crossbones+   -  Reputation: 8152

Posted 08 October 2012 - 06:45 PM

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.

The slowsort algorithm is a perfect illustration of the multiply and surrender paradigm, which is perhaps the single most important paradigm in the development of reluctant algorithms. The basic multiply and surrender strategy consists in replacing the problem at hand by two or more subproblems, each slightly simpler than the original, and continue multiplying subproblems and subsubproblems recursively in this fashion as long as possible. At some point the subproblems will all become so simple that their solution can no longer be postponed, and we will have to surrender. Experience shows that, in most cases, by the time this point is reached the total work will be substantially higher than what could have been wasted by a more direct approach.

 

- Pessimal Algorithms and Simplexity Analysis


#12 mhagain   Crossbones+   -  Reputation: 7418

Posted 08 October 2012 - 06:57 PM

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.

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#13 Hodgman   Moderators   -  Reputation: 27585

Posted 08 October 2012 - 07:00 PM

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.

Edited by Hodgman, 08 October 2012 - 07:04 PM.


#14 Heath   Members   -  Reputation: 344

Posted 08 October 2012 - 07:15 PM

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.

#15 Heath   Members   -  Reputation: 344

Posted 08 October 2012 - 08:01 PM

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.

#16 Servant of the Lord   Crossbones+   -  Reputation: 17068

Posted 08 October 2012 - 08:24 PM

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

It's perfectly fine to abbreviate my username to 'Servant' rather than copy+pasting it all the time.

[Fly with me on Twitter] [Google+] [My broken website]

All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God.                                                                                                                                                       [Need free cloud storage? I personally like DropBox]

Of Stranger Flames - [indie turn-based rpg set in a para-historical French colony] | Indie RPG development journal


#17 mdwh   Members   -  Reputation: 816

Posted 09 October 2012 - 09:56 AM

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://homepage.ntlworld.com/mark.harman/conquests.html - Conquests, Open Source Civ-like Game for Windows/Linux

#18 SimonForsman   Crossbones+   -  Reputation: 5753

Posted 09 October 2012 - 11:09 AM

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?


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

#19 Bregma   Crossbones+   -  Reputation: 4757

Posted 09 October 2012 - 01:56 PM

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

#20 Josh Petrie   Moderators   -  Reputation: 2954

Posted 09 October 2012 - 02:55 PM

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.

Emphasis mine, again. BSD has a similar clause, as does zlib.

Josh Petrie | Core Tools Engineer, 343i | Microsoft C++ MVP





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS