TransWikia.com

Can I get paid to make code that includes GPLv2 libraries?

Open Source Asked by Rufis_ on August 28, 2021

I’ve been asked to make an application about astrology, and I would like to use this library https://github.com/astrolin/ephemeris/tree/develop/src/java/swisseph-2.01.00-01, however it is licensed under GPLv2.

Can I get paid to make the application if I release both the source code and the binaries for free? I’m not trying to sell the binaries after all.

P.s.: I might also have to use a library licensed under Apache v2, but if I understood well that shouldn’t be a problem, right?

3 Answers

If by

I've been asked to make an application

you mean that you were hired to create an application, the answer to your question depends on the contract you have with your employer (if you work for a company) or customer (if you are a freelancer).

If you are an employee, generally your employer owns all of the work you produce for them. In this case you do not have the right to release your work by yourself - you must ask your employer for permission.

Your employer may have rules as to what licenses are acceptable for third-party libraries or components. If you work for a well-run company, there would be some kind of a review process before you start working and the issue of GPL should come up there. If you work for a not so well-run company, you may be asked to redo the entire project if your boss finds out you used a GPL library and that is against company policy.

If you are an independent contractor or a freelancer, your contract with your customer should stipulate whether the customer owns all interest in the work you perform. If they do, you can't release the work without their approval because you don't own it. If they don't, you can provide the work to your customer but you retain the ability to also release it yourself under any license you choose that is in compliance with licenses of its component parts, if any.

Important: if your employer or customer expects that you wrote the application from scratch, they do not just expect that you'd spend a certain amount of time on that project (which could be dramatically reduced if you used an existing library, leading to perhaps a lower payment), but also that they would have all rights to the finished product. GPL imposes significant obligations on derived works, and you should probably verify with your employer/customer that it is OK for you to incorporate GPL libraries into an application they are paying you to produce.

I might also have to use a library licensed under Apache v2, but if I understood well that shouldn't be a problem, right?

Apache license tends to not cause issues/concerns because it does not impose requirements that GPL does on the software that uses Apache-licensed components.

Correct answer by D. SM on August 28, 2021

If you write software as an employee, you should have an employment contract and get paid. If you write software as a contractor, I assume you have a contract that guarantees that you will be paid as well. Whether you are using open source software doesn't matter at all.

There are of course consequences for using open source software: Whoever is the final copyright holder of the parts that you wrote, isn't the copyright holder of everything because they don't hold the copyright to the GPL parts. That means they need to follow the GPL license terms if they distribute the software.

The problematic thing is if you use GPL licensed software without telling your employer or the company you have a contract with. If the company planned to sell the software as proprietary software and you added GPL licensed software, then they can't do this. This may completely upset their business plans. Worse, if they distributed the software without following the GPL license, they have unknowingly committed copyright infringement.

If that happened because you lied about the use of GPL licensed software, then you are in trouble. From being told off to being fired as an employee, and from not getting paid to be sued for damages as a contractor.

Finally, what should you get paid for: You should always get paid for your work. Handing over the binary and source code will most likely be part of your contract or part of your employment, but according to the GPL license you can charge any amount for the binary, and your reasonable cost of copying for the source code. You are not allowed to charge for the license.

Answered by gnasher729 on August 28, 2021

Just adding another take on the question, hopefully to complement D. SM's excellent answer. You say that you're writing an application and you want to use a GPLv2 library in it. You fully understand this will mean releasing the entire program you write under GPLv2, and honouring the licence (providing source to anyone to whom you provide the binaries, etc.), and you're fine with that. You just want to know if it's a violation of the GPL to get paid to do this.

It is perfectly OK to do this. The GPL FAQ is clear that it's OK to write code and convey it under GPL, in exchange for money. I get paid to write code and release it under GPL on a regular basis.

Note that is it OK to do this as part of my regular salaried job is a different question to is it OK to get paid to do this, and I'm only answering the latter; D. SM alludes to some of the complexities that arise from the former. Note also that I approach the question from a licensing standpoint; there are many other standpoints, such as payroll taxes, that we can't deal with here.

Answered by MadHatter on August 28, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP