+ All Categories
Home > Technology > Towards an API Commons

Towards an API Commons

Date post: 08-May-2015
Category:
Upload: 3scale
View: 4,193 times
Download: 0 times
Share this document with a friend
Description:
Keynote presentation http://www.defragcon.com - proposing API Commons http://apicommons.org/. Kin Lane and Steven Willmott
40
Towards an API Commons Kin Lane and Steven Willmott
Transcript
Page 1: Towards an API Commons

Towards an API CommonsKin Lane and Steven Willmott

Page 2: Towards an API Commons

Who We Are...

http://www.3scale.net/

http://www.apevangelist.com/

Page 3: Towards an API Commons

No Legal Guarantees...

Page 4: Towards an API Commons

API Growth...

Page 5: Towards an API Commons

APIs are Awesome

Page 6: Towards an API Commons

Data

Control

Commerce

Sensors

Mobile

Internal

Page 7: Towards an API Commons

The Number of APIs will explodeAlso Awesome!

Page 8: Towards an API Commons

But there is a problem...

Page 9: Towards an API Commons

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

Page 10: Towards an API Commons

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

Page 11: Towards an API Commons

And there is at least one other problem: copyright

Page 12: Towards an API Commons

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

Page 13: Towards an API Commons

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

potential copyright claims in the mix

Page 14: Towards an API Commons

So What If

API Definitions were actually explicitly open and shareable instead?

Page 15: Towards an API Commons

Why Not...

Borrow from the Creative Commons and Open Source?

Page 16: Towards an API Commons

API Commons

http://apicommons.org

Page 17: Towards an API Commons

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)

Page 18: Towards an API Commons

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

Page 19: Towards an API Commons

API Definition

Example

SwaggerWADLWSDLRAML

...

AP1 1

AP1 2

AP1 3

RubyPHP

Objective C

Single InterfaceMultiple

Implementations

Page 20: Towards an API Commons

ExampleAPI Definition

SwaggerWADLWSDLRAMLJSON Schemaetc..

}Copyright Free

Others can Reuse,Implement ServersImplement ClientsImprove and Remix

Page 21: Towards an API Commons

Benefits to API Designer

• Get broader adoption

• Get more shared tooling

• Feedback & Input

• Community Driven Standardisation

• Kudos Just Like OpenSource

Page 22: Towards an API Commons

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

Page 23: Towards an API Commons

First Cut Solution• http://apicommons.org

Page 24: Towards an API Commons

Properties

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

• Format agnostic

• On platforms like Github, it’s Forkable

• Uses established licenses (Creative Commons)

Page 25: Towards an API Commons

Licensing

• Highly Recommend: Creative Commons Attribution

(Permit Unrestricted Commercial Use)

Page 26: Towards an API Commons

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

Page 27: Towards an API Commons

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

Page 28: Towards an API Commons

Why Do This?

http://apicommons.org

Page 29: Towards an API Commons

Will people do this?

• Is it valuable enough?

• What about commercial conflicts?

• How will it be bootstrapped?

Page 30: Towards an API Commons

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

Page 31: Towards an API Commons

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

Page 32: Towards an API Commons

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

Page 33: Towards an API Commons

Commercial Use

• Some API Designs are Competitive Advantage

• In some cases shared standards would be better

• Parallels to the evolution of Open Source

Page 34: Towards an API Commons

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

Page 35: Towards an API Commons

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

Page 36: Towards an API Commons

What Now?

http://apicommons.org

Page 37: Towards an API Commons

Challenges

• Technical

• Understanding

• Adoption

• Business Models

Page 38: Towards an API Commons

Adoption

• No doubt it will take time

• It doesn’t make sense for everybody today

• Over time though it’ll become a popular choice

Page 39: Towards an API Commons

Thank You!

• http://apicommons.org

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

• Twitter: @apicommons

Page 40: Towards an API Commons

• Photo Credits:

• Ryusuke Komori / 500px

• Milan Cherian / 500px


Recommended