20

There is a GPLv3-licensed open source library on GitHub which is used by the company I work for in a central component of the business. The business does not sell software, but only a manipulation of the output of software. All software is executed by the business on machines owned by the business, not by the customers. No binaries or source code or anything is distributed to the customers except for the results.

I made minor modifications (< 30 lines) to the >50,000 lines of source code of this open source library which slightly changed this open source library's output in a way that is beneficial for downstream proprietary code that is external to the open source library, i.e. beneficial to downstream code that is not open source but is proprietary to this company,

These slight modifications to the open source library are useful to the broader public, and I would like to use the modified version of this library in later work at a different employer.

If I leave the company, I would like to make the modified copy of this open source library public. For instance, I could: fork the open source library's repository from GitHub as a public fork on my personal GitHub account, copy the code with the modified parts that I made at work, and then upload the modified code to my public fork on GitHub. To be clear, I am only asking about copying and publishing the modified copy of the GPLv3-licensed library, not the all of the code surrounding it and interacting with it.

I understand that code that you write for an employer is their property. But this code is a (few lines of) modification to a GPLv3-licensed open source library. If an employee makes a modified copy of a GPLv3-licensed open source library on the job, is that modified copy property of the employer?

Is it legal to copy, keep, re-use, and publish a modified copy of a GPLv3-licensed open source library if the modified copy was created for the employer?

  • Did your company release the modified version to the public or did they keep it private? Note that GPL allows you to keep private changes of software and does not require you release them. – Brandin Apr 18 at 6:20
  • They did bot release the modified version to the public and have no intention of doing so, and most likely never will. – user1234 Apr 18 at 10:33
  • 1
    If I leave the company, I would like to make the modified copy of this open source library public It's still the case that the time you used at work to make those changes was paid by your employer, so besides the licensing considerations this might complicate things should lawyers get into the picture, I don't know how but it sounds unlikely that that would have no weigh. Would it be an option to make another change to that original library that still achieves the desired results (or better results) but after you left the company ? Then I don't see what could keep you from making it public. – SantiBailors Apr 18 at 14:16
  • 4
    IMHO I would just tell your boss that maintaining this small change of 30 lines is going to be a huge pain in the ass when you can simply contribute it as PR and let the opensource community do it for you... Sell this as "if we don't contribute this we are going to have to re-merge this patch whenever we upgrade version, and if the open source project refactors etc it may take time". Once you framed as a question of "spengin time&money to keep 30 lines secret" vs "let other do the work for free" they aren't going to stop you from opening the PR. – Bakuriu Apr 19 at 9:54
30

If an employee makes a modified copy of a GPLv3-licensed open source library on the job, is that modified copy property of the employer?

No. But the modifications are their property, in most countries, either under the local equivalent of the work for hire doctrine, or through a specific provision of the employee's contract. At that point, the new work's rightsholders are everyone who had a copyright interest in the original work, plus your employer; or, if none of the above applies in your case, plus you. You'll have to read your contract of employment, and local law, to know for sure.

Is it legal to copy, keep, re-use, and publish a modified copy of a GPLv3-licensed open source library if the modified copy was created for the employer?

It depends. If the employer has chosen to release the modified program outside the bounds of the organisation, then by GPLv3 s5c, that conveyance must be done under GPLv3. If you can get a copy from that recipient, then it, too, will be under GPLv3, at which point you may keep, copy, modify, and publish it, again all subject to GPLv3. But you're not simply allowed to lift a copy on the way out the door.

If you establish that the employer hasn't retained the rights to your modifications, and I stress that would be quite unusual, then you can lawfully obtain a copy of the original code from the distributor, and re-apply your modifications, to make a GPLv3-redistributable copy of the new work. But I stress that you will want to be very sure of the ground on which you stand before you try that.

Much better, to my mind, would be to work with your employer before you leave, encouraging them to contribute those changes back to the original project. The benefits include maintenance (at that point, those changes will be carried through into future versions, and continue to work with them, with no further effort on your employer's part) and reputation (other users of the code will see your employer's copyright statement therein).

| improve this answer | |
  • 1
    It very much does depend on the local laws and precedents. I think that, at least here in the UK, what's in your head is yours, not your (former) employer's. I gather that judges make decisions biased in the interests of former employees - they have a right to earn a living. So long as they've not stolen anything from their former employer they're free to use their expertise as they wish (but patents must still be honoured). This has cropped up in the Formula 1 industry, with the best a former team has achieved in court was a few months gardening leave before an engineer moved to a new team. – bazza Apr 18 at 7:13
  • 11
    There is a difference between the copyrightability of ideas, and of the expressions of those ideas. Of the copyright in works for hire in the UK, it is clear that "in the absence of agreement to the contrary, the first owner is the employer". If you're going to attempt to evade that by leaving your job and writing a second chunk of code to express the same ideas, it had better not look anything like the first chunk of code. If it does, you will need to be very confident that the code could be written in no other way. – MadHatter Apr 18 at 7:21
  • Comments are not for extended discussion; this conversation has been moved to chat. – MadHatter Apr 20 at 10:47
11

Legally, those 30 lines are company property.

Practically, those 30 lines are technical debt. As the original codebase evolves, you will need to continually apply the same 30 line patch to the code every time you update. When you leave the company, it will fall on your successor to keep making the changes. And you have to tell your successor and they have to tell their successor and so on, until the whole system collapses one day and nobody knows what those 30 lines for.

You should convince the appropriate channels at work to let you submit a pull request with the changes. Then it becomes Somebody Else's Problem to maintain your code.

| improve this answer | |

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.