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: 2) by meustrus on Wednesday November 20 2019, @12:15AM

    by meustrus (4961) on Wednesday November 20 2019, @12:15AM (#922162)

    That's a pretty good comparison. Even more so because while you did not mention this, Harry Potter has a huge fan-fiction community. J.K. Rowling is technically within her rights to shut it all down, but she does not. The fan fiction does not reduce the value of her work. In fact, it most likely enhances the value of the core property.

    Similarly, Sun allowed - even encouraged! - third party developers to contribute Java "fan fiction", as it were. Unlike Harry Potter, however, the contributions are likely the majority of the value of the whole product. And maybe it didn't have to be this way; C#.NET is significant even though most of its libraries are produced by Microsoft (and we can be glad that Java copyright can't be used against C# and the idea of garbage-collected object-oriented programming on a VM/CLR).

    Meanwhile, one could publish a book that follows the plot of Harry Potter and the Philosopher's Stone (no, I'm not British, just salty that they changed this historically-significant name for the US release) as long as it changed all the names and invented words and was not a sentence-by-sentence copy pasta. Would it be plagiarism? On this scale, absolutely. But it arguably would not constitute copyright infringement.

    So what is the equivalent in programming? If you change all the names and legitimately re-implement everything without any copy pasta, does the copyright of the original work not apply? What are the "names"? The literal class names, or the method signatures?

    This provides an interesting way of framing the API copyright question. It leads to the question of whether something like `void main(int argc, void *argv)` deserves the same kind of protection as Mickey Mouse.

    Unfortunately, it's hard for me to answer that question because I believe Mickey Mouse's copyright protections stifle creativity. My answer is that neither deserves that level of protection.

    The answer is probably closest to the other reply from the other AC, who may be the OP:

    The copyright process is more appropriate for software, but the terms are insane. The Patent process is totally wrong for software, but the terms are somewhat sane. There needs to be a middle ground.

    --
    If there isn't at least one reference or primary source, it's not +1 Informative. Maybe the underused +1 Interesting?
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2