Ask HN: How to avoid legal issues when writing company-owned generic code?
Say I write a wrapper on company time for the `dd` *nix utility, and call it `MyCompany.BlockDecive.create`. The company owns that code, and there's no question about that. But now that pattern is stuck in my head, and for a personal project I write `MyPersonal.BlockDecive.create`. The `Xxx.BlockDecive.create` is so generic, and uses a convention I like, that I might end up recreating the something nearly identical. I don't wanna steal anything, and I don't want to even appear like I'm trying to open source company IP without permission.
Obviously getting a company's permission to open source something solves this problem, and I'm doing what I can to pursue that as an option.
Here's a real world use case for where this might come up... On Friday, I don't know how to implement a technical solution at work. Over the weekend, I figure it out, and post the code to GitHub in a sample app. On Monday, I recreate the sample app in a company owned project. Later on, someone discovers my sample app on GitHub, and now I'm being investigated for stealing company IP.
I've never gotten into trouble over this, and am not being investigated. I'm just researching how to keep myself out of hot water, so that if anyone sees my coding style in two places, there's no issue to be raised. I want to be conservative and honor the spirit of my employement contract.
"I am not a lawyer" (IANAL) responses welcome.
4 comments
[ 4.8 ms ] story [ 25.7 ms ] thread- First check your work contracts. US corporations often make you sign abusive work contracts where they own anything you think or write even on your own time. In that case I would advise you first to negociate a new contract.
- One way to avoid mixing work with pleasure would be to use entirely different programming languages and stacks. However, it's true that a program can be considered derived work of another independently of the programming language (in terms of copyright laws, translations are considered derived works), and there are of course those silly software patents and IP.
- Therefore: Just don't do it.
- Or, if you really cannot help, once you've pushed to github your own code, you could license it under GPL or BSD/MIT, and then at work ask for permission to include this open source library. This will give you a couple of weeks or months before the legal service answers by the negative, and then you will be able to re-invent it in a different way, or to find an entirely different solution.