I want to publish a lot of documentation on programming and other similar topics I have been writing over the years.The documentation consist of explanations, diagrams, exercises and code examples.At this moment most of the content is my own, with some contributions from people who I personally know.My requirements are:The license must be free.I would prefer a copyleft license.I want to accept contributions from anyone, but I don't want to maintain a big file that explicitly states every contributor, unless the contributor herself adds her to the list.I want to facilitate the integration of parts or the whole of these documentation to any other free project, no matter which license they are using.What license would be the most appropriate given these requirements?Note that I'm looking for a soft copyleft: I want to avoid helping private projects, but I don't want to restrict others licensing choices.
Good licence for a new documentation project
project management;copyleft;license recommendation;documentation
Your best bet seems to be the a Creative Commons Share Alike license.Since you are looking for to license a creative work - your diagrams, examples, and words. Right away, Creative Commons should ring a bell.The CC BY-SA license looks good. Here's why:It includes a ShareAlike/Copyleft clauseThis will require anyone who makes changes to this to release the work under the same license. They can still include it, even if they don't make changes, and won't be subject to this clause.After seeing your comment, you may perhaps be interested in dual-licensing the content, under both the CC BY-SA license, and the Gnu Free Documentation License, as you noted in the comments.However, this section isn't directly related to the license, but it is something that you'll need to consider immensely so that others can follow your license: the issue of attribution.Since you are accepting contributions from multiple people, many of which aren't listing their names, it could be wise to make them accept contributor agreements. These will let you place all contributions under a common name, make the project more attractive to others that are willing to use it, and will make it easier, as contributions are already copyrighted. It can be something as simple as, if you make contributions, the copyright will be owned by so and so.