18

I'm working on a Unity project for a company and, while doing so, I wrote some code that I think would be cool to have it on the internet, free to use.

But I never released something that is owned by someone else, specifically someone that I work for.

So my questions are:

  1. What are the bureaucratic procedures, if there's any, that I need to follow in order to release it?
  2. I was thinking to use GitHub, but which license should I use for the repository?

DISCLAIMER: I already have the permission of the company in question to publish the code.

EDIT: For now the "permission" they gave me is not actually written down in a legal document, and I'm working on obtaining it.

6
  • 3
    Without knowing the details of the permission you have, it's very hard to answer this question. We don't need to know who gave it, but if we could see the exact permission that was given, it would be most helpful.
    – MadHatter
    Commented Feb 6 at 10:41
  • 1
    You need to check your employment contract. Mine says "anything I write belongs to the company" even in my own time on my own computer, UNLESS I get prior approval. Approval after the fact is never given.
    – Criggie
    Commented Feb 7 at 20:37
  • @Criggie: Those provisions often(!) say that it has to be within the scope of the employer's business to qualify as a work-for-hire. If you work for a FAANG, then they may interpret that rather broadly, but smaller companies are likely to have a narrower interpretation.
    – Kevin
    Commented Feb 8 at 18:22
  • @Kevin OP needs to check their wording and not rely on "often" and "interpretations"
    – Criggie
    Commented Feb 8 at 18:37
  • Mikele, it's traditional to accept an answer you're happy with by clicking on the "tick" outline next to it, which drives the site's reputation system for both you and the answer's author, and marks the question as completed so it doesn't float around forever. If on the other hand you're not yet satisfied, it's useful if you can add to your question to clarify what still remains, in your mind, unanswered. My apologies if you already know all this!
    – MadHatter
    Commented Feb 9 at 8:17

1 Answer 1

25

Mere permission to publish is no use if you want to make this software open-source (and I'm assuming you do, because otherwise this question's off-topic!).

The important thing is to get a clear statement of the necessary permissions from the rightsholders. You could list those permissions out (eg, I need to be able to share the code with others; I need you to license any patents you hold that are embodied in the code for everyone's use; I need to be able to host the code on this server, or that service; I need to be able to require others who re-share it to do so on the same terms). But experience with crayon licences suggests that it doesn't work well when random users without legal training try to codify legal requirements.

So the easiest and clearest way to do this is to get them to give it to you under the same licence under which you intend to distribute it to others. Standard free software licences are written in well-tested legal verbiage, and are suitable for corporate legal departments to read; they'll know where they stand if they are asked to OK this. Moreover, if they have problems with giving it to you under, say, GPLv3, then it's reasonable to assume they'll not be happy with you sharing it with others on those same terms.

So decide on your licence, give them a copy of that licence, and ask them to give you a copy of the source code under those terms. Then you'll know exactly what you can and can't do with it.

4
  • 7
    I think it would be best (and might help unconfuse OP) to conceive of "releasing" as having two separate parts: The first one is legally deciding to make the code available under a specific license, and must be done first, by the company. The second one is dealing with the mechanics of putting the code on the Internet, and letting people know what license it's under; OP can do that part. Commented Feb 6 at 20:38
  • 16
    @GlennWillen Step 1 is WAAAAY more important than step 2. Step 1 is career-ending levels of legal trouble if it isn't done.
    – Nelson
    Commented Feb 7 at 1:55
  • If the company has lawyers and you can get time with them, I think it would be good to have their input on what license is acceptable. It could save you some time over getting into a back-and-forth 'redlining' exercise. Even better, talk to leadership about the style of license that makes sense first.
    – JimmyJames
    Commented Feb 7 at 22:10
  • 1
    I did just this at a company in 2015. Whole entire work product was closed source, but I wrote a Redis client targeting net40 without Bcl libraries. Idea was followed by pitch to senior manager with candidate license was signed off by executive and I uploaded to GitHub, creating a profile for the company in the process. To date it's still the only repo there, and too bad it didn't kick off more of similar.
    – maxwellb
    Commented Feb 9 at 14:30

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.