this post was submitted on 20 Dec 2023
69 points (100.0% liked)

Linux

48318 readers
992 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
all 36 comments
sorted by: hot top controversial new old
[–] woelkchen@lemmy.world 26 points 11 months ago (3 children)

All Canonical contributions have been relicensed and are now under AGPLv3. Community contributions remain under Apache 2.0.

So they can happily port over code from the Incus fork but Incus cannot import the code without changing the license first. It's meant to be a one-way street. Typical Canonical.

[–] bear 40 points 11 months ago (2 children)

Look, I'm usually first in line to shit on Canonical, but I can't get mad at them adopting AGPL. This is objectively the best license for server software. Incus should also switch to AGPL for all Canonical code, and seek to have contributors license their code as AGPL as well.

I will however point out the hypocrisy and inconsistency of it, because the Snap server is still proprietary after all of this time. If this is their "standard for server-side code" then apply it to Snaps or quit lying to us.

[–] EuroNutellaMan@lemmy.world 4 points 11 months ago (3 children)

Can you explain to a person who knows little about licenses, such as myself, what makes AGPL so good?

[–] bear 16 points 11 months ago* (last edited 11 months ago)

The full details are complex but I'll give you the basic gist. The original GPL licenses essentially say that if you give somebody the compiled binary, they are legally entitled to have the source code as well, along with the rights to modify and redistribute it so long as they too follow the same rules. It creates a system where code flows down freely like water.

However, this doesn't apply if you don't give them the binary. For example, taking an open source GPL-licensed project and running it on a server instead. The GPL doesn't apply, so you can modify it and do whatever, and you aren't required to share the source code if other people access it because that's not specified in the GPL.

The AGPL was created to address this. It adds a stipulation that if you give people access to the software on a remote system, they are still entitled to the source code and all the same rights to modify and redistribute it. Code now flows freely again, and all is well.

The only "issue" is that the GPL/AGPL are only one-way compatible with the Apache/MIT/BSD/etc licenses. These licenses put minimal requirements on code sharing, so it's completely fine to add their code to GPL projects. But themselves, they aren't up to GPL requirements, so GPL code can't be added to Apache projects.

[–] bamboo@lemm.ee 15 points 11 months ago (1 children)

It requires that you make available the full source code to anyone who you give binaries too (like the GPL), but also requires you make available that source to users of the software over a network. So, someone could not make a proprietary fork of AGPL software to sell exclusively as a service. In order to provide that service you have to also be willing to provide the source, including changes, which would allow users to then choose to run that service themselves instead of being forced to pay the provider.

[–] EuroNutellaMan@lemmy.world 2 points 11 months ago

I see, thanks

[–] woelkchen@lemmy.world 3 points 11 months ago (1 children)

Obviously their own code can be sold at their discretion. It's not about libre software.

[–] thesmokingman@programming.dev 3 points 11 months ago (1 children)

They would have used a license like SSPL or the newer BSL for that. AGPL keeps it open. They got that going for them and about nothing else.

[–] woelkchen@lemmy.world 1 points 11 months ago (1 children)

They would have used a license like SSPL or the newer BSL for that. AGPL keeps it open.

No, the copyright owner can sell proprietary versions however they like. Outside contributions are required to sign Canonical's CLA. Read https://github.com/canonical/lxd/blob/main/CONTRIBUTING.md#license-and-copyright before making claims.

[–] thesmokingman@programming.dev 3 points 11 months ago (1 children)

I don’t understand how AGPL allows Canonical to make and sell proprietary copies of this software without violating their license. That’s the only way your scenario could happen. If you’re aware of a situation where a company can do this, I’d love to learn.

[–] woelkchen@lemmy.world 3 points 11 months ago* (last edited 11 months ago) (1 children)

I don’t understand how AGPL allows Canonical to make and sell proprietary copies of this software without violating their license. That’s the only way your scenario could happen.

The FSF made an FAQ page for a reason: https://www.gnu.org/licenses/gpl-faq.html#ReleaseUnderGPLAndNF

"To release a nonfree program is always ethically tainted, but legally there is no obstacle to your doing this. If you are the copyright holder for the code, you can release it under various different non-exclusive licenses at various times. [...] the GPL is a license from the developer for others to use, distribute and change the program. The developer itself is not bound by it, so no matter what the developer does, this is not a “violation” of the GPL."

Canonical read the FAQ, many people here didn't.

[–] thesmokingman@programming.dev 1 points 11 months ago (1 children)

Wow! I learned something. To return the favor, life would be better for you if you were less rude in the way you convey information.

[–] woelkchen@lemmy.world -1 points 11 months ago* (last edited 11 months ago)

life would be better for you if you were less rude in the way you convey information.

