I am forced to use some proprietary software at work. The software lets users export custom functionalities. You can then share these to other users. I have made some that are pretty simple, but greatly enhance the use of the application using its native tooling.
I’d like to share mine under some sort of open source licence rather than being ambiguous. Mostly to spread awareness of the concept of open source which is at approximately 0% right now.
What are the considerations here? Can I use the GPL or is it inherently out of compliance since you need a proprietary software to run it?
The employer doesn’t claim any intellectual property rights over my work product. I’m not able to find anywhere that the proprietary vendor does either. But I haven’t gone through everything with a fine tooth comb. What language would I be looking for?
Advice appreciated. Obviously it can only be general as many details are missing. I just don’t understand the details of licences very well.
Yes, as long as you don’t link in their libraries or incorporate other parts of their code, you should be able to license your extensions and stuff that ties into some APIs as you like.
Companies usually like permissively licensed projects like MIT, Apache or BSD. But if you want them not just to take your work, a copyleft license like one of the GPL licenses is a good choice.
You can reasonably expect that configuration data would be completely separate from the app it is configuring, and could release it under any license. The only way I can see that their license would carry over would be if you were shipping parts of their codebase with your customizations.
Think about it this way: if what you are shipping is just an arbitrary stream of data that contains no proprietary work, then it stands alone.
Of course IANAL and there maybe some ridiculous law that covers configuration data, but I’m not aware of such a thing. (Waiting for people to pull out all the legal precedent that I am missing, Cunningham law and all.)
What are the considerations here? Can I use the GPL or is it inherently out of compliance since you need a proprietary software to run it?
While its often overshadowed by the giants like MIT and GPL there are times when MPL is appropriate.
Its copyleft at the file level and allows them to do what they want with the rest of their project, this may suit your needs.
This is a pretty reasonable rundown of the pros and cons:
https://fossa.com/blog/open-source-software-licenses-101-mozilla-public-license-2-0/
thanks I will read that!
GPL effects “derived works”. So if your code is derived from proprietary code, you can not use GPL, as you would need to re-license the proprietary code and you can’t do that (assuming you do not hold the copyright for the proprietary code). LGPL and permissive licenses are probably fine though.
Now what exactly is a “derived work”? That is unfortunate up to interpretation and different organizations draw the line in slightly different places. We’d need people to go to court to get that line nailed down more firmly.
The employer doesn’t claim any intellectual property rights over my work product. I’m not able to find anywhere that the proprietary vendor does either.
You’re probably in the clear. Legalese isn’t so opaque that you would miss a section about this.
Of course, that doesn’t stop them from suing you if they decide your work could be very profitable for them.
First off, IANAL. Not legal advice. Consult with a lawyer or at very least some place like the Software Freedom Conservancy if you want legal advice.
If you’ve got an employer who is willing to let you own the copyright on stuff you write as part of your job, that’s pretty awesome. But if you don’t have that in writing, it’s probably still risky to move forward under the assumption that you own the copyright. If you haven’t specifically had a conversation with your employer about this, I’d definitely say you need to before you conclude you’re in the clear on that score.
But assuming you’ve got all of those i’s dotted and t’s crossed, the next question is “where do you live?” If you’re in the U.S. this court case is probably relevant and (IANAL!) probably weighs in your favor.
my industry is so unaware of this sort of thing that it would literally never occur to anyone to include it in a contract or even policies. i’ve never heard of it being discussed.
I am not worried about personal legal problems. I intend to distribute for free to other people doing similar jobs who are not competitors. I guess the worst is that someone could make me change it or something? I would probably never be in a position to enforce anyway.
It is primarily an educational intervention for other users. So I don’t want to do it wrongly enough that it causes confusion.
(Did I mention IANAL?)
Yeah, but at least in the U.S., the rules are that if you made something subject to copyright protections as part of your job, absent any specific agreement between you and your employer, it’s “work for hire” and thus owned by your employer. That is, it doesn’t require any specific agreement/contract to make it your employer’s. It requires a specific agreement to make it yours and not your employer’s.
(Unless you didn’t write the “custom functionalities” as part of your job, which can be pretty dicey. If you did it during off hours but using your employer’s computer, for instance, it becomes a difficult question to answer whether you wrote them specifically as part of your job. Even if you did it during off hours and on your own hardware with your own license for the proprietary software in question, it’d be difficut to decide whether it was work for hire or not.)
So, if you want to do things the right way, that involves making an agreement with your employer that you own the copyright on the code in question. If you moved forward with distributing the software you wrote without such an agreement that wouldn’t be “doing things the right way.” That would be “hoping you don’t get caught.” I don’t think there’d really be any confusion, really, since it’s pretty cut-and-dried that unless you’ve discussed this with your employer and made an agreement, you clearly don’t have the right to distribute this software under any license (open source or otherwise.)
Now, even the step of making such an agreement would be kindof complex. Assuming your employer was open to the idea, you might assume you could make a contract transferring ownership of the work to you, but contracts require “consideration”, meaning both parties (you and your employer) would have to benefit from it. You could potentially argue that by open sourcing it, your employer has the chance of benefitting from voluntary contributions by a community of Open Source developers, and that could likely (IANAL) fulfill the consideration requirement.
Another option, and I’m thinking probably the most straightforward, would be for your employer to retain the copyright and grant you permission (and I think it’d be good to get that permission in writing, though it wouldn’t have to be on paper; an email would be fine, but you’d probably want to forward it to an email address you own and would retain if you ever left the company) to publish it as an open source project (and I believe the GPL would be fine for this) on their behalf as part of your job. Lots of companies do this. Netflix for instance.
And, again, IANAL and this isn’t legal advice. I’ve done some research and I’m interested in these topics, but I’m not an expert and you’ll get a lot more mileage from consulting a lawyer.
Thanks, great answer!
I couldn’t possibly obtain access to this software any way except through the employer. They only sell it to people in the industry and it’s too niche to pirate. It also only works in context of other stuff that would be impossible to reproduce.
I will think on it… I don’t even know who would be able to make a decision like that on behalf of the employer and since it’s unlikely it has ever come up before probably nobody does. I’d probably end up sitting in front of the Big Boss trying to explain what open source is and why I am spending their time on it and why a license means anything.