I 100% agree that this is the right outcome. Any other outcome would be a nightmare for software developers and would inhibit the development of products.
But the dissent raises an interesting point. I think it shows how the crafting of legislation by people who are wholly ignorant of technology can create problems. While programmers recognize the difference between an API and it's implementation, Thomas makes the interesting point that the relevant legislation does not (page 4 of the dissent):
> Copyright law generally protects works of authorship. Patent law generally protects inventions or discoveries. A library of code straddles these two categories.
It is highly functional like an invention; yet as a writing, it
is also a work of authorship. Faced with something that
could fit in either space, Congress chose copyright, and it
included declaring code in that protection.
> The Copyright Act expressly protects computer code. It
recognizes that a “computer program” is protected by copyright. See 17 U. S. C. §§109(b), 117, 506(a). And it defines
“‘computer program’” as “a set of statements or instructions
to be used directly or indirectly in a computer in order to
bring about a certain result.” §101. That definition clearly
covers declaring code—sets of statements that indirectly
perform computer functions by triggering prewritten implementing code.
While it clearly is in the Court's prerogative to interpret law, there seems to be a pretty good case that the court didn't provide an interpretation for a gap in the law, it instead fixed a law that didn't make sense.
Yes, a good point, it does. Breyer's opinion does say the court is arguing that the API is copy-righted, but used under fair use (as opposed to not copy-righted, in which case fair use doesn't make sense). But my point about what seems to be the main distinction making it copy-right-but-fair-use is the declaration vs. implementation concern, a distinction that logically exists (so I think the outcome is correct!), but does not seem to legally exist.
But the dissent raises an interesting point. I think it shows how the crafting of legislation by people who are wholly ignorant of technology can create problems. While programmers recognize the difference between an API and it's implementation, Thomas makes the interesting point that the relevant legislation does not (page 4 of the dissent):
> Copyright law generally protects works of authorship. Patent law generally protects inventions or discoveries. A library of code straddles these two categories. It is highly functional like an invention; yet as a writing, it is also a work of authorship. Faced with something that could fit in either space, Congress chose copyright, and it included declaring code in that protection.
> The Copyright Act expressly protects computer code. It recognizes that a “computer program” is protected by copyright. See 17 U. S. C. §§109(b), 117, 506(a). And it defines “‘computer program’” as “a set of statements or instructions to be used directly or indirectly in a computer in order to bring about a certain result.” §101. That definition clearly covers declaring code—sets of statements that indirectly perform computer functions by triggering prewritten implementing code.
While it clearly is in the Court's prerogative to interpret law, there seems to be a pretty good case that the court didn't provide an interpretation for a gap in the law, it instead fixed a law that didn't make sense.