Hacker News new | ask | show | jobs
by pksadiq 2542 days ago
The mattermost-server licensing[0] is somewhat skeptic:

Mattermost Licensing

SOFTWARE LICENSING

You are licensed to use compiled versions of the Mattermost platform produced by Mattermost, Inc. under an MIT LICENSE

- See MIT-COMPILED-LICENSE.md included in compiled versions for details

You may be licensed to use source code to create compiled versions not produced by Mattermost, Inc. in one of two ways:

1. Under the Free Software Foundation’s GNU AGPL v.3.0, subject to the exceptions outlined in this policy; or

2. Under a commercial license available from Mattermost, Inc. by contacting commercial@mattermost.com

You are licensed to use the source code in Admin Tools and Configuration Files (templates/, config/default.json, model/, plugin/ and all subdirectories thereof) under the Apache License v2.0.

So that means, only the binary provided by Mattermost is MIT, not its source code, the usage of 'MIT' in their website sounds deceiving.

[0] https://github.com/mattermost/mattermost-server/blob/master/...

4 comments

It is a bit unusual, but ultimately it's similar to the quite common "you can have the code under AGPL or negotiate something else with us" plus something unusual, i.e. a MIT-licensed binary.

Ultimately if you're okay with running AGPL code you're okay with running Mattermost. Which means as long as you don't intend to fork it and not share your changes you should be fine.

> Ultimately if you're okay with running AGPL code you're okay with running Mattermost. Which means as long as you don't intend to fork it and not share your changes you should be fine.

That's not how [LA]GPL works. You are free to fork, and not share the changes. The modified source code can be provided only to the people whom you gave the binary (Edit: AGPL has bit more terms, as said in comment below), and you can make it private to the rest of the world (though you can't add additional restrictions).

As Mattermost is dual licensed under AGPL, anyone who uses it under the terms of AGPL can live safe as long as they obey AGPL.

Software pieces using GPL licenses can't add additional restrictions to the software, but of course authors are free to dual license under different terms.

Say for example some one can specify the following for their project: "We provides the project under the terms of MIT for you to modify and run for your own purposes." This might look a harmless statement, but it could mean something very different and may be intentionally written, that essentially makes it non-free. GPL doesn't allow such additional clauses.

Disclosure: IANAL. So I don't know how/if it works in court

> AGPLv3 requires a program to offer source code to “all users interacting with it remotely through a computer network.” It doesn't matter if you call the program a “client” or a “server,” the question you need to ask is whether or not there is a reasonable expectation that a person will be interacting with the program remotely over a network.

From https://www.gnu.org/licenses/gpl-faq.html#AGPLv3ServerAsUser

Forgive me if I'm wrong but wouldn't you be allowed to fork it and not share your changes anyway? As far as I know a copyright license is only required if you do share it.

Of course you couldn't share any derived binaries without a valid copyright license, but for internal use there shouldn't be any problem.

There might be problems even for internal use because it's licensed under AGPL not just GPL, so the source must be distributed to network users, even if you don't share the binaries with them.

It might work for your company's internal chatroom but not for selling Mattermost as a service.

That's the intention anyway, I'm not a lawyer, I don't know if AGPL was tested in court, and whether it would hold up.

So if I understand correctly, AGPL allows single users to use the software but they cannot provide this software as a service? I've also seem some open source SaaS offer a dual license for single users and corporations. MIT or Apache for single users and GPL for corporations.
You can provide the software as a service BUT you have to give the source code to all users, including your modifications if you have made any.

In other words - you can't sell SaaS based on AGPL software + proprietary secret sauce, you have to share back your secret sauce with all users.

It doesn't prevent you from selling it as SaaS, I could sell vanilla Mattermost as a service under AGPL, my selling point might be that I provide high reliability and excellent support.

Do you have an example of that dual license?

I don't see how that would work, the first person you give an MIT license to can re-distribute it under MIT to anyone else, including corporations.

Usually for dual-license you have the opposite, you would have a restrictive license like AGPL for the public, and you would sell non-free licenses with no redistribution rights that allow modifications without sharing back, for corporate clients who want to add their secret sauce to the software without having to give away the secret sauce for free.

Is this Mattermost's answer to the current debate around the ethics of FAANG (and others) using open source software to make lots of money without substantially contributing back to the OS projects financially or in code?

My understanding is that, Mattermost is okay with others making money from their software if they don't modify it - which will practically work for some, but not all, small companies, and will be very difficult for the big companies to use. If the big companies want to modify and use Mattermost-server for free they are forced to contribute back the changes to the OS project, and then can make as much money as they want. Or use option 2, pay Mattermost a bunch of money for the privilege of not contributing back code to the OS project. In other words FAANG and co can either contribute to Mattermost financially or in code - their pick.

This honestly seems like a pretty good compromise if it works out like you have described it.
So if they accept contributions from the community does the copyright on those get reassigned to mattermost?
No, it's a "grant to Mattermost and to recipients of software distributed by Mattermost a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute your contributions and such derivative works."

https://www.mattermost.org/mattermost-contributor-agreement/

https://spinpunch.wufoo.com/forms/r3z8zqm0ew6pcc

No, that's not how copyright works.
There are software projects that use/require copyright assignment (notably many GNU projects require assignment to the FSF).
Yes but in these situation the copyright assignment is a separate contract underwritten by the person committing. What (I think) driverdan means is that an OSS licence legally cannot substitute this separate contract - one cannot automatically assign one's own copyright to another entity by following an OSS licence.
Dual licenses are not uncommon.
Dual open source licenses where one applies to the compiled version and one applies to the source are not terribly common.
What does it even mean to have an open-source license on a binary? Aren't those two things kind of contradictory?
License says you can "copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software"

So you can do all those things, but I imagine that modifying is going to be harder than it would be with the source code.

that makes sense, thanks.
Yeah, this struck me as odd too until I realised that the MIT license says nothing about source code. It just talks about redistribution. So what they are saying is that the binary is redistributble for any purpose, but if you want to distribute changed versions of the source code you have to do it under AGPL. That's weird, but potentially OK. The only thing it does is allow you to redistribute the binary without having to supply the source.

The reason I say "potentially OK", though is I wonder if a binary can be assigned a copyright as distinct from the source. The binary is only a machine translation of the source after all. Not a lawyer, so I'm not certain, but it seems a bit odd. I can't imagine a situation where anyone would challenge you, though --- they are giving you extra rights, not removing them.

Advertising as "open source under license X" when, if you read the fine print, license X does not actually apply to the source code is pretty uncommon.