Is it fine to use a Go-licenced 3rd party library (https://github.com/google/re2j) within an Apache2-licensed code?
-
2The Go License seems to just be a 3-clause BSD, which should mean it's compatible.– amonMay 7, 2019 at 17:17
-
1@amon that looks like the closest thing we're getting to an answer. You want to write it up as one? I can't see how it needs more than three sentences!– MadHatter ♦May 17, 2019 at 8:06
1 Answer
The license of the re2j project you linked to is a 3-clause BSD license. This is perfectly compatible with Apache 2.
This 3-clause BSD license requires that you do not remove the license notice from the source code, that you include the license notice in your documentation, and that you don't use Google's brand to promote your software (duh!). None of these requirements conflict with Apache 2, which essentially requires the same things.
The Apache 2 license uses a NOTICE file mechanism for acknowledgements and upstream licenses. If you include the re2j software into your project, you should probably add the re2j license to your project's NOTICE file. If you merely declare re2j as a dependency that's not necessary for your source code, but note that these requirements still trigger if you distribute a binary (like a jar file) that includes the re2j software.