Majiir

License Selection Guide

Recommended Posts

I've made a couple of images to illustrate license compatibility. License compatibility basically consists of two questions. If we find something nifty that we like and want to use it (or base something on it) in our own work, what licenses do its license constrain us to choose? Alternatively, if we release our work under a particular license, what kinds of projects are allowed to make use of it? The FSF has a nice chart illustrating which licenses are compatible with various versions of their GPL and LGPL licenses, and I've made something like it but a little less specific by basing it on classes of licenses (though not all licenses follow these trends exactly, so be a little careful). I made it to be a visual guide to help people see what various licenses permit, so that they can get a clearer idea of what they want and pick the appropriate license. This is mostly targeted at people looking to make custom plugins (i.e. DLLs), though I intend for my advice to be sound for people just looking to make, say, a parts pack. Also, stick around after the charts to read my more detailed (much more detailed) thoughts on various license options.

 

License Classification

Broadly speaking, licenses can be classified into several categories. For each, I've included some licenses in that category, some KSP addons which use licenses from that category, and my thoughts.

Permissive or "lax"

Example licenses of this kind: Public domain, Apache 2.0, some (but not all) BSD-like licenses, Creative Commons-Attribution, Attribution-NonCommercial (not quite as lax as the others), and CC0 (CC-BY, CC-BY-NC, CC0, current version: 4.0 International).

Example KSP addons which use this kind of license: Kerbal Alarm Clock, TweakableEverything.

There may be some stipulations about crediting the original author(s), or disclaiming any liability on the author's part, but broadly speaking, this stuff can be incorporated into just about anything. That's pretty cool. Unfortunately, it can also be used in stuff that doesn't guarantee freedom back to the community.

Strict copyright

Example licenses of this kind: All Rights Reserved, Creative Commons Attribution-NoDerivatives, and Attribution-NonCommercial-NoDerivatives (CC-BY-ND, CC-BY-NC-ND, current version: 4.0 International).

Example KSP addons which use this kind of license: Kerbal Attachment System, Universal Storage.

End of the line -- we can ask the owner of the copyright for an exception, but unless we get one, the only thing we can do with this stuff is use it as-is. If the author vanishes, it can mean the death of the work, as nobody's allowed to extend it or build on it. A mod released to the forum as "All Rights Reserved" is Open Source (by the forum rules), but not Free Software. This is why the terms are not synonymous.

Copyleft

The central idea behind copyleft is sometimes stated as "all rights reversed" or "free as in speech (or freedom)" (that is, "libre" instead of "gratis"/"free-as-in-beer") -- it's intentionally chosen as a reversal of the usual restrictions of copyright. A work released under a copyleft license is free ("liberated", one might say) for all to use, modify, redistribute, etc. for any purpose, but anything based on that work must be released under the same license. We can think of this as a sort of contractually-obligated "paying it forward". The advantage of copyleft over permissive licenses is that copylefted works are immune to a strategy known as "embrace-extend-extinguish". The name comes from an internal Microsoft email describing the practice, in which Microsoft (and other entities which do this) would embrace a product by making their stuff compatible with it, extend their version of that product to grow their market share, and then extinguish the competition once they had market dominance by making their version incompatible with the original. Nobody can do that to a copylefted project, because any modifications or extensions of the work must be released under the same license, so the original project (and the entire free-software community) can use those extensions, thus keeping the community's work out of the "graveyard" of restrictive copyright. There are sub-classes of copyleft licenses:

Strong copyleft

Example licenses of this kind: GNU General Public License (GPL, current version: 3.0), GNU Free Documentation License (FDL, current version: 1.3, 2.0 in progress), Creative Commons-Attribution-ShareAlike (CC-BY-SA, current version: 4.0 International).

Example KSP addons which use this kind of license: Mission Controller 2 (GPL v3), KSP Addon Version Checker (GPL v3 or later)

