5

It seems I heard that header files are not considered copyrightable since they can only be written one way (like a list of ingredients or facts). So a header file for a specific DLL will always look the same when written in a given programming language. Unfortunately I can't find any resources to back this up.

So if a vendor provides an SDK with headers in one programming language, and then those headers are translated into another programming language by a third party. Does the 3rd party need permission from the vendor to provide the header translation? Who owns the copyright on the translation? Isn't it a derivative work still owned by the vendor, or is there no copyright, like a list of ingredients?

Does this vary from jurisdiction to jurisdiction?

  • Most jurisdictions simply don't have specific laws or precedent. Given that the court cases so far have ruled against copyright, it would be very hard to argue willful infringement anywhere. That said, the safe bet is automated translation (even if that's search&replace). By definition that is not a creative process. – MSalters Nov 5 '13 at 12:18
  • @MSalters: An automated translation may prevent the translator from acquiring copyright (since the translator is failing to perform a creative process). However, it does not remove an existing copyright from the work. Using a computer to translate a copyright fiction book is similarly ineffective. – Brian Nov 5 '13 at 14:25
  • @Brian: But the point is that you don't distribute the translation, you distribute the translator. Anyone can produce the translation given the translator and the SDK. – MSalters Nov 6 '13 at 1:06
8

According to Free Software Foundation's lawyers copyright does not apply to header files:

I'm not sure what your project is designed to do, so I don't have an opinion about how it stands regarding the GPL. However, I've talked with our lawyer about one specific issue that you raised: that of using simple material from header files.

Someone recently made the claim that including a header file always makes a derivative work.

That's not the FSF's view. Our view is that just using structure definitions, typedefs, enumeration constants, macros with simple bodies, etc., is NOT enough to make a derivative work. It would take a substantial amount of code (coming from inline functions or macros with substantial bodies) to do that. (source: email by RMS on LKML)

There is legal precedence supporting that. Oracle's lawyers attempted to claim that APIs (and header files defining the APIs) are copyrightable, yet the court has disagreed with them (emphasis mine).

However, on the primary copyright issue of the APIs, the court ruled that "So long as the specific code used to implement a method is different, anyone is free under the Copyright Act to write his or her own code to carry out exactly the same function or specification of any methods used in the Java API. It does not matter that the declaration or method header lines are identical." The ruling found that the structure Oracle was claiming was not copyrightable under section 102(b) of the Copyright Act because it was a "system or method of operation." (source: Oracle vs Google)

  • 1
    When you use acronyms, please don't assume everybody knows what they mean, even if a Google search brings up the Free Software Foundation for FSF as the top results, making people search for it is ... well ... tedious especially as you already have it at your fingertips, the tip of your tongue, or ... :-)) – Marjan Venema Nov 4 '13 at 19:05
  • @MarjanVenema: ok, changed. – vartec Nov 4 '13 at 20:35
  • 1
    Thank you! I love it when my plea to end acronyms gets honored :) – Marjan Venema Nov 4 '13 at 20:38
  • 2
    Currently, this verdict was overturned. – Sold Out Activist Mar 27 '15 at 14:03
5

I am not a lawyer. I do not play one on TV. Questions of legality should be answered by someone who is capable of giving expert answers (a lawyer) rather than just some programmer who has a passing familiarity with intellectual property.

The key part of a copyright is that it requires some creative considerations. This is a very low threshold, but some amount of creative action is necessary (another resource - software freedom - originality requirements. Things that cannot be copyrighted include recipes and phone books. Fundamental facts can't be copyrighted (from EE.SE - Avoiding copyright violations when writing header files)

There have been multiple lawsuits over minimal bits of code (SCO and errno.h, Google and Oracle over some Java code, Google and android header files (there are some bits in there linking to some legal opinions on it that are a good read)). However, I haven't seen anything that has set precedent on if header files can be copyrighted or not, or the degree to which their material is original.

If it isn't clear that all of this is in legal murky water, let me state that again. This isn't a settled area of law. Ask a lawyer.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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