Date post: | 08-May-2015 |
Category: |
Technology |
Upload: | 3scale |
View: | 2,552 times |
Download: | 4 times |
Copyright, Open Source and APIs
©
http://www.3scale.net @3scale
http://apistrategyconference.com21-22 Feb, 2013
IANAL
(& This is Not Legal Advice)
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
Copyright & APIs
From: app.net API
Copyright would imply, no reuse of whole or (possibly) fragments
Copyrighting APIs?
v’s
v’s
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
Copyright Gridlock
API 1
API 2API 3
API 4
API 5
API 1.1 ?
Bad news even if you are the original
copyright claimant
Even worse if the APIs / Fragments are
generic
Leads to widespread paralysis
Luckily...
Recent Judgements => No Copyright
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.
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.]
So, All Clear?
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
E.g. Bad Behaviour
Copy/Paste? ->
Copyright still applies to some things + can still be plaigiarism
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?
And more importantly...
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
Things to think about
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
If you want to “Re-use” APIs
• Ask!
• Attribute!
• Contribute!
• Get clarification on status of re-use
• Figure out who the original Author is
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
Ready to Share
CreativeCommons
PublicGithub
WADL / Swagger
etc.
There are inherent Tensions in this...
It’s Hard +
Difficult to Achieve but..
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!