Towards an API Commons

Post on 08-May-2015

4,193 views 0 download

description

Keynote presentation http://www.defragcon.com - proposing API Commons http://apicommons.org/. Kin Lane and Steven Willmott

transcript

Towards an API CommonsKin Lane and Steven Willmott

Who We Are...

http://www.3scale.net/

http://www.apevangelist.com/

No Legal Guarantees...

API Growth...

APIs are Awesome

Data

Control

Commerce

Sensors

Mobile

Internal

The Number of APIs will explodeAlso Awesome!

But there is a problem...

A huge amount of client code is going to have to be written

But we know how to solve this right?...

Did

n’t

wor

k ou

t so

wel

l la

st t

ime

arou

nd..

Will

Tak

e A

Lon

g tim

e to

W

ork

Automation: Code Generation

Intelligent Clients: e.g. Hypermedia

And there is at least one other problem: copyright

API Copyright

• Legal Grey Area

• Hundreds of thousands of APIs means a lot of overlap

• Risk in Re-use

• No attribution and a lot of unhappiness

Very Messy Hundreds of Thousands / Millions of APIs with similar definitions, all needing client code and

potential copyright claims in the mix

So What If

API Definitions were actually explicitly open and shareable instead?

Why Not...

Borrow from the Creative Commons and Open Source?

API Commons

http://apicommons.org

The Idea

• Enable (and Encourage) people to openly declare API Interface definitions to be under Reusable

• Enable discovery, sharing and forking

• Apply to API Definitions and Data Models (not implementations)

Example

•Facilities API

•Own the definition

•Explicitly make it Sharable

•Others can Reuse

•Others can Extend

•Client code can be shared

•So can the server code

API Definition

Example

SwaggerWADLWSDLRAML

...

AP1 1

AP1 2

AP1 3

RubyPHP

Objective C

Single InterfaceMultiple

Implementations

ExampleAPI Definition

SwaggerWADLWSDLRAMLJSON Schemaetc..

}Copyright Free

Others can Reuse,Implement ServersImplement ClientsImprove and Remix

Benefits to API Designer

• Get broader adoption

• Get more shared tooling

• Feedback & Input

• Community Driven Standardisation

• Kudos Just Like OpenSource

Benefits of using APIS from the Commons

• Save work

• Clear copyright footing

• Increase the likelyhood of clients being available

• Help improve something existing

• Many Eyeballs ...: Just Like OpenSource

First Cut Solution• http://apicommons.org

Properties

• Bottom Up: Just put a manifest somewhere (no “control”)

• Format agnostic

• On platforms like Github, it’s Forkable

• Uses established licenses (Creative Commons)

Licensing

• Highly Recommend: Creative Commons Attribution

(Permit Unrestricted Commercial Use)

But How do you Start?

• 10 APIs in as examples

• More to come

• Mostly public sector <- makes most sense

• Accumulate commercial ones as we go

• Encourage use of Existing Data Models

apicommons.org

• Aiming to index commons APIs

• Place to stimulate discussion and best practice

• No commercial interest

• No reason for this to be the only hub

Why Do This?

http://apicommons.org

Will people do this?

• Is it valuable enough?

• What about commercial conflicts?

• How will it be bootstrapped?

Value for APIs as a Whole

• Huge: In fact - APIs are probably not viable as a technology without it!

• Reduce the amount of client code by orders of magnitude

• We will end up with fewer better API interfaces and more APIs

Why does this matter?

0

12500000

25000000

37500000

50000000

10000 100000 1000000 10000000

No SharingShared InterfacesSemantic Technology

Assume 5 clients per API, Assume factor of 10 shared API defs over time

Open Data?

• Seems to be the logical place to start

• There is no incentive to have different models for the same data!

• No commercial barriers

Commercial Use

• Some API Designs are Competitive Advantage

• In some cases shared standards would be better

• Parallels to the evolution of Open Source

Why Not OS?

• There have been copyright lawsuits so descriptions are at least subject to copyright

• Descriptions are generally not executable by themselves

• Maybe Open Source licenses are needed in the future too

Why not just Creative Commons?

• Creative Commons is great

• But we need more structure and guidance

• We also need to be able to discover APIs in the commons easily

• We need to evaluate if creative commons is the right model

What Now?

http://apicommons.org

Challenges

• Technical

• Understanding

• Adoption

• Business Models

Adoption

• No doubt it will take time

• It doesn’t make sense for everybody today

• Over time though it’ll become a popular choice

Thank You!

• http://apicommons.org

• Group: https://groups.google.com/forum/#!forum/api-commons

• Twitter: @apicommons

• Photo Credits:

• Ryusuke Komori / 500px

• Milan Cherian / 500px