Help me choose a license for my project

I think you are right. EPL allows more ways to use your codes explicitly than LGPL, but still not file-based.

Again, when we talk about “allow“ or “not allow“, we talk about using and selling without open their source codes though… Just to clarify…

1 Like

Be aware that EPL 2.0 is not GPL-compatible by default. You need to explicitly and clearly include the statement from Exhibit A specifying which versions of which (GPL) licenses you are compatible with alongside your license. For that reason alone I would probably suggest instead using MPL 2.0, which is GPL-compatible by default. The two licenses are otherwise very similar (this opensource.stackexchange.com question has some more details).

Whichever way you feel about GPL itself, GPL compatibility is generally a desirable property because it lets people incorporate your software/library into the widest range of copyleft projects possible.

6 Likes

small addition: If you are afraid (or willing) to ever end up in court because somebody broke your license, you may even want to look around if a license has a good set of known/accepted translations.

If the legal language is not English, by far most countries want an accepted translation first and that is expensive af.

That’s pretty much the reason why I chose the EUPL-1.2 for one of my projects because they come already with a sizeable set.

1 Like

If I remember correctly, the point of LGPL and GPL existing was (at least originally) that one allows dynamic linking (but not static linking) and the other neither. (At least by default without additions.)

But since Zig only really does static linking (if you don’t go through C linkage), I don’t think they act different in practise for Zig projects.

1 Like

Corporations got legal personhood just like humans, but unlike humans, corporations are immortal. Every BDFL eventually dies therefore every line of code eventually gets orphaned, in need of a maintainer – enter the corporation (maybe via a foundation with a coc at first) “saving” then expanding said code beyond forkable complexity. At this point changing the license and de jure locking the code is just a formality since it is already de facto locked. As such ANY line of code you license under a commercial permissive license is in fact free work for corporations. If by doing this you hope to get a corporate job – good for you, but self deluding oneself that “I do it for the greater good” is either hypocritical or naive.

PS “But if copyleft the corporations will not adopt it” GREAT! Let them loose more and more business to people reverse engineering like yourself and eventually Kuka will figure it’s better to sell a robot arm with RiscV controller and GPL soft than watch the Chinese product better supported and cheaper put them out of business. My advice: if you can afford to wait, build yourself a network of tinkerers and thrive together, if not - spent your energy finding a job instead of doing that job for free in hope of some illusive future pay.

1 Like

Use AGPL. Else they will take your code add a little bit to it, do not share it and sell it to you.

No need to add the License in every File, something like this in the README is from a legal site enough:

LICENSE

This work is licensed only under the GNU Affero General Public License version 3 (AGPLv3). See the LICENSE file for details.

Video: Who wants you to think nobody uses the AGPL and why

If u don’t want to do it does not matter which permissive License u use: CC0, MIT, BSD they are basically all the same.

PS: https://ziggit.dev/t/zig-under-agpl/8494/

2 Likes