Skip to content

Looking for help with addressing an IP issue within the AspectJ project

I wonder if you can help me resolve an IP issue in the right way - let me spell out the situation as succinctly as I can.

AspectJ is now under EPL v2. However, a million years ago some code was copied in from an Apache project (Bcel) that had Apache 1.1 license on it.

These licenses aren't compatible it seems but it isn't clear to me whether you can express things clearly enough via project declarations and in distributed artifacts we ship that cover enough bases to make it ok.

For example. This recent bug is highlighting the problem: https://github.com/eclipse-aspectj/aspectj/issues/324 - in particular this comment is from someone digging a little deeper into the topic: https://github.com/eclipse-aspectj/aspectj/issues/324#issuecomment-2710672723

But perhaps more pertinent is Waynes issue here: https://github.com/eclipse-aspectj/aspectj/issues/185

Where he mentions inclusion of the Apache 1.1 license in the distributed artifacts (so that would be the release download plus the artifacts that go into maven central). So I guess first question: if both licenses (apache 1.1 and EPL v2) are in the artifacts/docs, are we all fine.

If we are not, what are the best routes to a better place. As explored by @iskaleade in the first issue comment I linked, the code copied in was relicensed to Apache 2 a week later than the original import, with very little work in between. It would be possible to rebase what we have on the Apache 2 version (not todays apache 2 version as it has evolved in very different ways, but upon the Apache 2 version from 15-Dec-2004). Now we have hundreds of commits on the original Apache 1.1 version over 20+ years. Many many many are by me, but some are not. I don't want to have to track down the other folks and ask their permission. So a second question would be: if rebasing those commits, from an Apache 1.1>2 version of the underlying code, is the license upgrade simple enough that we don't have to track everyone down.

Or failing that, what would be other recommendations we can follow to improve things?

Thank you!