Exactly as stated above. The GPL is sometimes called a "viral license" by people who don't like it, but the only freedom it restricts is the "freedom" to restrict the downstream freedoms of others. GPL software can be "talked to" by external software without requiring that software to be licensed under the GPL, but the line between "talking to" and "being compiled with and incorporating" can be tricky to find.

Weak copyleft

Example licenses of this kind: GNU Lesser General Public License (LGPL, current version: 3.0).

Example KSP addons which use this kind of license: I'm not aware of any. If you know of any, please let me know so I can update this!

It's basically the GPL with an exception: any derivatives of the work itself must be released under the same license, but works that simply "use" it, e.g. including it as a software library, may be released under any license. It was developed for libraries (and in fact the first "L" originally stood for "Library") which are competing with closed-source alternatives (basically, removing one "obstacle" to corporate users who are using or considering using the strictly copyrighted competitor). That's not really the case in the KSP community, so I don't see much use for this license for KSP addons (and the FSF does not recommend it for general use).

Non-Free "Copyleft"

Example licenses of this kind: Creative Commons Attibution-NonCommercial-ShareAlike (CC-BY-NC-SA, current version: 4.0 International).

Example KSP addons which use this kind of license: Lots -- too many, in my opinion! A couple of the big ones: some members of the USI family (e.g. Karbonite), Firespitter.

