I am including the PostgreSQL JDBC driver (BSD-2) in my project in binary form (which I got from their website). I copied the license text in my repo, however I found the github repo for the driver and they give attribute to other code. Do I have to copy those licenses and give attribute to them too?

1 Answer 1


Yes, you have to fulfil the licenses of all the software that you distribute, including transitive dependencies. So if you distribute the pg-jdbc binaries, you also have to comply with all the licenses for all the software in those binaries.

However, it is common in the Java world to include all licenses within the JAR. As long as this license information is correct, this vastly simplifies keeping track of which licenses cover parts of the software. You can likely extract these licenses programmatically.

However, different licenses have very different requirements. Some licenses not only require that a copy of the license is preserved with the software, but also that the license is made accessible to users of the software. Hiding the license in a JAR isn't really accessible to end users. Therefore, it could make sense to show these licenses in a manual for your software, or in an interactive help screen of your software. What is appropriate depends a lot on what your software is doing.

  • Thank you. What if I don't include the JAR file, but tell the users to download them, do I still have to give attribute (also to pg-jdbc)? If valid, is this considered bad practice? This is a small project and not worth diving deep into the tree.
    – user21512
    Commented Dec 31, 2020 at 20:01

Your Answer

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