3

I know that GPL requires linking application to be licensed under GPL. Some database lisense covers data usage. I'm sure there's something for API too. But from the comments here on OSSE I also know that there seems to be no consensus.

Is there a general rule for these aspects? Should I check each license each time or can I assume something from the opensource fact? Is there something like TLDRLegal.com which covers specifically these points? Are they considered distinct? Is there a general rule which specifies what is what? Are they even a part of an application or rather a product of it?

Some bonus questions to further describe my confusion:

  • is web API considered linking over net?
  • or is it only data usage?
  • do I use API if I'm only sending a request but do not check for response?

PS: I know that I should read licenses but this question is more about general coverage.

1

There really is no specific answer, there has not been enough (any?) case law to solidify these details. That is why you can't find consensus on the details. However, the general outline of what is intended for each license can be made. But, standard IANAL/TINLA disclaimer: I am not a Lawyer, and this is not Legal Advice. To get a legitimate legal opinion, you need a lawyer.

There is a common thread to all your questions, and that is they are about a new work that somehow utilizes something else with some FOSS license. But, all the licenses vary in the approach they use for defining how the license applies to derived works. That's both in how they define a work as being "derived" and what rules apply to it in that case. So, if you are using anything with a FOSS heritage, you really need to know which licenses apply to which parts, and understand how those licenses impact your intended use. If you have questions about specific licenses, you may get some help here, but there really is no way to make a global evaluation that covers all of them.

  • 1
    One thing about using an API over the network: that in itself doesn't impose any license conditions on your code. You may be required to accept a contract to get authorization to access the server providing the service you access via the API, but just the network traffic alone doesn't impose conditions on you. What would impose conditions is using an SDK or library implementation of the client end of the API. That'd involve code being part of your application, and you'd need a license to distribute that code which probably involves abiding by conditions. – Todd Knarr Aug 10 '16 at 6:31
  • There's also the case where you're required to accept a contract before the vendor'll give you access to the API specification, usually combined with a confidentiality agreement. In that case you'll need to abide by the conditions in those contracts if you want to use the spec to write your code. If you have all the details needed without having to accept a contract to get them, then there won't be any conditions. Of course vendors can always threaten even if they have no legal basis, and the expense of fighting them and winning may make it infeasible to argue the point. – Todd Knarr Aug 10 '16 at 6:34
1

I am not a Lawyer, and this is not Legal Advice. My opinion:

No, using API is not derived work. The easy test to see if something is derived work is to ask yourself a question Could I have produced this exact binary of mine if I have never had any access to any part of the code (including headers) of potentially infringing sub-code, but just to documentation? If the answer is yes, you are most probably in the clear. If no, get a lawyer, this is almost certainly derivative work.

Note that API itself might be available under NDA, there might be usage restrictions that apply to you when you signed up etc - that is unrelated contract law at work. Beware what you agree to.

And yes, you should check every license before you use that code.

Data outputted by some API might be (or might not) derived work. That will be spelled in Terms of Service or related documents you must agree to (and where you usually waive most of your exclusive copyright rights and grant them to Service). For example, if some service takes your uploaded picture, and adds another artistic graphic elements to it, that resulting image now has now both of you as authors (or often, just THEM, as you've given up your rights as part of the process, so they can license to you what you can do with the result image).

  • "where you usually waive all your rights" / "as you've given up your rights as part of the process": you seem to imply that this is a generality but of course it depends on the Terms of Service. And some Terms of Service might even be void in certain jurisdictions if they ask for too much such as your copyright. I would still be curious to see any example where they ask that much. – Zimm i48 Aug 20 '16 at 13:06
  • 1
    Well don't you? You do not transfer copyright itself, but you do give up on most of your exclusive rights as copyright owner, for example: you grant us a non-exclusive, transferable, sub-licensable, royalty-free, worldwide license to use any IP content that you post on or in connection with Facebook... or you grant: to YouTube, a worldwide, non-exclusive, royalty-free, transferable licence (with right to sub-licence) to use, reproduce, distribute, prepare derivative works of, display, and perform that Content in connection with the provision of the Service and otherwise... – Matija Nalis Aug 20 '16 at 13:17
  • @Zimm I've tried to clarify; feel free to suggest better wording though – Matija Nalis Aug 20 '16 at 13:20

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.