pyvec / pyvec/naucse.python.cz
Code examples licensing is problematic
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Không có dữ liệu ngôn ngữ
- Star
- 335
- Fork
- 119
- Merge trung bình
- 3 giờ 6 phút
- Pull request đã merge (30 ngày)
- 1
Mô tả
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.
- We could possibly go with CC BY to lift the copyleft thing, but other problems would stay valid. Hence I recommend (and vote for) CC0. I believe that Public Domain is the only kind of licensing that makes sense on code examples in learning materials.
- The copyright footer could read (something like):
Prose and graphics license: Creative Commons Attribution-ShareAlike 4.0 International.
Code examples license: CC0 1.0 Universal Public Domain Dedication.
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?
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách xem xét metadata của các bài học và phần chân trang bản quyền nêu các giấy phép hiện tại, sau đó xác định những ví dụ mã nào do tác giả nào đóng góp hoặc được lấy từ tài liệu của các dự án bên ngoài. Kiểm tra cuộc thảo luận hiện có trước khi đề xuất cấp phép lại; để được coi là hoàn tất, cần có chính sách cấp phép đã được thống nhất và các quyền cho phép cần thiết từ những người đóng góp, chứ không chỉ là một thay đổi metadata riêng lẻ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- documentation
- Loại issue
- Tài liệu
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 20/100