DEV Community

Esdecode
Esdecode

Posted on

I Built an Open-Source License Compatibility Checker for Developers

 Software licensing often looks simple until you actually need to combine code from different projects.

Can I use an MIT-licensed library inside a proprietary application?

What happens if a dependency is GPL?

Can I modify the code and distribute only the binary?

What changes if the software is offered as SaaS instead of being distributed?

These questions come up frequently when building software, evaluating source code, or acquiring an existing project.

So I built a free tool to make the initial analysis easier.

License Compatibility Checker

The License Compatibility Checker analyzes software licenses and highlights potential compatibility issues and obligations.

You can try it here:

👉 https://esdecode.com/tools/license-compatibility-checker

The tool is free to use and doesn't require an account.

What does it check?

Instead of simply saying that two licenses are "compatible" or "incompatible", the checker looks at the direction in which software is being combined and the scenario in which it will be used.

It can highlight considerations such as:

  • copyleft requirements
  • attribution obligations
  • source-code disclosure
  • commercial-use restrictions
  • patent-related conditions
  • redistribution requirements

The usage scenario matters too.

For example, using a dependency internally can have very different implications from modifying it and distributing the resulting application.

The checker therefore supports scenarios such as:

  • dependencies
  • modified source code
  • binary distribution
  • SaaS applications
  • proprietary software
  • internal use
  • resale
  • source-code acquisitions

Why I made the engine deterministic

I deliberately didn't build this as an AI wrapper.

For this type of tool, I wanted the same inputs to always produce the same result.

The compatibility engine is therefore deterministic and directional.

That makes the results easier to reproduce, inspect, test, and improve.

It also means developers can examine the actual implementation instead of trusting an opaque answer.

It's open source

The compatibility engine is available on GitHub:

👉 https://github.com/esdecode/license-compatibility-checker

The project is written in TypeScript and released under the MIT License.

Contributions, issues, and suggestions for additional licenses or scenarios are welcome.

Where this is useful

I originally built the checker around problems that appear when evaluating software projects and source code.

A project can look technically solid while still containing dependencies that complicate redistribution or commercial use.

This becomes particularly important when:

  • publishing an open-source project
  • building commercial software from open-source components
  • changing the license of an existing project
  • distributing binaries
  • selling source code
  • acquiring an existing software project

A quick compatibility check can help identify questions worth investigating before they become expensive problems.

What the tool doesn't do

This is not a replacement for professional legal advice.

Software licensing can depend on the exact code, distribution model, jurisdiction, contracts, dependency structure, and other circumstances.

The checker is intended as a practical first-pass tool for developers.

It helps identify potential conflicts and obligations that deserve a closer look.

Try it

Live checker:

👉 https://esdecode.com/tools/license-compatibility-checker

Source code:

👉 https://github.com/esdecode/license-compatibility-checker

If you find a license combination or software-distribution scenario that the checker should support, I'd be interested to hear about it.

Top comments (0)