Post subject: Open Source Licencing questions
Editor
Joined: 3/31/2010
Posts: 1466
Location: Not playing Puyo Tetris
I wanted to ask, what's the difference between the Open Source Licences? I want to release source code but I don't want people to take it, slap their name on it and call it theirs. What about derivative works? What's the best/worst option?
When TAS does Quake 1, SDA will declare war. The Prince doth arrive he doth please.
Banned User, Former player
Joined: 3/10/2004
Posts: 7698
Location: Finland
HHS
Active player (282)
Joined: 10/8/2006
Posts: 356
You can find out by reading them. Since you have not stated anything about your business plan other than "I want to release source code", there is no way for anyone to advise you. What exactly is the requirement that necessitates granting an Open Source license? I can see none. If you are unsure of what you want and why, then just release the source code. In the event that someone wants to do something with it later, you can work out the conditions with them when the time comes.
Player (42)
Joined: 12/27/2008
Posts: 873
Location: Germany
Hi hegyak, There are lots of open source licenses, each with their small differences, but they can be put broadly in two categories: GPL-like and LGPL-like. The biggest difference is that GPL requires all derivative works and code that links to GPL licensed code be also released under the GPL terms, so it's a viral license. If you want to modify and distribute the code, you must also allow other people to distribute and modify it under the same terms. LGPL is more permissive, you can link to LGPL code and make derivative works of it under a proprietary license, iirc the only requirement is that the EULA allows the user to reverse engineer and debug the software (which depending on the jurisdiction is a redundant requirement, in Brazil, for example, the consumer defense code is very broad and classifies a clause banning reverse engineering as abusive (since the user would violate the agreement if he/she tried to see if the program contained malware) and would make it invalid). But remember that they're copyright licenses, so they only apply if the person who uses your code copies/distributes the software, if they only modify it and use it on their computer, you have no rights to enforce. For example, if someone takes your code, modifies it and runs on their server, they haven't distributed it, and you can't force them to release the source code under GPL terms. About derivative works, you can only enforce your rights if they copy a substantial amount of the code and fair use doesn't apply. For example, most of our emulators are released under GPL, but we can't force people to "open source" their TASes by releasing the movie file, because the movie file copies very little from the copyright-protected work in the source code, only some bytes for their header. We can only claim violation of the license if the person releases a modified emulator without the source code, requests someone to sign an NDA to disclose the code for their modification, or tries to patent something implemented in the emulator code. There's always the risk of someone forking the code, and changing some of it to remove the references to the original authors, and that doesn't violate the license, but it's very uncommon. I think the best way to prevent this is to use a hybrid license and release the code under GPL/LGPL, but the "branding" of the software (the icons, artwork and text of the about box) under a more restrictive license, requiring that unauthorized modifications remove all references to the original branding, so that it's more difficult for the person who forked it to steal your users, by making their software have a similar name.