I'm working on a software solution to a particular problem at work, and I noticed that part of the problem I actually encountered a few months ago on a personal project of mine, and created a library on my personal GitHub to solve the problem. I'd like to use my own personal library for this particular problem, including it in the work project.

Is it acceptable to use personal code, namely a complete library I built for myself a few months back, as part of a work project? Does it threaten my rights to my library, given that all work I produce for the company I work for is legally work-for-hire? I've used other people's libraries at work in the past, as is expected in the software industry, and my understanding has always been that given I provide proper attribution as required by the library license that's totally acceptable, but I've never run into a situation where the library is my own work, and thus I can potentially threaten my rights to my own library.

  • This really belongs in Law SE. the short answer to is it legal is yes... but there are enough squigglies and if then elses in this that you probably need that perspective more than the workplace perspectives – IDrinkandIKnowThings Jul 13 '17 at 0:51
  • @IDrinkandIKnowThings I considered that, and it may yet make sense to migrate the question. I put it here because in contrast to Law SE, Workplace SE is a community largely populated by software engineers, who have doubtlessly encountered this problem at some point or another in their professional careers and so would have answers backed more on career experience than the technicalities of intellectual property law. I'm sure arguments could be made for this question's belonging in either though. – TheEnvironmentalist Jul 13 '17 at 0:54
  • 2
    @IDrinkandIKnowThings - no need for Law.SE on this one I think – HorusKol Jul 13 '17 at 1:00
  • @TheEnvironmentalist - I am not saying it doesnt work here. I can give you the basic answer from TWP. Yes you can, make sure you document doing it and get higher up approval. But there are some addendums, some legal provisos, some qid qou pros... Like when the library was written, etc. that Law is going to be better at explaining and how to protect yourself. – IDrinkandIKnowThings Jul 13 '17 at 1:11
  • Easiest way would be to just tell your Employer you have an private library from before you worked there and offer to license that to them. Just do it as a no cost, all rights reserved kind of license and get it signed by them. – Daniel Jul 13 '17 at 7:12

Is it acceptable/legal to use personal software projects in work software?

Legal - yes (but)

Acceptable - maybe

One problem with being a software developer is that it is sometimes had to delineate with stuff you do for your employer and stuff you do for yourself - for example, we're defining modular package and resource structures at my work that are very similar (if not the same) to what I've been using at home, and using patterns in database models, and so on. There's always a bit of crossover.

Your situation goes a bit further than this: you have a whole library of code that you wrote outside of work (at least, I hope you did).

What you can do is licence it to your work - just the same as you would licence it to anyone else.

Be upfront about it with your management - tell them that you have already solved the problem in a personal project and can licence the library to them. If you already charge other people to licence it, then ask your company for the same consideration (on the other hand if you freely distribute under licence, then it would be churlish to ask your employer to pay for it - if you haven't yet distributed it, then you need to decide what you want to do).

Things might get sticky if you backport improvements - firstly, your licence should allow (or even expect) this to happen. Secondly, you need to ensure that improvements done on company time actually support your company directly, and are not simply improving your library for others.

Before going to your management: I would write up a plain English description of the licence you want to offer (if you're not taking an off the shelf one like GPL or MIT) and take it to a lawyer to get them to convert it to legalese. I would also see about getting the code listed on a copyright register if you can, too - or, if you're open sourcing distributing it, just whack it on a public repository.

If your company doesn't want to take the offer of licencing your library - then you want to make sure you have evidence that you already have developed the library outside of work (hence the register or public repo) - that way, when the company has paid your time to replicate your work, they can't say that you took it from them instead of the other way round.

  • It's been on a public GitHub repo for a while, MIT-licensed. I'm assuming copyright holders typically don't have the right to change the license on open source software to something less open source, so they don't have to worry about ever losing the right to use the library. I don't see any issues beyond my work-for-hire employment contracts potentially retroactively applying to the library, but that's why I'm asking – TheEnvironmentalist Jul 13 '17 at 1:22
  • @TheEnvironmentalist - you can issue a non opensource licence that is completely seperate for the licence that is freely available through opensource. But once you have issued the licence to someone you cant take it back unless the licence has a provision for it, which the mit does not – IDrinkandIKnowThings Jul 13 '17 at 1:26

You own that code and can use it any way you want. Even if you have released the library under GPL, the author is not bound by the license.

The view of the company to this may vary to extremes but generally it is a bad idea to develop something in free time while working in the same company, and then try to sell.

Better to use free time projects for learning new languages, technologies that you are not working on inside the company.

  • This answer here is why this question should not be on TWP. Your answer is right by TWP standards but wrong because of the other crap involved. – IDrinkandIKnowThings Jul 14 '17 at 16:06
  • Do not actually understand what are you talking about. – eee Jul 14 '17 at 18:15

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