Hacker News new | ask | show | jobs
by caf 4037 days ago
Is the logical extension of this that anyone who's written a standard C library was in violation of Kernighan & Ritchie's copyright?
3 comments

"anyone who's written a standard C library was in violation of Kernighan & Ritchie's copyright"

K&R and Ken Thompson et al. were working for Bell Labs and assigned copyright to AT&T. AT&T cooperated with early open source programmers at Cal to produce UNIX software. The negotiations between Cal and AT&T produced a license from AT&T for UNIX and C as embodied in Berkeley UNIX. Berkeley BSD grants a license to anyone in the world to reproduce standard libraries and the rest of the UNIX system.

Thus anyone who writes a standard UNIX library has a solid license chain back to KR&T for the APIs regardless of the result of this lawsuit.

Now, the BIOS in your PC -- and the billion PC clones produced in the past 35 years -- becomes a criminal offense if the CAFC result is upheld. Quite a lot of other APIs that have been standardized under the laws as we understood them for the 50 years before CAFC reversed them soon become illegal forever.

But UNIX and its various flavors is fine.

Python, Perl, Ruby, C++, and C programmers should be fine as will be their standard libraries.

And we'll all adapt by not using proprietary APIs from now on. You'll have to be careful about code licenses and API licenses instead of just code licenses. It's a headache and a large one-time cost to the industry in libraries we'll lose forever but in the long run it'll be fine for programmers.

The real danger from the CAFC is the way they've been expanding patents. You can't escape from patents just by getting licenses or not copying others' work.

Still, the BSD license requires reproduction of the license text and copyright headers (and for a while, advertising on the package). I don't see those in many C libraries.
That's not quite as interesting a comparison as you might think [ed: or maybe it is, now that I've thought it through... ;-) ]. Eg, from the Introduction to the second edition of "The C Programming Language": "Appendix A contains a language reference manual. The official statement of the syntax and semantics of C is the ANSI Standard itself.".

Note that there's an ANSI standard for C -- and while I don't know what kind of license it is connected with off the top of my head -- it's very idea is to serve as a reference for implementers.

Note also, that if I remember correctly, the whole thing (Google vs Oracle) was tied to what Microsoft did with their "Java that wasn't quite java" -- and that what Google did was something similar: they took the API, but didn't make "a java" -- they made Dalvik/Dex etc -- which only sort-a-kinda was java.

As for "The C Programming Language", I can't find anything about license in my copy, and the copyright page doesn't exactly encourage re-use of the code-examples:

"Copyright 1988, 1978 by Bell Telephone Laboratories, Incorporated.

All rights reserved. No part of this publication may be reproduced ... yada yada yada"

So using some startling code such as "hello, world" -- as foundation for writing out something -- would probably not be legal. Even if the text does allude to the fact that a programmer is expected to draw upon the examples for inspiration.

I'm not sure that alone is enough to grant fair use.

It certainly seems that the examples in the book is similar to that in the java documentation -- and that neither gives an explicit license for use. Perhaps now AT&T owns everything, including Oracle?

You wrote: would probably not be legal.

And there's the problem. "IP" laws and customs will be vague enough that the rest of us will have to totally steer clear of any "IP" problems. It costs far too much to get the "probably" erased or the "not legal" reversed.

Litigation is for gamblers or aristocrats. Strict "IP" will only lead to less innovation, higher prices, and the creation of a semi-aristocracy, the "rightsholders".

Oh, to be clear, I think this verdict is pretty bad (as if things weren't muddy enough already). I began writing the comment/looking through K&R and realized that in this particular case -- one might not have a clear-cut legal right to use the example code. Even if that is clearly the intent of the authors.

Although, I'd be surprised if there haven't been rulings on similar cases before. Either way - the code from a text book, and code from technical documentation are probably not the same under the law.

That doesn't mean I don't think it's silly to hold APIs to be copyright-able -- I just think the two questions are different: 1) Is sample code provided for the purpose of re-use, fair-use (or something equivalent)? and 2) Are APIs copyrightable?

When I wrote the original comment, I was actually thinking about the description of the API of the standard library that is in Appendix B of the Second Edition, containing such copyrightable creative expressions as

  long strtol(const char *s, char **endp, int base)
And can "Hello World" work around it by returning (void *)0 from main()?