3 ms·
We don't know. There are several substantiative questions of law and both parties' inability to give the court a clear picture of what an API is may result in t
by kmeisthax 6y ago
We don't know. There are several substantiative questions of law and both parties' inability to give the court a clear picture of what an API is may result in the case not actually being decided.
There's two questions up in the air with the case:
1. Whether or not you can claim copyright over the name of a function plus the combination of it's input types (an "API").
2. Whether or not copying APIs can constitute fair use in the context of building a new platform using an existing language.
The first one is likely the case generally; you can claim ownership over "structure, sequence, and organization" just as well as Flame can claim ownership over a descending minor ostanato with a specific timbre. Imagine if Microsoft decided to do an end run around the GPL by copying all of Linux's header files and just writing new implementations. (Wait, isn't that how we got BSD?) This is sort of like the computer science equivalent of tracing over someone else's art, and we probably should have some protection to prevent that.
However, Java's APIs aren't just internal implementation details. They were made public to other developers specifically so that they would write programs that used them. Google argues that this makes them "methods of operation", which can't be copyrighted. If Microsoft makes Microsoft Excel accept macros from LibreOffice Calc by copying their menu bar shortcuts, that isn't protected and Microsoft is free to do that. (This has been adjudicated in court back in the 80s and is relevant precedent for the SCOTUS case.)
The fair use question is a fallback argument if the court rules that copyright ownership applies to API declarations. This requires application of a four-factors test. Notably, Google argued that Android needed to be compatible with Java APIs, and that such activities should be fair use. Oracle counters that Android's implementation of those APIs were out of date and incompatible, so that fair use shouldn't apply.
This also means that the Google/Oracle case might be ruled so narrowly that it doesn't affect WINE or ReactOS, or it could allow one and prohibit the other. After all, WINE is very narrowly focused on making Windows programs run on Linux, while ReactOS is trying to replace Windows entirely. One of the four fair use factors is the "market usurpation factor": what happens to the market for licenses if we allow people to do this under fair use and not pay for a license. If Win32 declarations can be considered copyrighted, then we could run into a situation where WINE using them to run Windows apps on Linux is NOT usurpation, but ReactOS using them to rewrite Windows IS.
Not to mention GNU was made in the same way as ReactOS, but against UNIX rather than Windows. I have no idea if the people who own the corpse of the people who bought out Novell would be able to assert a copyright claim, though, as most UNIX APIs were standardized under POSIX. Android also largely doesn't use those APIs (just the Linux kernel itself) and they'd be ironically safe from an SCO-style attack in this scenario.
Full disclosure: I am one of the developers of Ruffle (Free Software WASM/Rust Flash Player reimplementation) and I'm extremely paranoid of the project getting shut down by Adobe or HARMAN (the latter bought Adobe AIR). Ergo, I very much have material interest in the outcome of this case.
- sergeykish 6y ago> They were made public to other developers specifically so that they would write programs that used them. Same could be applied to any public interface. Header files, system calls, standard library, hardware version, language version, network interface. Linux and WINE replaces Windows entirely. Looks like a lot of fans wait exactly that, not ReactOS.
- kmeisthax 6y agoRight, but nobody is asserting an implied license claim (as far as I'm aware). The complaint is whether or not any API declaration bears copyright, and if so, whether or not you can make a fair use of such a declaration. They aren't arguing whether or not publishing said declarations implies copyright permission to use them. Granted, that would probably give the Supreme Court an easy out on this decision without having to throw out a lot of caselaw that seems to hint towards API copyright or suddenly reassign ownership of half the world's operating systems code to a handful of defunct holding companies.
- sergeykish 6y agoAPI is mechanism, honestly I do not understand all that fuss. Another API implementation is compatibility layer for authors who heavily invested in the platform. They are the reason platform is successful. Car dealerships investment is protected.
- projektfu 6y agoIntel asserted this right against Zilog (names, etc.) with Zilog settling by changing the names of all Z80 instructions and registers. Binary compatible but source requires translation.
- kmeisthax 6y agoHuh. The 8086 did the exact opposite: your ASM source was A-OK but they changed all the opcodes around so you had to reassemble your program. It's why CP/M was completely incompatible with the 8086 and (arguably) why Microsoft was able to edge out Digital Research on IBM PCs.