My situation:

I have a continuous contract with a single client for "IT services". I am developing a web application that is completely custom to their needs. As part of the agreement the application will be installed on the client premises and used internally in their company.

Some key points:

  • The client will receive the full source code
  • There is no place to "download/buy" this application for the public
  • It is impossible for somebody else to buy this application
  • The application is one of many delivered to the client as part of the contract.

I have found a Javascript library that is dual licenced under GPL/commercial. I would like to use this library in my web app (but not modify it in any way)

Can I use the GPL version of the library in the application? Or do I need to buy a licence?

  • 5
    It depends on the terms under which the client receives the code from you. If you give them full GPL rights, then you can include other GPL stuff. – RemcoGerlich Oct 23 '15 at 12:18
  • "I am developing a web application that is completely custom to their needs." -- If you're using external libraries, then arguably, no, you're not. Regardless of any possible GPL violation, please double-check that you're allowed to use external libraries like that in the first place under the terms of your contract with the client. It could well be fine, it's just that based on how you worded your question, it could also well not be fine. – hvd Oct 24 '15 at 14:16
  • I don't "give" them anything. It is their source code. All files "belong" to them. I just wrote the app but do not otherwise own it. – kazanaki Oct 25 '15 at 22:40
  • When I say "custom to their needs" it means that the app is not re-usable because no other company has a similar business – kazanaki Oct 25 '15 at 22:42
  • If you earn money from this, consider letting them earn money too. – Thorbjørn Ravn Andersen Feb 24 '19 at 9:17

When you acquire a GPL license for this product, build upon it, make a product, and transfer it to your client, there can be two scenarios, and in neither case it is a problem.

In the first case, you write the software as work for hire and transfer the copyright to your client. In that case, there was never any distribution as meant in the GPL. Effectively they created the software.

In the second case, you write the software and retain the ownership. In that case, when you distribute it to your client, you must do so under the terms of the GPL.

The only difference between the two scenarios is who hold the copyright. In the second case you are free to re-redistribute the software to others (under the terms of the GPL). In the first you are not.

In neither case does the GPL pose any problem. In both cases, the license requires from your client that if they choose to distribute the software (which they don't plan on doing), they have to do so under the GPL.

However, some organisations don't want to use any GPL code (they usually make an exception for Linux) because they believe there are problems with using GPL code. This is usually FUD, but something to be aware of nonetheless.

| improve this answer | |
  • 1
    Thanks! You described it perfectly. This was work for hire and it is their code now. – kazanaki Oct 23 '15 at 12:45
  • 1
    "This is usually FUD" - Well... in this case maybe not. What if the client later decides to start selling some modified version of the web application, or rolls some of the code into another product? In both cases you describe, the GPL could create logistical problems. Now, if the client is e.g. a manufacturer, they probably won't do that, but you have to check. – Kevin Oct 23 '15 at 15:31
  • 1
    @Kevin OP made fairly clear they don't intend on distributing it, as it's all custom made just for them. The GPL posts some fairly strict restrictions on distributing derivative works, but none are applicable in this scenario. – Martijn Oct 23 '15 at 16:19
  • 1
    @Martijn: Companies change their minds all the time. It pays to be prepared. – Kevin Oct 23 '15 at 16:21
  • 3
    @Kevin which is why the answer explains what the restrictions are in the 5th paragraph – Martijn Oct 23 '15 at 16:22

It seems to me that this is work for hire, i.e., you are developing the software on behalf of your client. This (in my opinion as a developer on foot, most emphatically not as someone versed in the relevant law) would legally count as work done in-house. If this is so, GPL specifically states that they (and you in their name) can use the software for in-house purposes as they wish.

Whatever happens, do make sure the client is on board with it. I.e., if it is as I stated, they have to be clear that if they ever distribute said program to third parties, they will have to do so under GPL, with all what that entails.

| improve this answer | |

This means you give the software for your client under the terms of GPL.

The client must receive the full source code. Also, if the client would later attempt to redistribute the program, then

  • The client must also redistribute it with the source code, including any changes they made in the version they distribute.
  • You cannot stop the client from doing this, if you do not want.

However if the client just uses the program internally and does not distribute, GPL should not require from them to share any source code or binaries on demand.

It may be possible to raise some doubts if the web application is accessed by the customers outside the company. While it the past it was common to assume that GPL software can be used by the end customers in places like vending machines, and this is still "internal use", there are now different opinions on that.

| improve this answer | |
  • Thanks. The application is for internal use only. It is not accessed by customers (and never will) – kazanaki Jan 4 '16 at 9:32

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.