Sign in to follow this  
TheVirtualDragon

Open Source Downgration

Recommended Posts

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:

[quote]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.[/quote]

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

Share this post


Link to post
Share on other sites
SimonForsman    7642
[quote name='TheVirtualDragon' timestamp='1349711976' post='4988020']
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:

[quote]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.[/quote]

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

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

Share this post


Link to post
Share on other sites
mhagain    13430
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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
_the_phantom_    11250
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.)

Share this post


Link to post
Share on other sites
Cornstalks    7030
[quote name='TheVirtualDragon' timestamp='1349724863' post='4988082']
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.
[/quote]
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.

Share this post


Link to post
Share on other sites
_the_phantom_    11250
[quote name='Cornstalks' timestamp='1349729026' post='4988110']
We use some LGPL libraries in some of our commercial applications at my work.
[/quote]

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.

Share this post


Link to post
Share on other sites
Heath    357
[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.[/quote]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?

Share this post


Link to post
Share on other sites
TheChubu    9446
[quote name='mhagain' timestamp='1349718306' post='4988055']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.[/quote]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.

Share this post


Link to post
Share on other sites
Sirisian    2263
[quote name='TheChubu' timestamp='1349741869' post='4988161']
[quote name='mhagain' timestamp='1349718306' post='4988055']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.[/quote]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.
[/quote]
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.

Share this post


Link to post
Share on other sites
Bacterius    13165
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.

Share this post


Link to post
Share on other sites
mhagain    13430
[quote name='TheVirtualDragon' timestamp='1349724863' post='4988082']
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.
[/quote]

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 [i]intention[/i] 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 [url="http://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses"]here[/url] 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.

Share this post


Link to post
Share on other sites
Hodgman    51223
[quote name='Bacterius' timestamp='1349743524' post='4988165']
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.
[/quote]+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 [url="http://en.wikipedia.org/wiki/Eclipse_Public_License"]EPL[/url] over the LGPL. Edited by Hodgman

Share this post


Link to post
Share on other sites
Heath    357
[quote name='TheVirtualDragon' timestamp='1349711976' post='4988020']Is it really that dangerous to develop under LGPL and GPL? On Linux, most things are GPL so I find this really weird.[/quote]
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.

Share this post


Link to post
Share on other sites
Heath    357
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.

Share this post


Link to post
Share on other sites
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[/size])

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), [b][i]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. [/i][/b]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 [i]want[/i] 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 [url="http://en.wikipedia.org/wiki/Qt_(framework)#Licensing"]Wikipedia[/url] seems to mostly agree with my recollections of the events (which I think I read on the (old Nokia-led) official Qt site).

Share this post


Link to post
Share on other sites
mdwh    1108
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...

[quote name='Heath' timestamp='1349745309' post='4988174']
What you read is correct, in that the GNU system is distinct and does not always play well with other systems.[/quote]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.

[quote name='mhagain' timestamp='1349718306' post='4988055']
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.[/quote]Although note Digia are talking about which licence to use Qt under, and there aren't other open source licenses it is available under.

Share this post


Link to post
Share on other sites
SimonForsman    7642
[quote name='Heath' timestamp='1349739927' post='4988154']
[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.[/quote]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)

Share this post


Link to post
Share on other sites
Bregma    9199
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.

Share this post


Link to post
Share on other sites
jpetrie    13103
[quote name='Bregma' timestamp='1349812568' post='4988458']
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 [b]acknowledge the original author[/b]. "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!!"
[/quote]
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:

[quote]
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 [b]without restriction[/b], 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, [b]subject to the following conditions[/b]:
[b]The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.[/b]
[/quote]
Emphasis mine, again. BSD has a similar clause, as does zlib.

Share this post


Link to post
Share on other sites
[quote name='Bregma' timestamp='1349812568' post='4988458']
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.[/quote]
I feel open source [i]programs[/i] are good to release under GPL, [i]large libraries and frameworks[/i] are good under LGPL, and [i]code snippets or small libraries[/i] are best under zlib or similar.

Really, I don't like it when there is a 20 line piece of code that is available for free, that I then have to bother tracking who created it, and make sure to give them credit for their 1/200000th share of the code in my project. Oftentimes, I find it easier to just to write my own so I don't have to bother with their version. But if they truly want to make something available for use that can fit within a single blog post, or is a single header file, make it public domain or MIT-like.

It's not that I don't want to give credit where credit is due, it's just that for a small chunk of code, it's just not worth the hassle and legal risk if I forget to credit all 30 people that once posted something on some site somewhere that I once used sometime in the past two years in one codebase that now is being used in a new project. It's not just the crediting either - I have to get their licenses, and make sure users can tell license #22 goes to code snippet #22, even though license #22 is the same license as license #15, #17, and #4, and a slightly modified version of license #12 and #14. [img]http://public.gamedev.net//public/style_emoticons/default/rolleyes.gif[/img]

For larger chunks of code (like libraries) it's totally worth the minor inconvenience.
In a related note, it's a pain to track down all the licenses for the sound samples maybe-used by the composer who's working for you (quite generously for free! So it's worth the hassle - but it's still a pain), because the composer doesn't fully understand the legal aspect of "free" sound samples downloaded from sites.

Creative Commons Attribution is great! Except for a 1/15th second whistle that's only used once in a 5 minute song. [img]http://public.gamedev.net//public/style_emoticons/default/dry.png[/img]

Share this post


Link to post
Share on other sites
Heath    357
[quote name='Servant of the Lord' timestamp='1349816234' post='4988482']Really, I don't like it when there is a 20 line piece of code that is available for free, that I then have to bother tracking who created it, and make sure to give them credit for their 1/200000th share of the code in my project. Oftentimes, I find it easier to just to write my own so I don't have to bother with their version. But if they truly want to make something available for use that can fit within a single blog post, or is a single header file, make it public domain or MIT-like.

It's not that I don't want to give credit where credit is due, it's just that for a small chunk of code, it's just not worth the hassle and legal risk if I forget to credit all 30 people that once posted something on some site somewhere that I once used sometime in the past two years in one codebase that now is being used in a new project. It's not just the crediting either - I have to get their licenses, and make sure users can tell license #22 goes to code snippet #22, even though license #22 is the same license as license #15, #17, and #4, and a slightly modified version of license #12 and #14.[/quote]
Does that really happen to you often? I can't imagine this happening all that often.

[quote]In a related note, it's a pain to track down all the licenses for the sound samples maybe-used by the composer who's working for you (quite generously for free! So it's worth the hassle - but it's still a pain), because the composer doesn't fully understand the legal aspect of "free" sound samples downloaded from sites.

Creative Commons Attribution is great! Except for a 1/15th second whistle that's only used once in a 5 minute song.[/quote]Sound samples are a mess. Have you seen that "Copyright Criminals" documentary on Netflix? It's interesting, and it covers a lot of the basic problems with owning the rights to sounds, and just how that has affected music since sampling and turn-tables became instruments unto themselves. Edited by Heath

Share this post


Link to post
Share on other sites
derda4    148
[quote name='SimonForsman' timestamp='1349802550' post='4988411']
(GPLv3 isn't anywhere near as popular as v2 was)
[/quote]

What is the difference, if I release something with GPL version 2 or 3?

Share this post


Link to post
Share on other sites
[quote name='Heath' timestamp='1349933847' post='4988969']
[quote name='Servant of the Lord' timestamp='1349816234' post='4988482']Really, I don't like it when there is a 20 line piece of code that is available for free, that I then
It's not that I don't want to give credit where credit is due, it's just that for a small chunk of code, it's just not worth the hassle and legal risk if I forget to credit all 30 people that once posted something on some site somewhere that I once used sometime in the past two years in one codebase that now is being used in a new project. It's not just the crediting either - I have to get their licenses, and make sure users can tell license #22 goes to code snippet #22, even though license #22 is the same license as license #15, #17, and #4, and a slightly modified version of license #12 and #14.[/quote]
Does that really happen to you often? I can't imagine this happening all that often.[/quote]
Excluding third-party libraries, I use several pieces of code found online (probably 4 or 5. Much less than 1% of my code) and avoid adding more if it's a small code snippets I can write myself, because I am (or think I am) required to distribute a license for each piece of code. I've never gotten into legal trouble, but since I am working on my first commercial game, I'm trying to be extra careful.

I don't mind libraries - I remember and can list every library I use just from memory: Lua, Boost Filesystem, Qt 4.8, SFML 2. I can look up their licenses (and the licenses of the libraries [i]they[/i] use) at any time, before I have to ship. The information is recorded for me.

However, it's much harder for me to remember: "The string to int conversion code is code I once downloaded from sourceforge"; but even that's not bad: I paste a copy of the URL as a comment next to the function, so I can refind the license if I forgot... though I still have to remember that the code is even being used.
Even worse is when the URL I got it from [i]isn't[/i] someplace like SourceForge, but someone's blog, and the URL can go dead. The code snippet doesn't have a name identifying it, so it's harder to track down.
Further, what counts as giving the coder credit? "[i]One of the code snippets use in this game, which doesn't have a name, was downloaded from a URL that no longer works, on a domain name that has expired, and was once posted five years ago by a blogger going by the name '2cool4you'.[/i]"

Why must I go through the hassle of giving 'credit' when the end result doesn't actually give credit, and for only a 4-line algorithm? Release it to the public domain, and don't worry about credit! If paranoid, slap on a "[i]I claim no responsibility for any damage this code might do, or for any flaws within it. Use at your own risk.[/i]"

Coders slapping on, "yeah, and give me credit if you use it" probably don't really care for credit for a 20 line or less piece of code when it's used 5 years later, but it gives the person using it extra work which actually [i]discourages [/i]them (or at least me) from using it unless they need it badly enough.

If your code isn't large enough to actually have a name, it's probably not large enough to bother asking credit for. [img]http://public.gamedev.net//public/style_emoticons/default/dry.png[/img]
If you really want credit for it, at least do the future users the great kindness of putting the license (or a permalink to the license) as a comment in the main header file, along with the name or username you wish to be credited under, and a link to the website you'd like us to link to, with permission to not link to the website if it no longer exists.
And if you don't care about credit: Release as public domain and do us all a big favor!

So no, it's not that big of a problem for me, since I [i]avoid [/i]using that code unless I really need it.

[quote][quote]In a related note, it's a pain to track down all the licenses for the sound samples maybe-used by the composer who's working for you (quite generously for free! So it's worth the hassle - but it's still a pain), because the composer doesn't fully understand the legal aspect of "free" sound samples downloaded from sites.

Creative Commons Attribution is great! Except for a 1/15th second whistle that's only used once in a 5 minute song.[/quote]Sound samples are a mess. Have you seen that "Copyright Criminals" documentary on Netflix? It's interesting, and it covers a lot of the basic problems with owning the rights to sounds, and just how that has affected music since sampling and turn-tables became instruments unto themselves.
[/quote]
I have not seen it - just added to the top of my instant-watch queue, thanks! I love netflix. [img]http://public.gamedev.net//public/style_emoticons/default/happy.png[/img]
I'm referring more to legitimate websites like [url="http://www.freesound.org/"]Freesound.org[/url], where I have to make sure my musician doesn't accidentally use any non-commercial samples, and badger him to provide links to each samples he did use, so I can credit the users (for each individual sample) where the license requires attribution. [img]http://public.gamedev.net//public/style_emoticons/default/sad.png[/img]

Unfortunately, Creative Commons got rid of the non-attribution license, so it's not possible for people to say "share-alike non-attribution". Either it's completely public domain (which is good and they have a license for - but I wish they'd promote it more on their 'build-a-license' page), or it's "attribution" by default, with no way to uncheck that (as far as I can tell).

[quote name='TheVirtualDragon' timestamp='1349971305' post='4989137']
So if I use QT to develop my application, then the overall application could be, say, MIT, because it is compatible with GPL? And what is the difference between GPL3 and GPL2?
[/quote]

Sure, Qt under LGPL, you can license your own code under anything you want. I'm using Qt for a commercial game.
You only need to worry about the following things: If you [i]modify Qt itself[/i], you must release the [i]modifications [/i](but the rest of the code is still yours and doesn't have to be released), and if you [i]statically link[/i] to LGPL software, your code (or object files) must be [i]available [/i]for people to rebuild your project, though you can still choose under what license (even non-opensource licenses). So just be sure you dynamically link (use DLLs instead of injecting the Qt code into your executable).

Those two notes are easy enough to avoid, and well worth the non-hassle they introduce. "Use DLLs instead of static linking. Got it!"

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this