7

I am the owner of a private GitHub repo for a game project. We are a team of 5, I wrote 98% of the code and made several commits, other users have also added their own code to the project and its been merged into the main branch.

Parts of the project might be released commercially at a later date (not sure yet), maybe on Steam.

There is no license, which means it's under All Rights Reserved (according to Github). Does that mean that everyone still "owns" their own code? Since I am the owner of the repo, what rights do I have over the contributions of code of others? Or is all the code others wrote still theirs under "All Rights Reserved"?

That's in case of code, what about when a team member contributes models, audio files, etc?

I dont want to get sued by someone because I used their proprietary code. So I think I need a license that gives me ownership over the contributions of others. In this case all team members are inexperienced and have agreed to work as volunteers, with full accreditation if the project is ever published.

So what would be the de facto best license for me to use here?

Appreciate any help. I looked all over Stack/Quora and forums, but couldn't find any conclusive answer.

4 Answers 4

12

Yes, a work with no license is All Rights Reserved, reserved meaning the creator of the work. Who is the creator of the work ? Everyone who contributed it, unanimously. Yes.

If people contributed any copyrightable part of your work, in theory you cannot add any license or grant any right to use/reproduce/whatever the work without their unanimous agreement. That's very cumbersome, and almost nobody really does that, but it's what the law is.

Big serious companies and repos require contributors to waive their rights on the code they contribute, by agreeing to a contributor's agreement. For example, python/cpython requires you to give your contribs a license allowing the python org to do essentially what they want with it, even though you retain copyright over them.

If your project is not so serious, I suggest it should be enough to make the license clear, and that by contributing people are agreeing to place their contribution's code under the license. If it's a free license, that's all you need.

7
  • Thank you for your answer. Although I want to say this only half-answers my question.. What license would you suggest as a "free license"? Or where can I find a template waiver(like pytho/cpyhton give to their devs) so I can let my team sign that? Sep 26, 2022 at 13:05
  • 4
    @questioneeeeer suggesting a license is legal advice and not allowed on the stack
    – Trish
    Sep 26, 2022 at 13:30
  • In the original question I am asking "which license can protect" is that allowed? Sep 26, 2022 at 14:38
  • @questioneeeeer There is an opensource Stackexchange site for such questions. You probably go best with a weak copyleft license, which allows everyone (especially yourself) to use the code with little restrictions even commercially. For the details, ask on the other site or look for similar questions over there.
    – allo
    Sep 26, 2022 at 16:26
  • 2
    I would contend on "waive their rights on the code they contribute". Commercial companies might expect you to transfer the copyright to them (unpopular). Open source projects will typically just want you to license your contribution under the same license(s) as the main work. This may be done implicitly, a with a "Signed-off line" or by requesting a separate CLA document, but it's the same. For python, its Contributor Agreement explicitly say "PSF understands and agrees that Contributor retains copyright in its Contributions."
    – Ángel
    Sep 26, 2022 at 22:42
7

A common solution to this problem is to not accept pull requests unless the author signed a contributor license agreement (CLA).

The exact wordings of CLAs differ, but they essentially come in two flavors:

  • The contributor transfers the copyright to the project. That means the project maintainer can do pretty much anything they want with it.
  • A license grant which gives the project the right to incorporate the code into their project, change it and redistribute the code under certain license conditions, but copyright stays with the original contributor.

Without the CLAs, your project is in a difficult legal limbo. It's not clear what the contributors agreed to. I do not know how you communicated with them, but it is very well possible that you and the contributors have different ideas about your intentions. Some might not be aware of the fact that you want to monetize their work. Some might be aware, but expect to get paid in that situation. If that's the case, then you might receive scary letters from their lawyers as soon as you put your game on Steam.

Would they sue? Could they win a lawsuit? Without any written documentation of what you actually agreed on, that's very difficult to predict. But even if you could convince the court that the contributor should have been aware that they are doing volunteer contributions to a commercial project and that no reasonable person would have expected payment under these circumstances, such lawsuits are still very annoying. They would demand your time and attention during your launch month, the most stressful phase of every game project. They would require that you pay for legal costs upfront. Distorted facts about the legal dispute could leak to the public, make you look like the bad guy in the public court of opinion and force you to clean up a PR disaster.

