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. Oct 23, 2015 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, 2015 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, 2015 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, 2015 at 22:42
  • If you earn money from this, consider letting them earn money too. Feb 24, 2019 at 9:17

4 Answers 4


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.

  • 1
    Thanks! You described it perfectly. This was work for hire and it is their code now.
    – kazanaki
    Oct 23, 2015 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, 2015 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, 2015 at 16:19
  • 1
    @Martijn: Companies change their minds all the time. It pays to be prepared.
    – Kevin
    Oct 23, 2015 at 16:21
  • 3
    @Kevin which is why the answer explains what the restrictions are in the 5th paragraph
    – Martijn
    Oct 23, 2015 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.


There is various mention of "work for hire" above - but that is a US thing. In the UK a freelance software writer maintains copyright of their code, unless explicitly transferred to the client - I gather this is the opposite of the US.

If you are not keeping copyright of the code, then you should probably check with the client if GPL is okay. At a later date, they may wish to distribute it and they should know that they would need to do this under GPL.

If you are keeping the copyright, then you must provide the software to the client under GPL. This includes GPL licensed versions of all code which is part of the product. For example, if you have a library of your own helper functions, you should have to give this library to your client under GPL and there would be nothing you could do to stop your client giving the source of these helper functions to anyone they wish, including your competitors. They would even be permitted to strip out just your helper functions and distribute these on their own.

I say this because you state "it is impossible for someone else to buy this application", but if you provide it to your client under GPL, your client is free to distribute it as they wish.

  • 1
    "In the UK the software writer maintains copyright of their code" I'm not sure that's true. See the UK government portal on the subject: "Where a literary, dramatic, musical or artistic work, or a film, is made by an employee in the course of his employment, his employer is the first owner of any copyright in the work", and note Wikipedia on copyright: "Original literary works (for the purposes of UK law, this includes software)".
    – MadHatter
    Oct 20, 2020 at 15:11
  • Now that some time has passed I can finally explain what I mean by "it is impossible for someone else to buy this application". The client is a European agency. There is no other organization in the world that does what they do, so this is why it is impossible for someone else to buy the software. Not because of contractual reasons, but because nobody else in the world needs this kind of software
    – kazanaki
    Oct 26, 2020 at 17:18
  • @MadHatter♦ you are correct. The response I gave assumed freelance work as it seemed as if the OP is a freelancer or at least not an employee of the client. I have edited the response to reflect this. Oct 27, 2020 at 18:56

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.

  • Thanks. The application is for internal use only. It is not accessed by customers (and never will)
    – kazanaki
    Jan 4, 2016 at 9:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.