I told my boss I had an idea for a program that could improve efficiency across much of the business, and he let me build it on company time. In the long term, he wanted to be able to sell it to other companies. However, the program never got implemented due to personnel mismanagement, and I’d rather be able to post it on my github under a free licence so I can use it as a resume item, and at least someone would have the chance to actually use it. It’s all still in my head, and I could write it again if I wanted. If I do, is it illegal to publish it? What if I write it in a different language? Do I need to change the variable names? I did plenty of research and planning on company time to build it, and it’s not like I can research it again, it’s all still in my head.
Not a lawyer but from my understanding of intellectual property: You wrote it on company time, so it is the companies code. Publishing it without explicit approval would be copyright infringement.
The code on the computer isn’t what I would be publishing. I would be publishing the memories in my head, which I had written down again
Don’t copy the code directly from any company assets. There are plenty of ways to track code and data theft these days, so don’t even attempt it. I am just saying that as a friendly reminder.
Honestly, there is not much that a company can do unless they specially own the business logic of what you are doing. Are there aspects to the code that apply to internal proprietary software? That probably isn’t wise to share.
While I am not a lawyer, a general rule of thumb is that if you think you might be stealing something, you probably are. Anything you do on company time, is technically owned by that company.
If your previous work gets discarded by that company, never talk about it again. Never code it again for that company and just let the idea die, as far as that company is concerned. Independently resurrect the idea at a later date.
Nobody here can really tell you what to do, btw. Quite honestly, if you think that you can claim ownership of what you have, pay a few hundred bucks for a consultation with a lawyer.
Good sensible advice right here ^
If you rewrite it in a clean-room approach and another language it will most likely not be in breach of copyright.
But there are many other aspects where you may be at fault: breaking confidentiality, using trade secrets, non-disclosure, non-compete etc.
My advice would be to have an honest discussion with the company owner and ask for the permission to open the code under a permissive license. Be prepared to explain what the advantages would be for the company, beyond “the code is just sitting there”. Be prepared to drop it if they say no.
If you go ahead it is quite possible you will be sued. Make sure you’re willing to risk it and spend time and money defending your project.
–Not legal advice-- Except they can’t do clean-room development because copyright is viral. If they had access to the copyrighted source, any code they write on the matter, if it coincides with the copyrighted one to some extent, can be pursued for copyright claims (IBM v. Microsoft). For example, when there’s a leak of Windows source, ReactOS devs get super scared, because it really puts them on the line. Another example is Nouveau, which can’t accept anyone who has worked at NVIDIA. That being said, the company was not intending to do anything with it, so they can’t claim damages; ergo, OP is completely safe.
I’m not a he
Fixed.
Doesn’t matter if you write it in code or chisel it on a stone tablet. It is still the companies intellectual property.
Think of it this way: You film a movie which for whatever reason doesn’t get published. This doesn’t give you the permission to write a book containing the same story, just in writing. The story is still owned by the film studio. The same reason applies to published material: You are not allowed to write a Star Wars story without approval from Disney, the copyright holder. Fan fiction exists in a gray zone for exact this reason.
You’re sort of missing the point. Two programming implementations are never the same if you rewrite them from scratch for anything but the most trivial program. It wouldn’t be a copy of the original and it would have a unique, if similar, implementation. It’s not as clear cut as you suggest (at least not for the reasons you suggest, but IANAL.)
Legally it is quite clear. Taking a description of a closed source program and writing a new one is ok in most cases (unless that description is API docs - see Cisco vs Arista). Taking a look at closed source software and then implementing your own version is poison as far as OSS goes. OP implemented the first version, so that’s already a problem. They may get away is they describe what the program does to someone else and let them implement it, but OP would not be able to touch the source code
I agree. Particularly because it’s less about the truth and more about what can be proven in court. But even more, they don’t want to pay a lawyer a bunch of money to defend this even if you could prove it beyond a shadow of a doubt. You can tell by the way they didn’t want to pay a lawyer to answer this question.
Having seen original source code hasn’t been an issue in previous cases where the reimplementation was done in another language with the changes one would expect coding up something a second time, I believe
It is not about the code line by line, but the functionality that OP created for their employer. And yes it is not clear-cut in the sense that in Oracle vs. Google it was AFAIK decided that the idea of the
toString
Method does not fall under copyright. However, a software that fills a specific need for a company and is then re-implemented/released by an employee? You can bet your ass you are in for at least a lengthy battle in court.Yeah being right doesn’t protect you from a company firing your ass and suing you
You can absolutely write a Star Wars knockoff, though. You just can’t call it that. There’s some gray line in there somewhere.
Even worse: Depending on (local or national) law, it may be the company’s property, even if written in personal time. Especially if the code is in competition with your work.
Yes, it’s ass-backwards, but that’s how it is in some places.