Stories
Slash Boxes
Comments

SoylentNews is people

posted by Fnord666 on Tuesday November 19 2019, @03:08AM   Printer-friendly
from the asbestos-underpants dept.

Having written an IDE, an API, and having gone through the copyright process for software before, I have at least a little understanding the current debate between Google and Oracle. While the general consensus seems to be that Google is right, I disagree. Here are my reasons.

1. There is very poor support for software copyrights at the U.S. Copyright Office. This is true to such an extent that it is practically trade interference. Like or not, the copyright office is almost universally unwilling to review file formats that are aren't developed by Microsoft.

The costs associated with patents are extraordinarily high, and the procedures for using the patent system is so obfuscated that it is meaningless for software. It might be practical to create a filing system for APIs that are separate class of design patent. But the real issue here, is nobody in the USPTO or the the Copyright Office wants to serve the software industry.

API copyrights provides an abbreviated basis for for dealing with the copyright office, and provides an easier mechanism for courts to understand. It is trivial to rename elements of source code in a piece of work and make it appear to not be the same work, though fundamentally it is. Contrary to this APIs must be the same to be useful. This means that distinguishing infringement is easier for them, which makes it easier for me to establish a protectable space for my work.

2. Protocols are underdeveloped. One of the huge arguments made by Google supporters is that API copyright will break protocols. Yes they will. This is a good thing. We should be doing more in protocol development and less in presentation development. It is a simple fact that civil rights in domestic communications is a technically achievable thing that has very little support from the commercial sector. Backwards compatibility has created market pressures that have preserved insecure systems architectures, and that has had a very negative effect on civil rights.

API copyrights will break backwards compatibility. But more importantly, they will preserve the market space of forward compatibility. Which is to say that API copyrights will have a positive effect on mitigating Embrace Extend Extinguish (EEE) business strategies. This is very good for FOSS in particular, and it will be good for the Internet, because it will force a more diverse protocol stack into existence. Sorry IETF, but we are way past the point where there is any excuse for the current state of the TCP/IP Internet.

3. If you are writing clean code, you are writing an API. If you are using Object Orientation correctly, everything you do during the development cycle contributes to the creation of an API. The only exception is the main() loop, which aggregates all of these API calls. Which means (drum roll) if you write clean code in a modern programming language, you are writing protectable code.

The semantic differences that people make over API vs. code are ridiculous. The Copyright Office currently accepts "compendiums" as copyrightable works. An API is a compendium of function calls, sans the underlying functions. But BOTH are copyrightable. There is nothing in an API copyright that prevents you from copyrighting the underlying source code as well. C has always done something similar by separating header and source files. So does your header file deserve less copyright than your source code? Hardly.

All the API copyright does is create a legal namespace that is unique to your project. It is more akin to a trademark than it is copyright or patent. But in any case, there is a need for lawfully protectable namespace in software.

4. It will fragment the software industry. Software engineers are notoriously cantankerous characters. If small software projects and library writing become more protected by copyright, then independent software development will be more profitable.

5. The whole case might be a put-on. Maybe Google is just shouting: "Don't throw me in that briar patch!", to each judge as they pass by. Both of these companies have huge back catalogs of software, all of which would be massively more litigable if Oracle wins. I believe this to be true and regard the variability of the outcome as slight. If they are playing Potemkin village to the highest court in the land, well that is their prerogative. They paid the lawyers to put on the show after all.

YMMV
Anonymous


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 3, Insightful) by Zinho on Tuesday November 19 2019, @05:46PM

    by Zinho (759) on Tuesday November 19 2019, @05:46PM (#922013)

    printf is a single function. An API an a compendium of functions. You cannot copyright the world "printf" (though you can trademark it).

    Correct, and neither can you copyright an alphabetical list of all externally-available function calls in your code. At its essence, that's all an API is: a list of available function calls, what arguments they take, and what output they provide. This is factual information, and a specific presentation of it is copyrightable; the information itself is not.

    But you can copyright for example, the documentation that defines all the built in functions of a language. And if you wrote the language yourself, you can copyright the language as two things, the actual source of the language, and a seperate copyright including just the examples that you show users how your language works.

    Right. The source code is copyrightable. So is an O'Reilly-style manual, so are online help pages that give examples.

    The list of function calls is not. The list of arguments for those functions is not. The list of data types returned as output is not.

    Which is to say that all languages are API's. I don't know about you, but the only time I really work at a bit/byte level is with protocols.

    Also true, in the same way that courts have recently ruled that "Klingon" as a language cannot be copyrighted. The "Official Paramount Dictionary and Grammar of the Klingon Language", however, can. A list of all words recognized as Klingon, stored in flat text, sorted in alphabetical order, cannot. And Paramount cannot use their copyright claim on their dictionary to prevent anyone from publishing wholly-original literary works in Klingon.

    Comparisons of what an API is to already-settled copyright law make it obvious what the answers should be. Re-implementing the fundamental elements of a programming language is not an infringement of the original author's copyright. Having the exact same function calls and arguments is unavoidable if the new implementation is 100% compatible, and the right to inter-operate is enshrined in U.S. law.

    If we want a different discussion; say, of how the law "should be" versus "is", and why, by all means, let's do that. The people wanting to copyright APIs will still be wrong, just for different reasons.

    --
    "Space Exploration is not endless circles in low earth orbit." -Buzz Aldrin
    Starting Score:    1  point
    Moderation   +1  
       Insightful=1, Total=1
    Extra 'Insightful' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   3