Search code examples
spring-bootaspectjlicensing

spring-boot-starter-aop only available for open source projects


I've just encountered an issue regarding licensing with spring-boot-starter-aop.
spring-boot-starter-aop comes with a non-optional compile transitive dependency to aspectjweaver.

aspectjweaver though is licensed under EPL 1.0 which as far as I understand requires any project using it to have its source code made public. Since we're developing a commercial product we cannot make the code public.

Does that mean that Spring AOP can only be used for open source projects? Or is this a problem only if I add the dependency through Spring Boot Starter. Is there any other way to use Spring AOP without aspectjweaver?

Moreover, other Spring Boot Starters have a dependency on spring-boot-starter-aop like spring-boot-starter-data-jpa (for some reason). But in this case I was able to exclude just the aspectjweaver dependency so there would be no licensing infringements and apparently the project still works as intended.


Solution

  • EPL does not prevent you from building closed proprietary software using EPL licensed libraries.

    You don't need to worry - there are thousands of closed source projects built on the top of Spring AOP.