3

Please give your opinions/experience, I'm tired of meetings with the legal team. :(

Can a proprietary software link to a GPL-licensed dependency during runtime?
Can it do if its GPL "with Classpath Exception"? What about CDDL?

Case in point - propriety Java web app needs javax.* libraries (JakartaEE components) at runtime (from project or JavaEE app server), but they are licensed under GPL.

Can they be used or is there any workaround?

Comments
  • 1
    Just to add, I know we can't link to GPL libs from closed source, but trying to get clarity on "GPL with Classpath Exception".

    Just discovered that many of our existing closed source projects are using such libs.
  • 2
    Yes it can as long as you don't change the code of that module and don't integrate it with your software. As far as I know. As long as you distribute that piece unchanged, you should not be violating the license.
  • 1
    don't include it in your software and close it off, don't claim rights on those libraries, don't be a jerk.
  • 3
    "As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. [...]"

    What is unclear for your legal team about this?
    It explicitly grants you the right to link to and distribute it, as long as you don't break other licenses.

    You can even modify the GPL-2.0-with-classpath-exception licensed library itself, as long as you don't change the library's license and your modifications have to be under the GPL itself.
  • 3
    Regarding the CDDL:
    "[...] Conditioned upon Your compliance with Section 3.1 below and subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license:

    (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof), either on an unmodified basis, with other Modifications, as Covered Software and/or as part of a Larger Work; and [...]"

    So, linking is allowed, but:
    "3.1. Availability of Source Code.
    Any Covered Software that You distribute or otherwise make available in Executable form must also be made available in Source Code form and that Source Code form must be distributed only under the terms of this License."

    The definition of "covered software" is the CDDL licensed library and modifications to it, but not your code.
  • 0
    Could you even publish anything proprietary then, as you probably need to link to system libraries
Add Comment