@sir Nicely put, and I agree. Thanks for taking the time to write that.

IMO there are strategic reasons to sometimes prefer a non-copyleft license, but copyleft is always my default.

@sir I used to be in favor of extremely permissive licenses but that view has changed recently. I now couldn’t care less about anyone outside the FOSS ecosystem so in future projects I’ll pick licenses which I believe will benefit the free software world and hurt capitalist scumbags.

@sir Because if we’ve learnt anything in the recent years, it’s that the way in which corporations (especially Google) “give back” is almost always extremely damaging.

i usually license libraries on eclipse or mit, and actual tools or apps with agpl. not sure how this will change with time

@sir Good article, but I slightly disagree with this part:

"Anyone who can’t agree to this is looking to exploit your work for their gain - and definitely not yours."

I think lost opportunity for gain is not the same as loss (unlike some recording associations would want us to believe).

I'd ask a question:
Does it harm you when they make a proprietary fork of your code?

In many cases it does, for example:
- When they base a device's firmware on your code, and you end up buying that device, but can't customize the firmware because they didn't provide the source.
- When it's a zero-sum game, like making competing communication networks.
...and probably many other cases.

And in such a case, I think copyleft is necessary.

But in other cases, I'd say a permissive license is OK. If them using your code in closed-source product doesn't hurt you, why care if they gain something?

Then there are these edge cases, where you actually want them to "steal your code" and put it in their proprietary products. You're probably aware of those. One example is free codecs and libraries for standardized file formats. And in that case a permissive license is often more beneficial.

@sir I like the article, thanks for writing. However, I disagree with this:

> Clearly this affords you less freedom to use the software. Obligations are the opposite of freedoms.

You present it in a too simple way, because not all obligations are the opposite of freedoms, specially when this obligations are posed to respect other's freedoms. As an example, I wouldn't say that the abolition of slavery is restricting any freedom, I'd say the opposite, even though I'm losing the freedom to have/buy a slave.

I hope I've explained well my point of view.

@sir my main gripe with the GPL is that it's so hard to follow compared to other licenses (such as MIT).

I'm not a lawyer, but I am 100% certain what I am agreeing to when I use MIT/BSD/similar. They're short and unambiguous. It's easy to understand when people infringe, and I don't worry that I'm giving away more or less than I intend.

I can't say the same about the GPL. For me to use it I'd have to spend more time grokking it.

@kungtotte @sir In practice it's just: Don't distribute binaries the recipient can't reproduce.

The only people who need to know about the details are the people moving in the gray areas, not free software hackers. Hack on.

For the details, there's copyleft.org/ . But really, listen to some key episodes of @free and you're good.

@clacke @sir I know I don't have to understand it from a practical point of view of distributing code, but for me personally I want to understand the license I apply to any of my work.

I had an unfortunate incident in school regarding copyright law, where the school basically tried to steal our money, and if it weren't for me reading the copyright law they would've gotten away with it too.

So I don't want to release things without the certainty of understanding the license.

@kungtotte @sir

> they would've gotten away with it too

If it weren't for those law-reading kids! 😁

Yeah, good point. You should know what you are adding to your work, be the addition software code or legal code.

I read the GPLv2 20 years ago and have been listening to commentary about it since then. I find it functional, readable and fit for purpose. The v3 is longer and more complex, but each addition has a motivated, understandable and sensible background. copyleft-next is an attempt to achieve the same thing, and a couple of new things, with fewer and less legalese words.

If you don't like the GPLv3, perhaps you'd enjoy reading, understanding and using the MPLv2, which is admirably short and readable, has a software patent clause like (or at least not unlike) the GPLv3, the ASLv2 and the Blue Oak Model License, but has a weaker (per-file, weaker than even the LGPL) copyleft scope:


@clacke @sir @kungtotte Sadly, this is wrong. The GPL is not the only copyleft license, but it is incompatible to most of the others. For example, take Linux (GPL 2) and ZFS (CDDL). Both are free software projects and not backed by a single company. Both use a copyleft license. Combining them is extremely hard and annoying.

I spent countless hours trying to understand the GPL. It is not easy at all.

@pyropeter @sir @kungtotte

A copyleft license that would be compatible with any arbitrary copyleft license would be compatible with some theoretical lowest common denominator copyleft license, and would in practice be that weaker license. You could add and remove terms as you like.

Therefore, any two copyleft licenses are incompatible, unless the conflict is removed by scope (you can have a project with CDDL and MPLv2 applied to different files), or through explicit compatibility (the MPLv2 explicitly allows inclusion with LGPL-, AGPL- or GPL-licensed code under the terms of the stronger license unless you don't want that compatibility and say so).
@pyropeter @sir @kungtotte

The CDDL and the MPLv2, both derived from the MPLv1.1, are incompatible if you try to combine code from both in a single file, as the "Covered Software [ . . . ] must be under the terms of this License", according to the MPLv2. The CDDL is more restrictive and even says "that Source Code form must be distributed only under the terms of this License".

Oracle has had the chance to trivially remove this issue ever since the MPLv2 came out, by simply declaring the MPLv2 as the successor of the CDDL. As the successor of Sun, they are the license steward. They can do this. Also, in the specific case of OpenSolaris, as the sole copyright holder they could have relicensed the whole thing before they discontinued it. Illumos, obviously, has no single copyright holder, but most contributors would probably like to be GPL-compatible if they could.

@sir This was a really good piece. I'm not anywhere near that level of immediately looking for the code when I run into a bug, but I've found myself gravitating more towards the GPL the longer I spend in open source.

@sir now can we solve the problem of how to pay people for their work?

Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!