Anthony Towns <aj@azure.humbug.org.au> writes: > (It counts as copying if you get one person > to read it, and someone else writes it down, you don't have to be using > cp or anything. And personally, I can't see any way you could `reinvent' > a header file that wouldn't amount to doing exactly that :-/)
Then it's probably just you who are being unimaginative. Remember, simple facts are not copyrightable. Only particular expressions of facts are. By extension, if there is only way to express some fact, that expression cannot be subjected to copyright. That is, if I do a survey to count the number of ants in Africa I have a copyright on the article where I describe my work. But I cannot prevent others from communicating my result, claiming that I have copyright on the particular sequence of decimal digits that make up my sum. Moving back to the topic of headers, what one needs to do is create an expression of the fact that the .so defines function called such-and-such, which expect their input to be structured like that-and-that and produces output structured like that-and-that. There are several ways of expressing those facts in a way understood by a C compiler, and it is entirely possible to come up with a way whose *only* connection with the other header file is that they define functions with the same names. We're not even talking about header file reimplementations that necessarily have to be compatible with the "originals" in what the C source sees. The names of data types and struct declarations could be different. And inline functions and macro definitions in the "original" header file need not even be recreated by the new header file before an executable linking with the library can be produced. -- Henning Makholm "*Her* sidder jaj & har *ild* bå cigarren *imens* Pelle Jönsson i Nordnorge har mavepine."