People making unsubstantiated claims are the rude ones, not the ones making factually correct statements without fluff.

[–] ProgrammingSocks@pawb.social 17 points 11 months ago (1 children)

Apache is too permissive a license anyways. This is kind of the point of copyleft licenses — a feature, not a bug.

[–] woelkchen@lemmy.world 2 points 11 months ago* (last edited 11 months ago)
[–] juli@programming.dev 3 points 11 months ago (1 children)
[–] woelkchen@lemmy.world 1 points 11 months ago (2 children)

Yes but I don't know what you don't understand. One-directional flow of FLOSS licenses?

[–] Patch@feddit.uk 12 points 11 months ago* (last edited 11 months ago) (1 children)

Projects which choose BSD/Apache type licences do so fully in the knowledge that their code may be incorporated into projects with different licences. That's literally the point: it's considered a feature of the licence. These projects are explicitly OK with their code going proprietary, for example. If they weren't OK with it, they'd use a GPL-type copyleft licence instead, as that's conversely the literal point of those licences.

Being mad about your Apache code being incorporated into a GPL project would make no sense, and certainly wouldn't garner any sympathy from most people in the FOSS community.

[–] woelkchen@lemmy.world -1 points 11 months ago (1 children)

Yes and by not continuing that licensing but instead adopting AGPL+CLA Canonical create their usual one way street.

[–] mexicancartel@lemmy.dbzer0.com 4 points 11 months ago (1 children)

Its not a one way street but this makes more libre thing. Canonical didnt make it proprietary to create a one way street but made it more libre by adopting AGPL license which gives users more rights to the code

[–] woelkchen@lemmy.world 4 points 11 months ago* (last edited 11 months ago)

Its not a one way street but this makes more libre thing. Canonical didnt make it proprietary to create a one way street but made it more libre by adopting AGPL license which gives users more rights to the code

Why is there still a CLA that allows them and only them to sell proprietary versions then? Don't fall for Canonical's PR bullshit.

Read https://github.com/canonical/lxd/blob/main/CONTRIBUTING.md#license-and-copyright

[–] caseyweederman@lemmy.ca 1 points 11 months ago (2 children)

Could you expand on that? What is it that makes that possible?

[–] DampCanary@lemmy.world 4 points 11 months ago* (last edited 11 months ago) (1 children)

In short incus has Apache 2.0 copyright licene that states:

You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole

While AGPL v3.0 that Canonical just adopted states:

You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:

. . .

You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy ...

Meaning if incus uses any part of Canonicals source their code can't be licenced under Apache but rather AGPL v3.0, which pulls any other derivative of incus.

[–] caseyweederman@lemmy.ca 2 points 11 months ago

That's very informative, thank you.

[–] QuazarOmega@lemy.lol 12 points 11 months ago (1 children)

Is this a based move? From Canonical? (°0°)

[–] chameleon@kbin.social 16 points 11 months ago (3 children)

No, it comes together with a CLA being required to contribute. In other words, Canonical (and only Canonical) is still allowed to sell exceptions to the AGPL.

Yes, the post says there is no copyright assignment. That's extremely carefully chosen wording to avoid mention of the CLA which was made required in the same commit as the license change. It's "just" a super extended license that lets them do whatever, not assignment.

[–] fossphi@lemm.ee 3 points 11 months ago

Quite the same case as with matrix. I very much prefer AGPL over all the other permissive licences, but I don't know, the CLA leaves a bad taste in the mouth

[–] Goun@lemmy.ml 2 points 11 months ago (1 children)

Can somebody explain in a few words what's CLA? Does it limit contributors rights?

[–] ikidd@lemmy.world 4 points 11 months ago (1 children)

You sign over your copyright on your contributions to the project.

[–] Goun@lemmy.ml 1 points 11 months ago

Shit that's awful, so they could theorically change the lisence to whatever they want at any time

[–] QuazarOmega@lemy.lol 0 points 11 months ago

I tried reading through it and I don't understand completely if they reserve the right to relicense in a way that is against the interest of contributor.
They say that the contributor retains the copyright and can do whatever they want with the code they contributed, which is good, they also say that they can sublicense your contributions, which, as far as I know, means they couldn't make it more permissive, but only more restrictive, at least that is the case with Creative Commons

[–] thesmokingman@programming.dev 1 points 11 months ago (2 children)

No other company will contribute to LXD now. This is 100% a Canonical tool. Were the big clouds looking at deploying LXD so Canonical tried to block them?

[–] ikidd@lemmy.world 9 points 11 months ago

I think the reason it's a Canonical product is because nobody else was contributing to it before. So nothing has changed.

[–] krolden@lemmy.ml 2 points 11 months ago