Why Java APIs and Industry-Standard CLIs are Different

Kenneth Duda

In the past few years, the tech industry has watched with increasing concern as various entrenched participants have brandished copyright law as a weapon to stifle competition and innovation. Recently, we have been treated to yet another novel claim: that after over a decade of broad adoption, the industry-standard set of commands that a user types into a command line interface (or CLI) to configure a network device is subject to copyright.

This startling claim raises many questions, but today I want to address one in particular:
What effect, if any, does the recent decision in Oracle v. Google have on this new dispute over CLI commands? Those who have watched the long-running battle between Google and Oracle know that an appeals court recently held that APIs may be copyrightable. Some have suggested that this decision should also resolve the question of whether CLI commands are subject to copyright. Wait, what? What do Java APIs have to do with communication device configuration commands?

Nothing, actually.

Let’s compare some salient features of command languages and the Java APIs:

Aspect Industry-standard command language Java APIs
nature of “copyrighted” material short English words or phrases typed by the user Java source code declaring the API
who uses the “copyrighted” material end user software developer
purpose of using “copyrighted” material operating the final product software development
method of using “copyrighted” material entering commands into a device creating code in an editor (typically on a different device than ultimately runs the library) using the API

Folks, the industry-standard CLI is the way the end user operates their networking devices. It is there to allow a network engineer to configure options on the device—much the same as the buttons on a microwave or a television remote control. If copyright limits the types of user input a device can accept, that has troubling implications in the networking industry and beyond.

The industry-standard CLI has allowed many different products across the industry to use a similar command language to the great benefit of customers and vendors alike. Like many open standards, the industry-standard CLI has encouraged multi-vendor interoperability.

I hope you’ll join me in condemning any effort to use the copyright laws to upset this established order and force customers to learn a new command language for each networking device they buy.

To all software developers: if you would like to join a company that embraces open standards, we’d love to talk to you. We have positions open in Santa Clara, Vancouver, Nashua, Bangalore, and Dublin. Please send a resume to jobs@arista.com.