We are developing website that we charge money from members to join it as membership annual cost, so, we decided to put a plan for the second stage so we are choosing now the load balancer that we will use for our web application. I suggested HAProxy but one of my friends told me that HAProxy is under GPL and LGPL so if we used it we will have to provide source code of our website to our customers. But as I know that our website is providing service not redistributing haproxy binary and we don't modify it so I disagreed him.

Now I am truly very very confused so please answer me: if we used HAproxy as our load balancer will we have to provide our website source code for customers? And the OpenSSL is GPL licensed so if we used it in our web application will we have to provide our web application source code for customers? And is using HAProxy as our load balancer considered redistributing or providing service? Didn't all websites considered providing service not redistributing HAProxy if they used it as there load balancer?


Your friend is wrong.

First, the GPL only requires to disclose your source code to your customers when your software runs on their machines. Your load balancer runs on your own hardware, so you don't need to provide the sourcecode to anyone who connects to it. There is a variant of the GPL which requires to disclose the sourcecode to everyone who "interacts with [the software] remotely through a computer network" called the AGPL, but HAProxy isn't licensed under it and OpenSSL isn't either.

Second, even if your load-balancer would be under the AGPL, this would not affect the application behind it. The GPL only "infects" other code when GPL and non-GPL code are combined to create a single software product. But this is not the case here. The load-balancer communicates with the application "at arms reach". Load balancer and website are separate pieces of software which are useful on their own, so different licenses can apply to them.

  • thank you sir, I am so grateful for your answer and your kindness. – Saaid Samer Jan 7 '15 at 14:58
  • 1
    Just to clarify. The AGPL only applies if you modify the source of the AGPL software and people remotely interact with it. So even if the load-balancer are considered separate pieces of software - if you modified HAProxy for your own use, you would have to release the source. On the other hand, even if the software is part of one unit (eg, website application code and it's database) and other people are using it - you don't have to release your source as long as you don't modify the AGPL software. EG. Mongo is released under AGPL, the sites using it don't have to release their source code. – Yehosef Jan 12 '16 at 8:38

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.