Apache or GPL2 license?

I found this attribution in some library source code:

SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later

What does it mean when you have “Licence A” or “License B”?

This means: The two licenses both apply.

In this specific case, they are very similar. In any case, if you want to modify and/or redistribute the library’s source code, you have to check at least one of the licenses for the conditions. And: One of them is enough.


My application is built by compiling and linking the library in question with no modifications to the library.

Subject to correction, my understanding is GPL2 requires the application linking the library to share my application’s source code, whereas Apache does not. In the latter case it is only required to make licenses / copyright available with the distro in some fashion. That is a big difference.

So if Apache * OR * GPL2 is the license, does that mean that the GPL2 requirement to share application source code must be met? Or can the least stringent license be applied?

Thanks for your input, Mina!

I am not a legal expert, but as far as I could find out, “or” means, you can use the license of your choice, meaning that you can, for each individual item of the license, choose the more lenient one, whilst “and” would always mean that the most restrictive rule of either license applies for each topic covered.

To me, this makes total sense.


Hi @Gerry_Blaney,
Welcome to the forum.

I have the same opinion as Mina, but if you have any doubts, try contacting the developers of the library to make sure why they use both licenses and that you can use the library as you wish.



Thanks, guys! Those were my thoughts as well. But I will also take the suggestion of contacting the library vendors.


That’s probably for the best.

If you happen to get an answer, it would be nice if you’d let us know. The topic is most definitely of general interest.


I did check with the vendor’s community and they concurred, saying:

" Whenever you have an OR it means you pick one and abide by that one. This is called dual-licensing.
GPLv2 is incompatible with Apache v2, so you can only really pick one…"