-
-
Notifications
You must be signed in to change notification settings - Fork 190
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
Why not use only the MIT license? Or even better The Unlicense or 3BSD (same license as Golang) #1680
Comments
I want to avoid the Zig/Zen situation, where someone just forked the compiler and set off to represent it as their work to raise corporate value. The standard library is MIT, so it is fine to reimplement the compiler and then use the current standard library if one wants to do something differently. In fact I want to make the language fairly straightforward to implement a compiler for. |
Note that if later a self-hosted version of c3c is written, then that one can absolutely be BSD/MIT/etc, as it would not be possible to easily fork the language using a self hosted compiler. |
The 3BSD protects the devs from people using their names to advertise derivatives. And nothing prevents a new condition from being added such as: "Under no circumstances may a 3rd party use the name of this project or its contributors to promote a derivative of this source code.", or something else. |
It is LGPL and not GPL though.
… On 14 Dec 2024, at 11:18, xplshn ***@***.***> wrote:
Disadvantages of GPL:
• Too long, not simple
• Incompatible with static linking unless you add an exception about that usecase
• Cumbersome for other projects
Advantages of using a single free (The Unlicense, MIT,3BSD) license:
• Other projects benefit from being able to use C3C without worrying about licensing issues
• Allows static linking with c3c code
• Lets people import c3c in their projects even if they're for private use
Rationale:
• Anyone modifying a language's STD or compiler will upstream the changes in order to have to do less work downstream. It does not make sense to use a license as cumbersome as the GPL for a programming language.
Please consider this :)
I'm excited about c3c, already been using it and its been a smooth sailing, I'd just like to have this licensing situation be addressed. I think using 3BSD as license, just like Golang does, would be best.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
Also the problem in the Zig/Zen case was not using the name. |
As I said before, probably a good middle ground would be the MPL 2 license: |
Same disadvantages that were pointed out before. As well as the fact that it is 159 lines long, and it states that it is:
|
Is this a problem? Are there contributors or businesses out there reluctant to contribute to C3 because the compiler is LGPL? If so then I can consider alternatives, but right now, before 1.0 I like to retain the "poison pill" that LGPL constitutes. This ensures that companies can't fork the compiler and pass it off like in the Zen/Zig case, because having to pass modifications upstream will reveal the origins of the compiler. And also note that anyone can write their own C3 compiler. The language and the compiler are distinct things. |
Depending on the company, yeah, they don't like copyleft licenses. Also, there are many people and companies violate GPL-like licenses all the time, like how it happens for the Linux Kernel an the situation with the Duckstation code, so for most devs copyleft licenses are useless. |
I'm not particularly concerned about the occasional violation. I just want to avoid the Zen scenario. And from what I can gather there is no way Zen could have happened if Zig was LGPL. |
Disadvantages of GPL:
Advantages of using a single free (The Unlicense, MIT,3BSD) license:
Rationale:
Please consider this :)
I'm excited about c3c, already been using it and its been a smooth sailing, I'd just like to have this licensing situation be addressed. I think using 3BSD as license, just like Golang does, would be best.
The text was updated successfully, but these errors were encountered: