One Last Push To Save The API

A group of computer experts – including me – asked a US court to think again about fair use of APIs this month.

Tomás Saraceno artworks at SF MOMA: Stillness in Motion—Cloud Cities

It was an unlucky fact that Oracle’s case against Google over Android started with patents. Their initial case fell apart almost immediately, with almost all the patent claims invalidated. The implausable backstop copyright case Oracle made against Android’s use of language-essential definitions in the Java APIs (and thus against the freedom of developers everywhere) carried on though. The initial patent case meant that the appeal when Oracle soundly lost ended up at the Court of Appeals for the Federal Circuit (CAFC) — the specialist patent appeals court in the USA — and not at a court competent to dispense copyright justice.

The result has been two reversals by CAFC of lower court outcomes that seemed correct to most of us who understand the issues involved. In the most recent reversal, CAFC even overturned a strong and apparently sound jury verdict — exceptional behaviour. In response to that reversal, a large group of experts collectively representing hundreds of years of experience of inventing, implementing and instantiating software solutions has once again put signatures to a new amicus statement to help the courts understand the technical nuances of the case, especially the fact that an API is not code.

This time the goal is to have CAFC rehear the appeal that (in our opinion) erroneously overturned the jury verdict. In summary, we believe that the most recent decision by CAFC “disregards the technical realities of software APIs and directly conflicts with Ninth Circuit law.”

To unpack that a little: since CAFC is a court with specialist expertise in patent cases, its job in a copyright case is to second-guess the decision that the correct venue — in this instance the Court of Appeals for the 9th Circuit — would make in the case if they were hearing it. The brief explains how CAFC appears to have guessed wrong this time. It also explains how CAFC has not understood the nature of APIs and thus has applied the wrong comparisons to determine if Android’s use of the essential core of Java is fair use. To me, the most telling statement is the footnote on page 5:

Throughout this brief, amici use only the term “declarations” instead of “declaring code,” which was sometimes used in the panel opinion. “Declaring code” is not a term of art, and is not used in the industry, in part because declarations are not code: they cannot be executed by a computer and their only function is to dictate how code communicates with other code.

This was the point I explained to the judge during the hearing and appears to be the crux of the misunderstanding at CAFC – they appear to think think APIs are code. Hopefully this brief will clarify things for them, get them to rehear the appeal en banc and partially mitigate the disaster Oracle is bringing on developers everywhere. I’m told the outcome of this case doesn’t create useful case law, so if this doesn’t work out, we will have to wait for the next API lawsuit to come along to set the right precedents (and hope it isn’t also subject to the same patent gaming). That could take years — this case is already nearly 8 years old — so a correction in Oracle vs Google would be preferable.

Welcoming Software Heritage

Coade Stone is a fantastic artificial rock whose creation process was lost for more than a century because it was kept secret, although it has recently been reverse engineered.

Comments delivered at the opening of Software Heritage at UNESCO:

Distinguished guests, ladies and gentlemen, it is my pleasure to bring greetings from the Open Source Initiative, the global charity promoting open source and acting as steward of the open source definition and the list of approved licenses.

Open source is 20 years old. By popularising the pre-existing concepts of free software, it has been at the heart of the connected technology revolution. Open source gives developers permission in advance to collaborate and innovate regardless of affiliation. OSI-approved open source licenses are the hidden power behind Linux, Apache, Mozilla, Android and more.

But by granting all the rights necessary to us and our fellow community members to use, study, improve and share the software powering modern systems and networks, allowing us to collaborate with many “known others”, open source also unreservedly grants permission to “unknown others” to repurpose, rehost, reuse and revolutionise.

Availability to the outsider — to society in general — is crucial to our future. When software stays locked up inside the corporation or institution, when code created by the state with public funds remains secret, it does not add to our collective knowledge and is lost when its host moves on and the innovation it embodies is lost to society. This was the original motivation for previous generations to create temporary intellectual monopolies such as copyright, as an incentive to creators to make their creations public.

As time has passed, those intellectual monopolies have themselves been regarded as property and the knowledge and culture they embody is increasingly witheld from society. Open source allows that new-found wealth to be “spent” in a new way to stimulate collaboration. Collaboration in community has gone on to amplify innovation and accelerate adoption.

Software Heritage completes the new social contract enabled by open source. It provides the ultimate historical reference for the code behind our culture and comprehensive library of innovation to provide a “mounting block” to the shoulders of the giants before us. We should strive to get all the software that matters into this new digital Library of Alexandria.

It’s especially important that software funded with public money finds its way into Software Heritage. As Lessig observed, the practical experience of the law and of society is through code and all the software that governs our lives and liberty should be public code in this new library. More than just allowing us now to guard our freedoms, future historians will need source code to fully understand our digital present.

So as President of OSI, I warmly welcome the opening of Software Heritage. Open source delivers software freedom, and the Software Heritage archive takes the result and keeps it free for all time. That’s a great contribution to the modern world – congratulations!

Unknown Others

Open Source is for you, yes. But it’s also for unknown others.

A cow pulls a lawnmower on the Rajpath in New Delhi

Being close to an open source project, it’s easy to imagine that everyone sees the project the way you and your fellow community members do. This especially applies to the corporate sponsors of a single-company project; anticipating use by competitors they often want to apply controls to who can use the code.

A core objective of software freedom is to ensure that the code can be used not only by your collaborators, but also by unknown others with undisclosed goals. All OSI-approved licenses ensure everyone is permitted to use software for any purpose without further permission, delivering this core objective.

Random code liberation leading to unexpected application (AKA “innovation”) has always been and will remain a hallmark of open source. Borrowing portions of great code — from elegantly executed algorithms to useful libraries to entire components — is an intended mode of exercise for software freedom and not an artefact. Leaving it available is essential.

The same provisions that allow code reuse also enable the crucial pressure-release valve of open source; the fork. The ability to take the code and do something the original author or the current community don’t want is an essential freedom, not an unwanted side effect. Indeed, it is the origin of many of the most significant moments in open source.

It was a fork that rescued OpenOffice.org from corporate neglect, giving us LibreOffice. A fork allowed ForgeRock to rescue Sun’s identity management software from abandonment, thus saving huge investments in its deployment and creating a highly valued “unicorn” startup in the process. The MariaDB fork is keeping the MySQL project focussed on community rather than just the commercial goals of a megacorporation. Even the Firefox browser was a kind of fork from Mozilla, albeit a strategic one.

Making open source code freely available to unknown others is thus axial and not tangential to open source. That’s why I get extremely concerned by anything that wants to be seen as “open source” but still tries to lock out the outsiders, the rebels and the aliens. Attempts to do this range from the crude — like using a “time-locked” license that only becomes open source after a significant delay for “monetisation” — to more subtle approaches like requiring an account to access the source repository and then only allowing paying customers to easily have an account.

The code may be under an open source license, but software freedom is not present if accessing or using it requires being or knowing an insider. None of this is theoretical; indeed, Forgerock and MariaDB are themselves playing these games despite their origin story being rooted in software freedom.

So remain sceptical when software freedom is abridged or diminished in pursuit of a business model or of “safety”. Whatever that’s called, it’s not open source.

 

(A version of this appeared in the Linux Voice section of Linux (Pro) Magazine 207)

FOSDEM: How the humble FAQ got Java Open Source

Rich Sands and I gave a new talk in the Community Devroom at FOSDEM. We explained how important the OpenJDK FAQ had been to Sun’s ability to release the Java platform as Open Source, and explained (using an FAQ of course!) how to use the same approach in other projects.

There’s more to say on the subject (we originally created a 40 minute talk before we found we only had 15 minutes, hence the slight over-run) so hopefully OSCON will accept the proposal we run the whole thing there.

FOSDEM: The Third Decade of Open Source

This weekend I spoke at FOSDEM in Brussels to deliver the opening conference keynote. My subject was “The Third Decade of Open Source” and as OSI President I summed up the main events of the last 20 years, some of the key facts behind them and then offered five trends that will shape the next decade.

 

The Universal Donor

It’s not enough for you to have the rights you need; your community needs the same rights.

1108237652_7f7c8df9c8_o

A few people reacted negatively to my article on why Public Domain software is broadly unsuitable for inclusion in a community open source project. Most argued that because public domain gave them the rights they need where they live (mostly the USA), I should not say it was wrong to use it.  Continue reading

20 Years And Counting

The third decade of open source software starts in February 2018. How did it rise to dominance, and what’s next?

The Journey

20 years ago, in February 1998, the term “open source” was first applied to software, Soon afterwards, the Open Source Definition was created and the seeds that became the Open Source Initiative (OSI) were sown. As the OSD’s author Bruce Perens relates,

“Open Source” is the proper name of a campaign to promote the pre-existing concept of Free Software to business, and to certify licenses to a rule set.

Continue reading