And this whole mess is easy to avoid: Just have them sign CLAs.

4
  • correction: The contributor transfers the copyright or any transferable right... - not every country allows to transfer all rights.
    – Trish
    Sep 27, 2022 at 8:52
  • 3
    On a related note, you might find CLA assistant helpful if you decide to go this route. It automatically asks users to sign CLAs the first time they submit a pull request. Sep 27, 2022 at 13:42
  • I have in the past refused to contribute to projects with copyright-transferring CLAs because it gives the owner the rights to change the license to a non-free one. Know where you're going with this. If your project is free software, it may be better to require everyone to assert that they release their modifications under that free software license - then the owner can't change it to another license later. (this could also be called a CLA but it's atypical) .
    – user253751
    Sep 27, 2022 at 15:19
  • 1
    @user253751 Well, the question here is about a project that is already non-free.
    – Philipp
    Sep 27, 2022 at 17:14
4

None

You can not become owner of any user contributions without all users contributing signing a separate right transfer - For example in a contributor agreement or afterward in a separate right's transfer.

Unless you already have a specific license, you need to acquire it

When the user made the contribution, they did it under no specified license. This means you don't have any ownership of their contribution, they have all rights.

This doesn't stop you from requesting them to sign a rights transfer or license to the contributions. If you can reach the contributors, this actually can be quite easy.

If you can't reach the contributors, it might be prudent to reverse any such contributions until the rights situation is clarified.

You can gain an automatic license only if such was specified before the contribution.

The best you can get is each contribution granting you an automatic usage license by offering a contribution, possibly even an exclusive one. However, such an automatic-contribution-license needs to be specified that way before the contribution was made: Licenses can not be gained retroactively this way.

4
  • 1
    The project has only had 2 commits so far from team members, as its very early in the project. I think I will create a new Repo with the correct CLA, then those 2 commits can be re-added by the team, with CLA signed and agreed. Sep 26, 2022 at 14:41
  • Your last sentence here implies that the license can't be agreed to after the contribution, which is inaccurate. You may have been intending your statement to indicate only that the license isn't automatic if there's none specified prior to the contribution is offered. It would be better to explain the process which the OP needs to go through at this point in order to have an appropriate license.
    – Makyen
    Sep 27, 2022 at 15:41
  • 1
    A license for the contributions can be agreed to after the contribution is made, but then the contributor needs to do so as a separate, clear step. The contributor, of course, can't be forced into the new license. Overall, the owner of the repository's only options are to A) have a license agreement in place prior to the contribution; B) get the contributors to agree to license their prior contributions; C) get the contributors to transfer copyright of their contributions; or D) remove the contributor's contributions from the project.
    – Makyen
    Sep 27, 2022 at 15:42
  • @Makyen the last is only on automatic license, not about the impossibility to acquire it. Clarified.
    – Trish
    Sep 27, 2022 at 15:44
1

I just want to clarify something (which I hope someone will correct me on if I'm off base): the LICENSE is not the correct mechanism to enforce this. A license, for a piece of software like this, only asserts what a user can do with your code when they download it.

It can be either a blanket license given in a file (like most open-source projects do), or a license agreed to explicitly by both parties (owner and customer), but in both cases, by the time someone's using the code, it's too late to involve questions of who the owner (generally, the copyright owner) of the code is.

As mentioned in other answers, a Contributor License Agreement is the correct solution for this - it just formalizes the notion that "when people gave you code, it became yours", which is basically what everyone expects from the notion of "giving" anyway. Depending on your level of comfort, you could have all contributors literally sign something (which in many cases might actually scare away contributors by either being too much work or too confusing), or just ensure that all contributors see a notice like "All contributions become the property of blah blah blah" when they make a contribution.

Once that's ironed out, you can take the next step of licensing the project the way you see best fit.

1
  • 1
    On a related note, you might find CLA assistant helpful if you decide to go this route. It automatically asks users to sign CLAs the first time they submit a pull request. Sep 27, 2022 at 13:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .