I am by no means an expert on things to do with licensing but Clojure is under Eclipse so IIRC if you distribute your code onto the user's machine they have a right to the source.
This can make on-prem solutions for a product slightly hairy.
Please feel free to correct me if this is inaccurate
> This can make on-prem solutions for a product slightly hairy.
EPL has the restriction that if you distribute binaries, you have to make the source available (you must state in your license where to obtain it). It seems that listing your dependencies libraries and linking to their websites (which I think is good practice anyway even with less restrictive licenses) would be enough, as long as you didn’t modify them.
EPL allows linked modules to be distributed under whatever license you want, so in a commercial product doesn’t apply to your closed source code or any libraries that choose not to be distributed under EPL.
So for on prem distribution, you just need to include a license file that lists all of your EPL (or other licenses that require the license to be included like MIT) with a link to where to get the code. Your own code is unaffected.
This isn’t GPL compatible, though, because GPL does “infect” linked modules too.
> This isn’t GPL compatible, though, because GPL does “infect” linked modules too.
I don't think that's the reason. The BSD license is GPL compatible, without infecting anything.
EPL being GPL incompatible means that EPL-licensed pieces cannot be combined with GPL ones for whatever reason. The FSF claims that it is because of its "weak copyleft and choice of law clause".
The problem with the EPL is that if your software is a derivative work of EPL licensed software, the EPL applies your software, including the obligation to provide access to the source of your software to the entities to which it is distributed. Determining if a work is a derivative work in software is far from straightforward. The EPL FAQ for instance points out that this might be an issue when using software that generates code.
No, I agree. I was pointing out a general challenge with the EPL that people tend to overlook. In the Clojure environment many use EPL for Clojure libraries, many without realising that it might, depending on your intentions, be an issue.
This can make on-prem solutions for a product slightly hairy.
Please feel free to correct me if this is inaccurate