Why shouldn't it? If I spent 10 months coming up with non trivial interface and 10 years marketing and popularizing it, you cant come in one day and steal the thunder
If we want the tech world to consistently advance, companies need to succeed by providing products and services people want, rather than collecting rent indefinitely off of a good idea they once had. Their thunder should get stolen if they can't do a better job than their competitors.
If it's an idea that does something functional, then it belongs in the domain of patent law: you register it, prove its unique, and then it's yours for 10 years.
What it definitely shouldn't be is copyrighted, the class of IP that's made for stuff like novels and paintings, where the protection is automatic and lasts until 90 years after your death.
It helps nobody to have to wait until 2150 to write an interface for Java.
"If it's an idea that does something functional, then it belongs in the domain of patent law: you register it, prove its unique, and then it's yours for 10 years."
APIs are nearly identical to code in terms of what they are, it's very reasonable to apply the same copyright rules.
> APIs are nearly identical to code in terms of what they are, it's very reasonable to apply the same copyright rules.
I don't really agree, except to say that, sure, there's a good argument that code is purely functional (in the sense of “providing function”, not the programming paradigm), too. But copyrightability of code isn't the issue in this case.
No they're not. API's don't have comments, they don't have expressiveness, and by their nature there is almost no choice on the part of the designer, they're just a list of names attached to functions (but not the functions themselves). There's only so many synonyms for "print".
Oracle is trying to claim that they own the idea of a toolbox with a tool called a "screwdriver", a tool called a "hammer", and a tool called "wire cutters", and nobody is allowed to make their own toolbox using the same list of names of tools.
" API's don't have comments, they don't have expressiveness, and by their nature there is almost no choice on the part of the designer, they're just a list of names attached to functions"
I don't know how anyone who's written code could even say this.
APIs have comments, they are expressive, there is considerable choice in design and they are a 'list of names' the same as the list of names attached to variables.
APIs are not code. They are functional interfaces that code interacts with. The decision to have a function called `sqrt` and put it in a module called `math` is not creative, and it is definitely not artistic.
> By all accounts thats an “interface” for a screw to be driven in by a screw driver.
As a functional component, to the extent novel and otherwise eligible for patent, patent protection for APIs makes perfect sense; patents also have an extremely short duration compared to essentially-eternal copyrights.
API copyrightability is, aside from being inconsistent (IMO) with both the letter and intent of the law, an absolutely nightmare in practical terms because it has neither the novelty requirements nor the short term associated with patents.
The interface of the Phillips screwdriver had some inherent value (i.e self centering property) so it makes sense to protect it.
With software the interface is a trivial detail that anyone could come up with. One interface is as good as any other. It seems disingenuous if the owner of one interface that suddenly became popular tries to claim copyright after everyone starts using it.