I wrote some software as part of an internship. It worked well for the task and we published a paper on it. However, because the internship was at a company, not my graduate institution, the code is technically property of the company and they do not want to release it. I've received several requests for the code, and I know that releasing the software will increase my paper's citations and impact. Is it okay to re-implement the code I wrote and release it as open source, or could that violate some laws or policies?

For the record, when I say re-implement, I mean start from scratch, not reuse most of the same code and change a few things.

  • 1
    Beyond copyright issues, you probably signed an NDA promising not to reveal any proprietary information or trade secrets (better go back and read it). A re-implementation of your code could certainly reveal those secrets and the company might sue you. I agree with the advice to talk to a lawyer. – Nate Eldredge May 31 '17 at 16:42
  • 1
    Note that this is essentially what @NateEldredge said already, but part of the title in your question is misleading: if the code is proprietary and held by a company you worked for, it is not your own code anymore. You can take some credit for writing it, and you can use its existence as evidence of your abilities, but you have no legal ownership of that code. – Bryan Krause May 31 '17 at 19:43
  • It might be possible to do what's known as clean room design as a way of getting around the NDA problem. But IANAL, so be very careful. – tonysdg May 31 '17 at 20:03
  • @tonysdg It's not possible for the person who wrote the original code to produce a clean-room reimplementation. The point about clean room is that you argue that there's no possible way you could have copied the original, because you never saw the original. The author of the original code simply cannot do that. – David Richerby May 31 '17 at 21:02
  • @DavidRicherby: Makes sense to me, but it might give the OP a way of helping others get around the problem. – tonysdg Jun 1 '17 at 19:03

I am not a lawyer, and if you are seriously considering going ahead with this project, I suggest consulting one.

The problem is that copyright infringement is not limited to direct copying. See, for example, the "My Sweet Lord" case. George Harrison is not believed to have consciously copied "He's So Fine", but he had heard it.

You have much deeper familiarity with the existing code. It is going to be very difficult for you to write anything similar without being inspired by what you wrote before.

If your former employer's reluctance to release is related to liability and support issues, they may be willing to permit re-implementation, so it is worth asking. If they are hoping to make money off the code, they will not agree.

| improve this answer | |
  • 1
    It was internship-quality code. They're certainly not making any money off of it ;-). It's more likely that it'll be built on internally by others and incorporated into their massive code base. Nonetheless, this makes sense. The thing is that code is a strange beast. If someone else re-implemented it based on the published paper, it would be fine--this happens all the time (esp. for algorithms that are patented and published). Hence my uncertainty – marcman May 31 '17 at 16:38
  • 3
    @marcman Have you asked them for permission to re-implement, so that they would have no responsibility for the open source version? – Patricia Shanahan May 31 '17 at 16:59
  • That's definitely the place to start – marcman May 31 '17 at 17:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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