I'm reading the C4 explanation and I like many of its directives. http://socialarchitecture.science/c4-deep/

I'm not looking to create a OSS project that aims to be C4 certified.

For one reason, I like to have a MIT license and I will start off with myself as the first maintainer. I think those two will be against the C4 guidelines.

What I like to ask is inside the C4 guidelines there is this part about how "All patches are owned by their authors. There SHALL NOT be any copyright assignment process."

I like to keep this guideline. Does MIT explicitly forbid this? And if MIT license allows this, do I then need all contributors to explicitly give permission for me to have ability to relicense in future? Like the way ZeroMQ does it under RELICENSE https://github.com/zeromq/libzmq/tree/master/RELICENSE?

  • 1
    You should include, such as a checkbox in a GitHub PR template, something for contributors to say that their patches are under the MIT license, known as a CLA. Some licenses, like the Apache 2.0 license's section 5, explicitly state that contributions are automatically under the same license. That's not the case for the MIT license.
    – lights0123
    Jan 6, 2021 at 15:55
  • @lights0123 oh that’s a good idea 💡 thank you 😊
    – Kim Stacks
    Jan 6, 2021 at 16:15

2 Answers 2


Copyright transfer and licensing are two very different things.

In a copyright transfer, you literally transfer the rights on what you have written to another person or organization. You literally give up your right to have a say in what happens to your work.

With a copyright license, you give someone else the rights to perform some actions that under copyright law only the owner of the copyrights may perform. The license may also stipulate some requirements that must be followed when exercising the granted rights. Unless the copyright license grants exclusive rights, you keep all your rights that you had on the work.

The default convention with open-source projects is that all contributors remain the copyright owners of their contributions and they grant a license to all other contributors and all users. You need to have specific legal agreements with each contributor in order to get them to transfer their copyrights to the project.

Most copyright licenses do not include the grant to arbitrarily change the license of the project. Thus, if you want to change the license, you need to seek the explicit approval of every copyright holder.

  • THank you, Bart. So what is ZeroMQ doing with the Relicense documents they made all their contributors create? and why?
    – Kim Stacks
    Jan 6, 2021 at 11:11
  • Oh sorry, I re-read your answer especially the last line. So what ZeroMQ is doing is in case they need to change the license of ZeroMQ, they want the contributors to agree to them changing the license in future hence, they made all contributors agree to a RELICENSE agreement, yes?
    – Kim Stacks
    Jan 6, 2021 at 11:13
  • 1
    Yes. ZeroMQ has stated a desire to change their license and they are gathering the agreements to that license change in the RELICENSE folder. Jan 6, 2021 at 12:10
  • "The default situation with open-source projects is that all contributors ... grant a license to all other contributors and all users" it seems to me that's true for copyleft-licensed code, since the contributor could only have distributed his/her modified version if (s)he'd accepted the licence in the first place. It seems less-true for permissively-licensed code; whilst I agree it's conventional to assume that contributions are licensed as the original is, I'd recommend that permissively-licensed projects get an explicit licensing declaration from contributors. +1 from me, anyway.
    – MadHatter
    Jan 6, 2021 at 13:02
  • @BartvanIngenSchenau oh I wasn’t aware! Ok that makes a lot of sense
    – Kim Stacks
    Jan 6, 2021 at 13:40

See Bart van Ingen Schenau's answer for discussion of why the MIT license is not a copyright transfer or assignment.

The MIT license violates the C4 guidelines anyway, because of this requirement:

The project SHALL use a share-alike license such as the MPLv2, or a GPLv3 variant thereof (GPL, LGPL, AGPL).

"Share-alike" in this context is a synonym of copyleft, and it means that a license must require all derivative works to be released under the same or a substantially equivalent license. The MIT license contains no such requirement, so it is not a share-alike license.

Note that the C4 guidelines are ultimately just one community's opinion. You don't have to follow them if you find them unhelpful for your purposes.

  • I agree MIT will violate C4 I’m just thinking of adopting almost everything else from C4 and double checking what else I should observe if I were to go ahead with a MIT augmented with other non conflicting C4 guidelines
    – Kim Stacks
    Jan 7, 2021 at 0:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.