pyvec / pyvec/naucse.python.cz

Code examples licensing is problematic

Offen
#242 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug content discussion help wanted question
Vorherrschende Sprache
Keine Sprachdaten
Sterne
335
Forks
119
Ø Merge
3 Std. 6 Min.
Gemergte PRs (30 T.)
1

Beschreibung

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?

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Prüfung der Metadaten der Lektionen und der Copyright-Footer, in denen die aktuellen Lizenzen angegeben sind. Ermittle anschließend, welche Codebeispiele von welchen Autoren beigesteuert oder aus der Dokumentation externer Projekte übernommen wurden. Sieh dir die bestehende Diskussion an, bevor du eine Neulizenzierung vorschlägst; als erledigt gilt die Aufgabe erst, wenn eine abgestimmte Lizenzrichtlinie und die erforderlichen Genehmigungen der Mitwirkenden vorliegen, nicht schon bei einer isolierten Änderung der Metadaten.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
documentation
Issue-Typ
Dokumentation
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
20/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.