[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.
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
they 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
isn't 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? "
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'."
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 claim no responsibility for any damage this code might do, or for any flaws within it. Use at your own risk."
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
discourages 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.
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
avoid using that code unless I really need it.
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.
I'm referring more to legitimate websites like Freesound.org, 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.
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).
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?
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 modify Qt itself, you must release the modifications (but the rest of the code is still yours and doesn't have to be released), and if you statically link to LGPL software, your code (or object files) must be available 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!"