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.

  • Can you elaborate on your fourth point? It's not exactly clear.
    – Zizouz212
    Aug 29, 2015 at 17:19
  • 1
    There are licenses that are incompatible with other licenses. For example, if I use the GFDL and another project is using a CC, they will have licensing problems if they want to use some of my material. This is something I want to avoid.
    – joanq
    Aug 29, 2015 at 22:53

1 Answer 1


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 clause

    This 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".

  • 4
    Important to note that the example in the last sentence is not a valid contributor agreement, don't use it! Get a legally verified agreement.
    – ArtOfCode
    Aug 29, 2015 at 19:21
  • Yes, of course. It was only intended as an example of its objectives.
    – Zizouz212
    Aug 29, 2015 at 19:48
  • 1
    This article about dual-licensing seems pertinent: GFDL versus CC-by-sa. They state that it's not a good idea to dual license because "it breaks your ability to use other people's work. I.e. If you want to incorporate a modification or addition done under only one license, you can't (in a strict legal sense) then take it and publish again under your dual license."
    – joanq
    Aug 30, 2015 at 9:21
  • In that comment then, I assume that you would like to take other peoples changes ad bring it into your own work. In that case, just use the Creative Commons license I mentioned in the first place: it's a well known license, and I personally wouldn't have any concerns.
    – Zizouz212
    Aug 31, 2015 at 0:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.