← Back to License Compatibility Check

Can I use a GPL dependency in a closed-source app?

It depends on how you ship, not only on what you depend on. The same library can be fine in a hosted service, a problem in a downloadable app, and impossible in an MIT-licensed library. This page is the short version; the tool checks a whole dependency tree against your situation.

The three situations

DependencyClosed-source, distributedHosted SaaSOpen source (MIT/Apache)
MIT, BSD, ISC, Apache-2.0Fine, keep noticesFineFine
LGPLFine if dynamically linked and replaceableFineReview: downstream users inherit LGPL duties
MPL-2.0, EPL, CDDLFine, changes to those files stay openFineFine, those files keep their license
GPLConflict: whole work must be GPLUsually fine, no distributionConflict
AGPLConflictReview: network clause if modifiedConflict
SSPL, BUSL, Elastic, RSALReview or conflict: not open sourceReview or conflict: service and competition limitsConflict
No licenseNo right to use or ship itSameSame

Ways out of a conflict

Check the whole tree

node cli.mjs scan --out deps.json
node cli.mjs check deps.json --project proprietary-distributed

Or paste the list into the tool. For Python use pip-licenses --format=json; its output is read as-is. Run License Drift Check as well to catch a license that changes between releases.

Common questions

Can I use a GPL library in a closed-source app?

If you distribute the app, no: GPL requires the combined work to be released under the GPL. If you only run it on your own servers, the distribution trigger is not met, and a separate program you call over a socket or a pipe is generally treated as a separate work.

Is LGPL safe for a proprietary app?

Usually yes if you link dynamically and let users replace the library, ship the license text, and offer the library's source. Static linking means you must let users relink with a modified version.

What does AGPL change for a web service?

Its network clause says that if you modify the software and let users interact with it over a network, you must offer them the corresponding source. Running it unmodified is generally fine.

Is Apache-2.0 compatible with GPL?

With GPL-3.0 and GPL-2.0-or-later, yes. The FSF treats Apache-2.0 as incompatible with GPL-2.0-only because of its patent terms.