-
Notifications
You must be signed in to change notification settings - Fork 216
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
Relicensing (bits of) CC: Tweaked #1339
Comments
a side note if you want to port the whole project to kotlin should allow you relicense with out needing to get permission |
While a rewrite would be possible (either to Kotlin or staying in Java), it's an incredibly large task. I don't have exact numbers here, but I'd estimate there's about 25k lines of Java and 10k lines of Lua1 where Dan still retains the copyright. While these things have been done in the past, I just don't think we've got enough people to do it! Footnotes
|
i use the word port not rewrite as jet-brains has tools that automates the process to go from java to kotlin that would just leave the lua code |
Converting code to another language doesn't change the copyright. It's a bit like translating a book to another language - the original author still retains ownership! |
well i know that the Australian government begs to differ im guessing others do to |
For the record, I approve of any license changes to my contributions as long as the license is OSI-approved. |
The initial relicensing work is now complete and merged. I'm going to start the process of reaching out to people, requesting permission to relicense their contributions. I'm planning to do this in batches, just to make my life a bit easier. If you're in the list of people below (or have contributed to CC:T in the past and feel like getting ahead of things), would you be able to comment with the following message:
If you're not happy to relicense your contributions, please also let me know, so I know not to poke you further!
|
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. Additionally, I assign copyright ownership of my project contributions to the CC: Tweaked project. I am really liking the direction this re-licensing takes project in. |
Is there an option to transfer whatever copyrights I may hold on my contributions to the project, or such, rather than just licensing them? |
Yep, I'm happy to do that, though I think in that case I'd probably rather both? The legal complexities of copyright assignment are a bit more messy, so I'd like to CYA as much as possible! I don't know if the following sounds reasonable?
|
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. Additionally, I assign copyright ownership of my contributions to the CC: Tweaked project |
Works for me. I consider my contribution to be a donation to the project. My continuing to hold whatever copyright I might have goes against my intent with regards to my contribution to this project. I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. Additionally, I assign copyright ownership of my CC: Tweaked project contributions to the CC: Tweaked project. |
You can changes / multi-license my past contributions in this project. As may times as you want as long as:
|
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. Additionally, I assign copyright ownership of my project contributions to the CC: Tweaked project. Great to see this is finally happening, fantastic work on the relicensing effort so far! |
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. |
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. Additionally, I assign copyright ownership of my project contributions to the CC: Tweaked project. |
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. I should note that there is at least one PR that has commits by me where I do not claim ownership of the code, instead, the code was copied from other changes that @SquidDev was making at the time. I will see if I can find the PR mentioned and link it. |
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. Additionally, I assign copyright ownership of my project contributions to the CC: Tweaked project. |
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. I kindly request that all of my past and future contributions made to the Computer Craft project be considered under the MPL-2.0 license, where applicable. |
What would happen to the code of people who do not agree? And what will be the future license CC:T will use (did not saw it in the messages of squid)? |
That code would remain under CCPL.
MPL 2.0 is the goal, though it's highly likely that a portion is still CCPL, so it would be dual-license. |
Currently, nothing. That code will remain in the mod and licenced under the CCPL. If Dan ever agrees to relicense the original ComputerCraft code, then I would probably start looking into rewriting or removing that code, but I think that's pretty unlikely.
The main description goes into this in a bit more detail, but the general gist is that we're handling licensing on a per-file basis rather than a blanket project-wide license. New code will be under the MPL 2.0. I guess for some additional context here on the choice of MPL 2.0, both Dan and I would prefer that CC remains under a copyleft license. I personally don't think GPL and LGPL are a great choice here, as part of the relicensing is to make it easier to reuse components of the mod (especially the ROM) in other projects, hence MPL 2.0 instead. |
Personally I would say the ROM can remain under CCPL, since not much has needed to be changed on that front over the years. However the mod code has been changed alot, to the point where in modern versions I doubt much of the original code even exists outside of references to |
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. |
4 similar comments
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. |
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. |
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. |
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. |
I thought I had already commented here, but apparently not! Fixing that now: I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. Additionally, I assign copyright ownership of my contributions to the CC: Tweaked project. |
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. |
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. Additionally, I assign copyright ownership of my contributions to the CC: Tweaked project. |
I also assign copyright ownership of my contributions to the CC: Tweaked project. |
code from me was provided as public domain, dgaf |
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. |
I assign copyright ownership of my contributions to the CC: Tweaked project. |
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. Additionally, I assign copyright ownership of my contributions to the CC: Tweaked project. As usual, thank you so much for the tremendous time and effort you put in this and other work you do for this project, Squid. I probably can speak for many if I say that computercraft, specifically CC: Tweaked, has had an immeasurable impact on the direction of my life, my interest in programming, the friends I currently have and the talent I'm currently putting forward in my work area. Good luck continuing this project! ❤️ |
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. |
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. Thank you for this project, had a lot of joy coding in minecraft with it. |
I permit the license of my contributions to the CC: Tweaked project to be
changed to the Mozilla Public License, v. 2.0
…On Mon, Jun 19, 2023 at 2:12 PM Paspartout ***@***.***> wrote:
I permit the license of my contributions to the CC: Tweaked project to be
changed to the Mozilla Public License, v. 2.0.
Additionally, I assign copyright ownership of my contributions to the CC:
Tweaked project.
Thank you for this project, had a lot of joy coding in minecraft with it.
—
Reply to this email directly, view it on GitHub
<#1339 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABXUZIM7C6TXCCFNIJ2HWFDXMCJB5ANCNFSM6AAAAAAU6SUUXI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. |
I thought I already signed this off but I can't find my comment. Oh well. I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. |
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. |
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. |
If I count correctly, there only 14 people without answer. Unfortunately Dan is part of them... |
There's a few people who don't have a GitHub account, so aren't included in the above list. I've got in touch with those people in other ways (thought not heard back from everyone). From my spreadsheet, there's 15 people left, 16 including Dan. I've not spoken to Dan since creating this issue — I had a chat with him about licensing back in October 2022, but not since. I don't really want to harass him any further about this — he deserves his beauty rest from the mod :). |
If it's worth anything, Dan's been semi-active in the CC Discord, and I know he's had to do a few things around the implosion of computercraft.info. Maybe he's open to finally passing the torch fully now? |
Not sure if I did this, if not I apologize, but I totally respect the
effort.
I permit the license of my contributions to the CC: Tweaked project to be
changed to the Mozilla Public License, v. 2.0. Additionally, I assign
complete ownership of any and all of my contributions to the project to the
project and it's maintainers.
heap_underflow
…On Wed, Mar 29, 2023, 11:21 AM Jonathan Coates ***@***.***> wrote:
Thank you for everyone who has agreed so far! Just adding a couple of
extra people that I'm afraid my script missed the first time round:
------------------------------
If you're in the list of people below, would you be able to comment with
the following message:
I permit the license of my contributions to the CC: Tweaked project to be
changed to the Mozilla Public License, v. 2.0.
If you're not happy to relicense your contributions, please also let me
know, so I know not to poke you further!
User Permission granted Contributions
@Gegy <https://github.com/Gegy> dan200/ComputerCraft#237
<dan200/ComputerCraft#237>
@heap-underflow <https://github.com/heap-underflow> #1131
<#1131>
@itisluiz <https://github.com/itisluiz> #1127
<#1127>
@Lignum <https://github.com/Lignum> Numerous
@lilyzeiset <https://github.com/lilyzeiset> #749
<#749>
@Restioson <https://github.com/Restioson> dan200/ComputerCraft#237
<dan200/ComputerCraft#237>
—
Reply to this email directly, view it on GitHub
<#1339 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AXGY5GJEMHH4L4CLUOERYN3W6R4TRANCNFSM6AAAAAAU6SUUXI>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I permit the license of my contributions to the CC: Tweaked project to be changed to the Mozilla Public License, v. 2.0. Glad to see this project continuing and going to a more copyleft licence |
I've been wanting to do this for years, and seriously considering it for about 4 months now, so might as well get the ball rolling somehow!
The Problem
When ComputerCraft was originally open sourced, it was released under the CCPL (ComputerCraft Public License), a derivative of the MMPL (Minecraft Mod Public License). Unfortunately, both the MMPL and CCPL have a couple of issues, which range from irritating to gaping holes:
It's not a standard OSI-approved license. While in some sense this is purely a cosmetic issue, it has stopped several people contributing, and also blocks us from participating in some initiatives such as Modtoberfest.
Code licensed under the CCPL can only be used in other Minecraft mods, and that code must be licensed under the CCPL. This means that any usage of the code in a non-mod project (including emulators or CC programs) violates the license.
This is an incredibly restrictive clause, to the point that it's counterproductive. I can think of half a dozen (well meaning and useful!) projects off the top of my head which violate this clause.
All dependencies of ComputerCraft must be licensed under conditions comparable to the CCPL. We inherit this condition from the MMPL, and it's definitely a problematic one. While I do not believe it's the intention, the practical outcome is that all dependencies must be licensed under the CCPL. While there are exceptions for Minecraft and the mod loader (Forge/Fabric), there aren't any exceptions for other dependencies, such as the Java Standard Library or Netty.
This suggests that even ComputerCraft itself violates its own license, a position which is clearly untenable!
The difficulty of relicensing
Given CC/CC:T's license is somewhere between awkward and untenable, I would like to relicense CC: Tweaked under something more standard and permissive.
Relicensing a project requires getting every single previous contributor to sign off on the new license. This is incredibly hard for a couple of reasons:
Firstly, CC: Tweaked has had 98 people contribute to it. While 20-30 of these people have only committed trivial changes, which don't require permission, this is still a lot of people and will be a slow process. I remember Forge's relicensing process took months, and I don't think BuildCraft ever managed to complete theirs!
Secondly, and perhaps more seriously, this list of people includes Dan. I have raised relicensing CC with Dan in the past, and while he's been receptive, as of writing nothing concrete has happened. I think we should assume that we will NOT be able to get Dan's permission to relicense his code.
Alternatives
While we cannot change the whole mod, I do think we should aim to relicense as much code as possible under something more permissive.
I'm proposing using the Mozilla Public License 2.0 (MPL 2.0) as the license of choice here. This is a weak copyleft license, which means that changes to the original code must be released (more or less forcing forks of the mod to remain open source) but unlike the GPL (or derivatives) is not viral, meaning it can be used in more permissively licenced projects.
In terms of actually handling the relicensing, I believe our best route here is to adapt the REUSE project's conventions: tracking copyright and licensing on a file-by-file basis, rather than a blanket license for the whole project.
I'm not entirely sure this is Correct(TM): if anyone in the UK knows a good source of legal advice for OS software licensing please do get in touch. However, I think it's a Best Effort given the current mess we're in.
In closing
I don't know if any of the above sounds remotely sensible. Would appreciate any and all feedback here!
I'm probably going to let this issue sit for a few weeks to gather some feedback, then will update this issue on whether I want to go ahead with this or not.
The text was updated successfully, but these errors were encountered: