New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Code examples licensing is problematic #242

Open
hroncok opened this Issue Oct 26, 2017 · 3 comments

Comments

Projects
None yet
2 participants
@hroncok
Member

hroncok commented Oct 26, 2017

Currently, all content on naucse.python.cz is licensed under CC BY-SA. While this license is generally one of my first choices for content as well, I don't think having code examples licensed under it is a good idea.

Problems:

  • Code examples are software. Creative Commons recommends against using Creative Commons licenses (except CC0) for software.
  • CC BY-SA requires the consumers of the content to distribute their contributions under the same (or compatible) license as the original if they remix, transform, or build upon the material. Copy-pasting and adapting examples is definitively building upon. If the students/readers want to release their creations to the public (or distribute them to anyone else), they are effectively forced to break the above rule and release their code under CC BY-SA, or choose the Free Art License (which IMHO shares the not designed for software problem), or go with GNU GPL version 3. While this might be considered a good thing by RMS, I don't think forcing people into copyleft is a good thing.
  • Nobody is doing the above anyway.

Possible solutions:

  • Grant special permission for building upon the given examples. E.g. use some kind of CC BY-SA with code examples exception.
    • This is problematic. Rule number 1 in free software (and content) licenses: Don't invent your own.
  • Explicitly relicense the code examples/snippets to another license.

I realize relicensing stuff is not easy. We would need to ask permission from everybody who ever contributed to the examples. But I think we should do it anyway. Given the fact we have license declarations in lessons' metadata, we can do it one by one and there's no need to do it all at once. For MI-PYT, the code examples are 99 % done by @encukou and me, so there it could go fast. No idea about the beginners course, but I'm quite confident it's mostly @encukou.

Another problem is we might have taken the original code examples from a project's documentation. In that case we have no right to relicense to CC0 (but we don't have the right to relicense to CC BY-SA either, so there would be no significant change happening). In the long run, asking and convincing the projects to do the same thing (making the code examples in the docs CC0) is the ultimate goal. However, I think I'd rather debate this here first.

What are you opinions on this matter?

@encukou

This comment has been minimized.

Member

encukou commented Oct 26, 2017

I am happy to relicence any of my code samples to CC0, and I apologize for my lax approach here.
Each relicenced sample needs my review to check that I'm the actual author :(

hroncok added a commit to hroncok/naucse.python.cz that referenced this issue Oct 27, 2017

hroncok added a commit to hroncok/naucse.python.cz that referenced this issue Oct 27, 2017

@hroncok

This comment has been minimized.

Member

hroncok commented Oct 27, 2017

#254 allows us to put license_code: cc0 to lessons.

hroncok added a commit to hroncok/naucse.python.cz that referenced this issue Oct 28, 2017

Add code license CC0 to several lessons
...where I'm confident me and @encukou are the only authors

Related to pyvec#242
@hroncok

This comment has been minimized.

Member

hroncok commented Oct 28, 2017

We have some examples from the Flexmock docs. I've decided to strat there, since @bkabrda is our friend and colleague: bkabrda/flexmock#23

hroncok added a commit to hroncok/naucse.python.cz that referenced this issue Oct 29, 2017

Add code license CC0 to several lessons
...where I'm confident me and @encukou are the only authors

Related to pyvec#242
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment