I have been using mysqlclient package for MySQL DB connection in Django and recently realized mysqlclient is in GPL license.

Is it fine to use mysqlclient package in a private repo for a commercial product? What I understand is that it's fine to use LGPL libraries while GPL one is not.


1 Answer 1


The GPL license effectively states that if GPL-licensed code is used in a product (either directly or pulled in through a library or package mechanism), then the whole product must comply with the terms and conditions of the GPL license.

Simply said, those terms and conditions state that every recipient of the product must be offered the source code and they must get the same modification and distribution rights as you have.

If the product does not get distributed (and in a workplace setting, that means not being distributed outside the company/legal entity that created the product), then you can do what you want.

If the product gets provided to others (for free or for a price), then you must do so under the terms and conditions of the GPL license, which means that you must offer access to your source code and you must allow your buyers to redistribute the product.

  • This product is a web application and the library is used on the backend. Does it mean I have to provide backend source code to website users?
    – discover
    Apr 20, 2022 at 17:13
  • @discover, no, because the backend code does not get distributed to the users of the webapp. Apr 20, 2022 at 17:31
  • How about frontend code if it uses GPL licensed library?
    – discover
    Apr 20, 2022 at 18:44
  • @discover, for frontend code, it is a different story as that does get sent to the user's computer. Apr 20, 2022 at 19:47

Your Answer

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

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