I'm building a Java annotation processor and looking for the correct license to use with respect to some requirements (see below).
Basically, a user of this tool:
- depends on it during compilation (it is a Maven artefact with
provided
scope, the common/only way of specifying a dependency as only compile and not runtime), - refers to a Java annotation in their own code (marked as source-only retention, i.e., it is discarded by the compiler) on their own Java interfaces,
- gets a generated Java source file that contains some structural specificity from the tool but is simply a derivative of the annotated interface and only refers to their own code (or its dependencies).
The project is the following: https://github.com/victornoel/eo-envelopes (notice that I answered the question in the README, but I am not actually confident about it).
My question:
- I would like to distribute it under a license like the GPLv3.0 (dependencies are MIT or Apache 2.0),
- while letting anybody use it even in proprietary software.
But I'm not 100% sure it is a valid use of the GPL here, I've identified 3 potentially problematic points:
- the compile time dependency
- the generated code
- the reference to the annotation in user code
- anything else?