I suppose Richard Stallman might argue that Non-Free copyleft isn't really copyleft at all (and I would agree), but this license includes clauses protecting some of downstream users' rights, so I'm classifying it here as copyleft-ish. I call it "Non-Free" because it restricts the freedom to use software (or other works) for any purpose, including commercial ones. I think a lot of KSP addon creators use this license because they like the idea of forbidding others from making money off of something they're not making money from, but (a) this license isn't compatible with proper software licenses like the GPL and (b) if we're giving this stuff away for no cost, how can someone else make money off of it? To answer my own question, the only way for someone to make money competing with a gratis product is to add something else. Check out companies like Red Hat, who create a version of Linux which is Free and Open Source but costs money. Paying customers get dedicated support and professional software developers making fixes and improvements -- and because of the GPL, those improvements can be used by the entire Free Software community! Paid support is probably not viable for KSP addons (especially since we community members support each other for free), but closer to home, people can get paid for making videos or articles about KSP and KSP addons. I see all of these things as good for the community, so I haven't and won't use non-commercial restrictive licenses in anything I make (unless I'm reserving all rights, of course), and I'll argue against them to anyone who will listen.

Why CC Licenses Should Not Be Used For Software

Well, the first reason is that Creative Commons itself says they shouldn't! Here's my distillation of their advice, and some extra thoughts of my own:

I see a lot of people here using CC licenses for software -- largely because of the -NC versions, I suspect. However, in addition to my reservations about -NC restrictions, CC licenses are written with artistic works in mind, and so they include terms like "performance" which are unclear in the context of software, and they don't touch on important software-specific topics like patents and the distinction between and relationship between source code and compiled binaries. The GPL, on the other hand, was written with exactly this in mind. It's not enough to say "here's a binary blob, and you're free to modify it" -- the only way to modify software is to "use the source, Luke," and so the GPL applies to not only the program but the source code used to make it. An author releasing a piece of software under a CC license could conceivably declare that it applies to the compiled DLL but not the source code. I know that this sort of thing has actually happened before -- not irreparably or permanently so, to my knowledge, but addons which are excellent, important, and Non-Free are serious single-points-of-failure for the KSP addon community.

Choosing A License

If you've read this far, you've probably gathered that I'm a fan of copyleft, and when it comes to KSP addons, you are correct. I like the GPL and how it turns the usual "thou shalt not" structure of software licensing on its head. However, the choice of license is a big one for a project, and no single solution is perfect for all cases. The Free Software Foundation has a set of guidelines for choosing licenses, and they generally advise using a permissive license, like the Apache 2.0, for short works (why go to the trouble of using a license longer than the source code itself?), and use copyleft licenses for bigger projects, especially "infrastructure" and libraries. On the other hand, I'm glad that at least a few substantial mods, like TriggerAu's Transfer Window Planner, Alternate Resource Panel, and Kerbal Alarm Clock, and toadicus's AntennaRange, AdaptiveDockingNode, and TweakableEverything, are released under permissive licenses. I think it's healthy for the community to have code which is available to learn from and extend with minimal strings attached. There is even a time and place for restrictive copyright licenses. For instance, it's extremely reasonable to reserve all rights to a project's logos (and many real Free Software projects do exactly this) to ensure that a program's and author's "identity" is clear to users. (The GPL also allows authors to add provisions requiring derivative projects to use a different name from the original.) The FSF's essays are mostly licensed under the CC-BY-ND 3.0 for this reason. They want people to be free to distribute their essays, but only in their original form.

My Final Recommendation

Only you can decide what license is right for your project, but since you've made it this far, here's what I suggest (and do):

Use something simple and permissive where it feels impractical to do otherwise, use copyleft licenses for substantial stuff (especially if you want to let other people build on it -- that way it all stays available for the whole community), and consider keeping any identifying marks, logos, and other such material strictly licensed. I would suggest avoiding CC licenses, especially for software, because (except for CC0) they're incompatible with just about everything but themselves. The GPL applies just fine to non-software stuff, but CC-BY-SA is not a bad copyleft license, especially for artwork that isn't intended to be used as an integral part of software (I wouldn't recommend using a CC license for, say, data textures). It is also possible to release the software bits of a project under one license and art bits under another, or even offer the same project under multiple licenses (many Free Software projects are released under "GPL version [whatever] or any later version"). Be sure to have a clear idea of what you want to accomplish when making your decision, and whatever you decide, lay it out clearly in READMEs, project homepages, and thread OPs. Please don't make users (or moderators) hunt for the license!

Further Reading

In case you feel the urge to read even more about copyright, copyleft, and licenses. There's loads more to be had online, but here are some essays and information pages that I think will be most helpful (I've linked to "How to choose a license for your own work", "What is Copyleft", and "Why you shouldn't use the Lesser GPL for your next library" in the essay already):

Free Software Foundation

Frequently Asked Questions about the GNU Licenses: https://www.gnu.org/licenses/gpl-faq.html

How to choose a license for your own work: https://www.gnu.org/licenses/license-recommendations.html

Various Licenses and Comments about Them: https://www.gnu.org/licenses/license-list.html

What is Copyleft: https://www.gnu.org/copyleft/copyleft.html

Why you shouldn't use the Lesser GPL for your next library: https://www.gnu.org/licenses/why-not-lgpl.html

Creative Commons

Considerations for licensors and licensees: https://wiki.creativecommons.org/Considerations_for_licensors_and_licensees

 


Phew. Thanks for reading!

Edited by Kerbas_ad_astra
Fixed the album for the forum update.

Share this post


Link to post
Share on other sites

Hi,

and thanks for this awesome compilation of information. A question though: Is it possible to 'update' a CC-license from, say 3.0 to 4.0 if the original is SA-licensed?

Thanks and Cheers

Share this post


Link to post
Share on other sites

For CC licenses, yes. They all include a provision that says, say, a CC-BY 2.0 can be used under CC-BY 3, 4, or whatever.

GPL (and probably LGPL) can be like that, but only if the author, copyright holder, or designated proxy explicitly says so. The license in the code header will say something like "released under the GPL 3.0 (or any later version)" in that case.

Share this post


Link to post
Share on other sites

I have a question, where does this go?:

<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/80x15.png" /></a><br /><span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">Astrofox's Mod</span> by <span xmlns:cc="http://creativecommons.org/ns#" property="cc:attributionName">Astrofox</span> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.

Share this post


Link to post
Share on other sites
I have a question, where does this go?:

That's intended for regular websites, if you want to set up something like below, you'll need to convert it to BBCode for use on the forum.

88x31.png

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

[URL="http://creativecommons.org/licenses/by-nc-sa/4.0/"][img=https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png][/URL]
This work is licensed under a [URL="http://creativecommons.org/licenses/by-nc-sa/4.0/"]Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License[/URL].

You can use that as a template and slot in the required bits for your chosen license.

Share this post


Link to post
Share on other sites

I really feel Kerbas' post needs to be stickied on its own, or at least directly under the OP

Share this post


Link to post
Share on other sites
On 5.8.2013 at 11:29 PM, Majiir said:

I don't care. Do whatever you want!

...or use it to develop nuclear weaponsâ€â€all without giving you any credit!...

Do you realy want the credit, for the help of developing nuklear weapons? :P

(a nuke with a big "developed with help of  Majiir" .... )

or you can upload it without a lizenz...
http://250bpm.com/blog:82
(like 80% of the repositoris on github...)

Edited by Sereneti

Share this post


Link to post
Share on other sites

Would this be acceptable for a license?

 

Licensed under creative commons Attribution Sharealike 4.0 international license, Modified with permission

Original work: http://forum.kerbalspaceprogram.com/index.php?/topic/95573-090-odysseus-planet-pack-for-old-kopernicus-v12-eve-planetshine-jan-10-2015/

 

EDIT: also, are these licenses free?

Edited by Kepler68

Share this post


Link to post
Share on other sites
On 28/06/2016 at 6:13 PM, Kepler68 said:

Would this be acceptable for a license?

 

Licensed under creative commons Attribution Sharealike 4.0 international license, Modified with permission

Original work: http://forum.kerbalspaceprogram.com/index.php?/topic/95573-090-odysseus-planet-pack-for-old-kopernicus-v12-eve-planetshine-jan-10-2015/

 

EDIT: also, are these licenses free?

yep https://creativecommons.org/choose/

Share this post


Link to post
Share on other sites

Is there any well-known or well-accepted "dead man switch" conditional license out there?  Basically, the purpose would be to prevent abandonware, and the "death" of a mod.  The way it would work would be as follows:

1. Whatever the current license is, is what is enforced.  If its ARR, then that's what it is. 

2. After a verifiable and validated "trigger event", the software and other works change to a different license, which would allow the addon to be continues by others.

3. If the original author later wishes to return to developing/maintaining the app and reassert previous copyright, they are free to do so with the original as the basis, but none of the forks or changes can be incorporated unless the base license is changed to match that of the changes.

As an example:
 

Quote

I release a "War of the Worlds" Martian Invasion Addon.  I mark it as all rights reserved. I also place the "dead man switch" license on it, stating:

if ALL the following conditions are met
1. I do not update the software repository/distribution site (GitHub or Stardock, etc) for more than 60 days since the last KSP update/upgrade
2. I do not the release thread here on the forums for more than 60 days since the last KSP update/upgrade
3. I either have not logged in on the official KSP forums for more than 60 days since the last KSP update/upgrade OR I have indicated I am no longer maintaining the addon
THEN:
The software license is changed to GPL, and the artwork and other non-software items (blender files, etc) become CC-By-NC-SA.

Life gets busy, and KSP3.6 comes out, and I can't be arsed to fiddle with it since I'm taking Elon Musks's shuttle to Mars. But the KSP community, after 60 days, can fork and continue the mod so the community gets to have an updated version, which @linuxgurugamer promptly does after checking the conditions have been met, and posts a "Martian Invasions Continued" with GPL and CC-BY-NC-SA notifications for the software.


Is there such a standardized license where all you have to do is post the "abandon" conditions along with the license notice?  Or are there any licenses with standard "abandonware" clauses in them which will "liberate" the works upon common and accepted legal criteria?

 

Share this post


Link to post
Share on other sites

AFAIK, no but you can just say "the current license is _____, if I'm gone for __ # of days then the license becomes ____"

Share this post


Link to post
Share on other sites

I mainly use the CC licenses since a simple and easy to understand guide is provided.

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