I want to publish a small open source project on GitHub. I'd like to release it with either MIT or Apache license.
The project has unit tests that use JUnit library. JUnit is released with the Eclipse Public License v1.0. JUnit is not distributed in the project - it is downloaded and used at build time by Maven, the build tool.
Am I bound by the license of a library that is used in the project but is not distributed with it? If I am, can I use a library released with the Eclipse Public License in MIT or Apache licensed projects?
My own thoughts (the most pessimistic scenario)
As the unit tests use JUnit, the project is a derivative work of JUnit, even though JUnit is not distributed with it. Distributing the project automatically means distributing JUnit.
The Eclipse Public License (the JUnit's license) says:
A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that … its license agreement:
There is a list of four requirements here that sound trivial but which, perhaps, are not fully addressed in the MIT and Apache licenses (disclaiming all warranties, excluding any liability, a statement about additional provisions, a statement about availability of the source code).
So, the Eclipse Public License may not be compatible with the MIT and Apache licenses, and I may not be able to use JUnit.