Skip to content

Relicensing UCM to AGPL-3.0: your approval is needed #356

Description

@NeySlim

Hello everyone,

I want to change the licence of UCM, and since you have contributed code, I cannot
do it without asking you. This issue explains what changes, why, and what I need
from you. It is one comment, and it takes a minute.

What changes

UCM is currently under BSD 3-Clause with the Commons Clause. I want to move it
to AGPL-3.0-only, and to offer a separate commercial licence to whoever cannot
use the AGPL.

Why

The Commons Clause was meant to stop someone from taking UCM, selling it as a
product, and giving nothing back. It does that, but it also does a lot I did not
intend:

  • It forbids paid support and hosting by anyone. An integrator who installs UCM
    for a client and bills for support is in breach. So is a hosting provider who
    offers it managed. That is not what I wanted, and it is a real obstacle to the
    companies that need a support contract.
  • It is not an OSI-approved licence, so UCM cannot be listed on
    awesome-selfhosted and similar lists, and some companies forbid non-OSI software
    by internal policy.
  • The wording turns on the word "substantially", which has no case law behind it.
    Nobody can tell where the line is, including me.

The AGPL solves the problem I actually had. It does not forbid anyone from selling
anything. It says that if you run a modified UCM as a network service, you have to
publish your changes. Someone who wants to build a business on UCM is welcome to,
as long as the improvements come back to everyone. That is a better deal for this
project than a clause nobody can interpret.

What this changes for you

If you run UCM for yourself or inside your company, nothing changes. Install it,
modify it, deploy it, keep your changes private. The AGPL only asks for source when
you offer the software to others over a network.

The part I want to be upfront about

Alongside the AGPL I intend to sell a commercial licence, for companies that cannot
use AGPL code. That is what would fund the time this project takes.

This means your contribution could end up in a version sold under a proprietary
licence. You should know that before you approve, because it is exactly the kind of
thing people reasonably object to. If you do object, say so: it is a legitimate
position and I would rather hear it now.

What you get in return

Several of you build things for a living, and asking you to approve selling your
code without anything coming back would be one-sided. So the contributor agreement
grants contributors a commercial licence of their own
(section 8):

You may host, operate, support, integrate or consult on UCM for others, for a fee,
without publishing the modifications you make doing it, and without owing this
project anything.

It is personal to you. It does not transfer to an employer, nor to whoever might buy
a company you work for, and it does not cover selling UCM itself or licences to it.
You keep it if you stop contributing. It applies from the moment a contribution of
yours has shipped in a release, so every one of you already qualifies.

In short: you can build a business with UCM without asking me for anything. What
I keep is selling UCM itself.

What I need from you

If you agree, reply with:

I approve relicensing my contributions to UCM under AGPL-3.0-only, including
distribution under a separate commercial licence.

If you would rather not, say so plainly, no explanation needed. I will remove or
reimplement the code concerned, and there is no hard feeling in it.

If I get no answer within a month, I will reach out once by email before deciding
what to do with the code in question.

Who I am asking

@Hemsby @fredlubrano @gb-123-git @heidrickla @sdjnmxd @wxtewx @C0DEbrained
@B0F1B0 @gladiac @ellisdickinson46 @jeancarlor

Thanks for the code, and sorry for the paperwork.

The agreement itself is signed once, in your own pull request, and only matters for code you write from now on. It does not replace your answer here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions