Claimed on GitHub: "snap requires additional license agreements because it is developed by Canonical"

Is this true? And if so what might these license agreements be? This same user also claims that snapd is “not very easy to install” on for example Solus and Manjaro. Last i checked, these had snapd installed out of the box.

Here’s the thread:

Canonical projects are licensed under a Contributor License Agreement. I’m presuming this is what the comments are refering to. It’s important to understand though that the CLA only applies to people actually contributing to the source code of Canonical projects, it’s not something that has influence over you unless you actively both sign and submit it and also contribute to begin with. Explicitly, the CLA is not required to simply submit snaps to the Snap Store.

Canonical isn’t the only company who often requires CLA agreements, even the Free Software Foundation makes use of them for many of their projects, alongside many other open source projects, Fedora, Apache, Python, Microsoft, Oracle, etc.

While each CLA will vary, a big concern with projects with CLA is that they often enable the project you’re contributing to to relicense your work as they please. In theory this could mean Canonical could relicense snapd to be entirely proprietary without any single contributors input in the matter, just as for example, GCC could technically do the exact same. In reality, it doesn’t tend to happen very often, but it has happened in the ecosystem before, take for example MongoDB using their CLA to relicense their works.

If you don’t contribute to Canonical projects, there’s no additional licensing forced upon you. The code is GPL3, and, in the unlikely event it stops being GPL3, you’d still be able to use your previous copies that were licensed GPL3 indefinitely.

Please keep in mind I’m not a lawyer so don’t take the above as professional interpretation :slight_smile:

Regarding the comments, I think you misread the users post slightly. Their claim is that snapd is hard to install anywhere that isn’t Ubuntu/Manjaro/Solus, where you’re correct, it happens to be preinstalled. I don’t dispute that Flatpak will have the greater potential for portability and likely exist on more distributions than snapd is capable of running, but their claim snapd is difficult to install anywhere but these 3 distributions is a blanket statement and as such simply untrue, on Fedora for example, snapd is just sudo dnf install snapd away (with a single extra command for classic snap support). In some cases, it might be more involved, in Arch, snapd is an AUR package. But there’s a significant number of distributions where snapd works just fine and a lot of distributions that are actively tested against!


Thanks alot! I will let them know over there.