The Redis thing underscores a key point: _open source is not enough_. We need _community built software_ -- free and open source licenses are just one aspect of that.
If a company requires you to assign copyright (or equivalent re-licensing rights) in an asymmetrical way, they will inevitably eventually decide to take that option once they want to cash in on the goodwill you've built for them (let alone the code).
Indeed, there are four levels of open:
- Open source - under an OSI license
- Open community - may accept contributions
- Open governance - adds contributors to become maintainers
- Open brand - trademark is owned by a nonprofit foundation
I'm not really fond of that list.
Particularly:
* I don't think these are "levels", but rather some (but not all) aspects of openness.
* I don't see how "may accept contributions" relates to "open community" — I mean, they seem unrelated, not just a framing I would put differently
Also: "adds contributors to become maintainers" doesn't make sense to me. Can you explain what that means and how it relates to governance?
And: a nonprofit foundation could own a brand and use and license it in a non-open way (and indeed, this is common — see Mozilla and LibreOffice). Conversely, a for-profit corporation or government entity could own a brand but have some form of open licensing or governance.
@mattdm Who gets to be a maintainer has everything to do with governance. From the C4 governance specification:
> A “Contributor” is a person who wishes to provide a patch, being a set of commits that solve some clearly identified problem.
> A “Maintainer” is a person who merges patches to the project. Maintainers are not developers; their job is to enforce process.
[ . . . ]
> A new Contributor who makes correct patches, who clearly understands the project goals, and the process SHOULD be invited to become a Maintainer.
Thanks — it makes sense using those definitions. (It isn't the definitions we use in Fedora.)
@mattdm @shanecurcuru Oh right. Yes.
Maintainer in an upstream project and package maintainer in a distro are two very different roles.
And I don't think all upstream projects use that exact definition consistently.
Anyone have a list of the many definitions of "maintainer"?
Is there any better place to start looking than here?