Is it possible for a freelance programmer to use Open Source products under GNU Public License and make money given that he cannot stop his customers from freely distributing his products?

  • 2
    Consulting and customizations go a long way. It certainly depends on how the application is built and realizing what the intention of the GPL is. – user40980 Jun 9 '13 at 1:41
  • 1
    Companies that produce GPL software usually make their money by providing customization and support services, not by selling the software. – Robert Harvey Jun 9 '13 at 1:51
  • I'd say it's compatible, but you should discuss it with the client first and make the implications very clear. Some could back off if you were to clearly tell them they wouldn't be able to resell or license the product. – haylem Jun 9 '13 at 11:06
  • @RobertHarvey I don't see that as the case much anymore. I see now that they release a GPL version to be used by other GPL products. And then sell a commercial version of the product to be used in closed-source products. – Andrew T Finnell Jun 9 '13 at 23:08
  • I don't quite understand the question. Are you trying to say that a freelancer maintains the rights to the code they write for another company? That is not typically the case. – Andrew T Finnell Jun 9 '13 at 23:09

IANAL (I am not a lawyer): Freelancing and GPL are very compatible -- if the client is a company that wants something done, rather than a product they can sell, the fact that it is GPL is actually a bonus. It clearly establishes the copyright situation.

It can also be used effectively when what you are selling is a service. Only when you are developing something that is going resold to others would the GPL be a possible obstacle.

|improve this answer|||||

When you are freelancing, copyright usually reverts to the company for which you are doing the work. Which means that you need to clear your use of GPL'd code with them, as they will have to comply with it when distributing their product.

If you retain all rights to your software, you would be selling a license to use your product to your customer(s) and that license needs to be compatible with the licenses of whatever libraries you used to create the product. Your customer needs to accept that license and make their customers accept it as well when the license you sold to them included re-distribution rights.

TL DR: when you use GPL'd code to create software for a customer, you need to make your customer aware of the consequences and they need to accept those consequences. If they are not willing to accept the consequences of GPL'd code, you should not use any GPL'd code in the solution you are building for them.

|improve this answer|||||

What the other answers have not touched upon: There is a huge difference between using a GPL library in your product or using a GPL tool in your toolchain to build the product.

If you just use a GPL editor or compiler (or other tool) to create your product, then this has no influence whatever on the licenses you can use for your product. It is perfectly well possible to use a GPL editor or other tool (such as GCC or Make) to create a closed-source application and you will not be violating any license terms in doing so.

If you use a GPL library in your product, or in some other way incorporate GPL code in the product, then you need to apply the GPL license to your code as well. Note that this situation can also occur if you use a tool that generates code for you.

As for making money from GPL software, the GPL does not forbid this so you are perfectly within your rights to charge a customer for the code you write for them or the maintenance you perform afterwards. You can't forbid the customer from giving the source away, but then, why would they if they paid hard-earned cash for it themselves?

|improve this answer|||||

@jmoreno's answer is spot on. And another good thing about GPL (or open source in general) is that it frees you from worrying about what the customer might do with your "proprietary" code after you have moved on to the next job. If you've given it to them, you don't need to worry about them stealing it.

However, if you are concerned about them attempting to resell it (in some form), then you may need to keep an eye out for signs that this has happened. Depending on how they did that, it could be a breach of the GPL (and your copyright) and potential grounds to sue them.

But if you simply don't care about that (and you are happy for them to try to make a buck from "your" code) then maybe something like the Bsd or Apache licenses would be more appropriate.

But note that you need to deal with these issues at the point where you sign the initial agreement with your client. They need to sign off on you releasing the relevant part of your work for them under the GPL ... and on who will own the copyright. You can only release something as GPL (or under some other open source license) if you actually own the copyright. And the fact that you wrote it doesn't necessarily mean that you do. (In some legal jurisdictions, the entity that is paying the bills for the work may own the copyright on work product ... by default.)

|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.