Replies: 3 comments
-
This is an interesting idea. I've dug through CraftOS's code somewhat, but not extensively, and I think there is potential for this idea to work. A reimplementation would obviously be a ton of work but would allow one to remove all the DanCode™ and improve the layout of things under-the-hood. I have actually considered doing something like this in the past. Regarding licensing, I think in this instance Dan200 is very unlikely to actually take action against a full from-scratch reimplementation of CraftOS, _particularly one that doesn't use any of CraftOS's code, and I don't think Squid would do so either. It's a bit of a legal gray area, though, and I'm not a law expert by any stretch of the term. |
Beta Was this translation helpful? Give feedback.
-
My opinion is that it would be nice to have one for sake of Linux distros that are vehemently anti-proprietary software (Fedora is one I have recently run into), as well as to give myself a bit of legal padding, but one huge problem is that it would bring the possibility of compatibility regression, which is something I've been fighting for over two years, and I don't want to break things just to give myself a bit more headroom legally. Plus, I doubt anyone's really going to go after me for this (mainly Dan or Squid), and if they did I'd just take the L. (Though having to go to the UK for proceedings would be a pain.) I'm also way too tainted to be able to do anywhere near a cleanroom reimplementation, so I'd need someone else to do it to actually be safe legally. Even if I did ship a reimplementation, it would still be just an option alongside CC:T CraftOS to avoid those regressions, mainly for the ultra-copyleft distros out there (and maybe very legally-sensitive stores like Apple or something). In other news, I am working on a project to replace CraftOS entirely with an incompatible API, which could theoretically be shipped as an alternate version of the app (and I've been considering this as a way to make it cleanly FOSS). However, I don't see it being done in 2022, and users would likely not use it unless somehow this project upended CraftOS entirely, since it does (mostly) break from CraftOS standards. It will have some CraftOS backcompat modules (including a shim library and VM), but it's still more complicated than just popping open a CraftOS shell. IMO the most realistic solution to this problem would be to have Squid, Dan, and the 30-50+ other contributors all agree to switch to a better license like MIT or GPL. Which is still really unrealistic, because trying to get a consensus from 50+ random people online who have been on and off for five years is difficult. But maybe it could happen - wishful thinking, but that's really the only way to keep everything working right, and without searching for someone who knows just enough about CraftOS to write all of it, while not knowing enough about what the code actually looks like. |
Beta Was this translation helpful? Give feedback.
-
In the past few days I've banged out Recrafted, which is a semicompatible CraftOS reimplementation under the MIT license. The only CraftOS code it uses is a few modules whose contributors have agreed to their delicensing. Its compatibility mode isn't perfect but does at least run some CraftOS programs - and the APIs themselves are all (mostly) compliant. It's more intended for CC2 (if/when that happens), but it could fit here too. ETA: Recrafted prioritizes sanity over compatibility. All CraftOS's environment weirdness doesn't happen (though this does break certain programs, so I may implement it for the compatibility mode) and there's no |
Beta Was this translation helpful? Give feedback.
-
Currently the license for the ComputerCraft ROM is non-libre and has clauses which forbids uses outside of Minecraft and use by people without a Minecraft licence, which means it shouldn't be used for CraftOS. And unless the license would change, I think a reimplementation under a better licence should be done. (I would probably follow with the MIT license)
I think USA copyright means it would need at least a bit of clean-room reverse-engineering (cf. https://github.com/ddevault/TrueCraft/wiki/Reverse-engineering-guidelines for a similar one).
Myself and other likely contributors are maybe too tainted, I'm not very familiar with USA laws. (I have used ComputerCraft, but I don't remember having seen it's code).
Documenting the entire thing is probably too much but I guess there could be just enough for interfacing to CraftOS and then use the publicly-available documentation and programs made for ComputerCraft to get compatibility.
By the way for EU copyright (which applies to me) there is an interoperability exception which should be relevant here, it could simplify the whole thing but might also make it non-usable in jurisdictions like USA, which I think would be better to avoid.
Beta Was this translation helpful? Give feedback.
All reactions