5. Outline
• Copyright and APIs don’t mix
• Alsup to the rescue
• But there’s still a problem
• Share rather than copyright - towards an
Interface Commons
6. Copyright & APIs
From: app.net API
Copyright would imply, no reuse of whole or (possibly) fragments
8. Bad News for Everybody
• Copyrighting the Idea of something rather than
its Expression
• Copyrighting every possible implementation
of that thing
• Makes
• Building almost any new language or API
hard
• Integrating systems impossible
9. Copyright Gridlock
API 2 Bad news even if you
API 3 are the original
copyright claimant
API 1 API 1.1 ? Even worse if the
APIs / Fragments are
generic
API 5 Leads to widespread
paralysis
API 4
12. US Verdict
So long as the specific code used to
implement a method is different, anyone is
free under the Copyright Act to write his or
her own code to carry out exactly the same
function or specification of any methods
used in the Java API. It does not matter
that the declaration or method header lines
are identical.
13. European Verdict
[... the Court holds that neither the
functionality of a computer program nor the
programming language and the format of
data files used in a computer program in
order to exploit certain of its functions
constitute a form of expression.
Accordingly, they do not enjoy copyright
protection.]
15. Not so Fast!
• There is still uncertainty (EFF Appeal)
• “Copyright” is still everywhere
• Reuse can still be Plagiarism
• There may be patents...
https://www.eff.org/deeplinks/2012/11/no-copyrights-apis-
help-us-make-case
17. So What to do?
• What should we do when designing
APIs?
• Should we be sharing rather than
copyrighting?
• What if you actually want to protect
something?
19. Actually Sharing would
be very powerful
• Reduces coding hassle
• Ups Re-use
• Makes Better Interfaces
Remind you of Open Source?
But there is little API Interface sharing today
21. If you publish APIs
• Think about how you feel about re-use
• If you’re cool with sharing, find a way to
signal it
• If you think the technology is genuinely
unique and worthy of protection: patent
rather than copyright
22. If you want to “Re-use”
APIs
• Ask!
• Attribute!
• Contribute!
• Get clarification on status of re-use
• Figure out who the original Author is
23. As a Community
• Think about how to better share interfaces
• Consider an “interface commons” (or an
creative commons for interfaces)
• Play nice when re-using, attributing and sharing
• Encourage clarity
• Encourage convergence in interfaces
24. Ready to Share
Creative
Commons
Public
Github
WADL /
Swagger
etc.
27. It’s Worth it
• Start building a culture of open / reusable
interfaces [100’s, 1000’s, ...]
• Make API design better
• Speed up pretty much everything
Interested in people thoughts on how to get there!
28. Thank You &
Discussion
Contact:
Steven Willmott
steve@3scale.net
http://www.3scale.net
@njyx