License discussions


A while ago Carl decided that the Rebol3 license was to be Apache2

Now this is all fine if you’re a large organisation such as the Apache Foundation. But for very small groups like us, it’s inappropriate. I think Gabriele was on the right track asking for GPLv2 and Pekr was suggesting a classpath exception for mezzanine code.



Oh, and I think we can move from the current license to GPLv2 but once there we can’t move back again to Apache2.


What problem do you see with the license?
And anyway, if I understand license right correctly, only the original author can relicense. Ehich would render the whole discussion moot.


Rebol uses the Apache 2 licence which is a permissive license. This allows someone to take your work and relicense it under a different license. It’s known also as an eat me license.

So, a competing project can take all the work done, apply GPL to it, produce modifications to it, and you would not be able to incorporate those changes back into your project without asking each individual author for a license. But why would they do that? They might as well license under BSD in the first place.

On the other hand if we protected the work with say GPL V2 in the first place then that can’t happen. This is a copy left license.


Can I take BSD licensed code and distribute it under GPL?


I advocated for LGPL at the time licensing was being discussed. It seems to me that if you are using an embedded script engine based on a language, that your whole project shouldn’t have to be open sourced just because you used it.

These days, I guess I don’t feel that hung up on what the license of the core is. I’ll also say that it is generally looked-down upon to take code under a more permissive license and restrict it…as opposed to loosening a restrictive license:

But I think projects that use the core, or extensions, or whatever…shouldn’t just blindly use Apache2 because “that’s what the language is”. It should be considered on a case-by-case basis.


So, how about we change the kernel to GPL?

And keep the user contributions as Apache2?


Since I’m a “Stallman-was-Right” kind of guy, part of me would certainly like to.

But I’m not sure what problem of today or the immediate future that this would be solving.

I think that the language core as Apache2 is fine. Ren Garden was/is GPL, and new projects like online web tutorials/tools/games might want to be as well…to avoid clones that don’t give back. But I don’t think there’s a terribly large risk of divergent development on Ren-C source. If anything, there’s the opposite problem, of Oldes working on the old R3-Alpha source…but there, at least with compatible licenses we don’t have to bother with worrying about copying or attributing fixes or code back and forth.

Also, not that it is likely to ever wind up in a court, but if it did…it would just introduce a lot of murk. In any case it’s likely to matter, it would matter in a bad way. If someone decides to be antagonistic or adversarial and say “oh, I take back my contribution” or something. Better to just have everyone on the same page and no murk…it was released Apache2, and stayed that way, and nothing dicey happened in the history.

So I’d say stick with Apache2 for language core and libRebol. But certainly any new large efforts in a meaningful app or extension should consider going with a more restrictive license. But the direction of licensing changes needs to always be from more restrictive to more permissive, not the other way around.


It’s just preventative. If the problem already existed then we’re too late.