avro-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Doug Cutting <cutt...@apache.org>
Subject Re: Paranamer issue
Date Wed, 06 Jun 2012 17:49:23 GMT
On 06/06/2012 10:33 AM, Peter Cameron wrote:
> The BSD license is a problem for our clients, whereas the Apache 2
> license is not. Go figure. That's the situation!

Your clients do not make sense to me.

> So what is the answer for us when we don't want to ship the avro tools
> JAR but need the Paranamer classes from it. What can we do to stay
> consistent with Apache 2 e.g. create my own Paranamer JAR containing
> just those classes from the tools JAR?

The Paranamer classes are under a BSD license.  Repackaging things won't 
change that.  Paranamer is required when using reflection-based Avro 
RPC.  Options I see:

- Switch from specifying your protocol with a Java interface to 
generating code from an Avro IDL or JSON protocol using Avro's specific 
compiler.  The generated code would not require paranamer.

- Implement a subclass of ReflectData that overrides getProtocol(Class) 
to get the Avro protocol in some other way, perhaps from an annotation 
on the interface class.  This would be fragile, as each time the Java 
interface is modified the protocol in the annotation would also need to 
be modified.

- Upgrade to Java 8, where paranamer will no longer be required.

- Convince your client that the BSD license is not to be feared.

Doug

Mime
View raw message