2

My context: I live in the Netherlands and I have written Apache 2 licensed software that is used globally.

I have created a UDF (User Defined Function) for a piece of closed source software (https://github.com/nielsbasjes/yauaa/blob/master/udfs/platfora/src/main/java/nl/basjes/parse/useragent/platfora/AbstractAnalyzeUserAgent.java).

The (Java) interface needed to build this software is provided by this company to all of their customers as part of the tool installation.

The interface is trivial and does not contain any code, it is just a single, very simple interface. The online documentation (https://documentation.platfora.com/webdocs/#reference/expression_language/udf/write_udf_java_program.html) gives enough information to recreate this interface from scratch.

They have indicated that they do not want to publish this interface to maven central (in this case simply because the product is end of life).

I would like that anyone can build my software from source without having to download and install extra stuff (i.e. this interface).

To what extend am I legally allowed to recreate this interface from their documentation and make it part of my source tree?

2

To what extend am I legally allowed to recreate this interface from their documentation and make it part of my source tree?

Unfortunately IMHO there is rarely such thing as a no-code, trivial interface in general. At least in the US, the recent Oracle vs. Google debacle on the Android APIs resulted in a confirmation that APIs are copyrightable. In all cases their documentation is copyrighted, and creating an API based on this could be considered some derivative work of sorts subject to their copyright.

My recommendation would therefore be to:

  1. write your interface
  2. contact platfora to get an explicit approval to whatever you are doing and document this approval clearly in your code

If they do not agree to license the interface to you under terms compatible with your own license (e.g. Apache or some permissive license, possibly from this Apache category A list since your seem to be connected with the ASF) then I would not do it and not include this interface at all.

| improve this answer | |
  • In this specific case the interface is really really simple and is only needed to allow compilation of the UDF. In addition the API is intended to allow third party code to be inserted in their system and it is not (as with Android/Java) intended to replace their system. Given this explicit intended "third party implementations" and by not including any documentation would it still not be allowed? (I'm no lawyer, just trying to understand) – Niels Basjes Jun 29 '17 at 8:57
  • 2
    > Given this explicit intended "third party implementations" and by not including any documentation would it still not be allowed? IMHO and I am a conservative bastard, anything that's not explicitly allowed is ... not allowed so it is best to ask first. – Philippe Ombredanne Jun 29 '17 at 11:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.