30 May 2014
Stripe Open-Source Retreat
UPDATE 2014-06-05: This application got turned down, see below.
is a collection of software libraries that put together is:
- functional - it will run an HTTP server
- complete - it will follow and understand 100% of HTTP specification
- reliable - it will have functional tests, and the parser uses the grammar the specification comes with
- redundant - it will be replaceable with another implementation that works on the same data (grammar, tests, state machine)
- efficient - it is KISS and DRY across programming languages
I’ll get into the details as well, but first things first: fill-in-the-spaces of the “application form” (as they appeared in Stripe’s blog post).
- to work full-time on an open-source project
- internal tech talks
for-GET HTTP, Keep It to Tools, TDD for HTTP APIs, ...
- it's some "infrastructure" that every company currently builds in-house
- Does our grant have the ability to transform this project's trajectory?
This project asked for such a grant one year ago, so most definitely YES!
- Are you an influencer within the project?
I, am your father
- Will your ability to focus on it full-time move the project forward in some significant way?
I worked 4+ full time months in my spare time already to bring it where it is today. Last year I gave up that trend as it was breaking me up in two. It's simply not possible to handle such a project while maintaining a healthy life. Being able to focus full-time will make it or break it.
- Is this a project that people already use and has attracted a lot of attention?
Bits and pieces of this project's philosophy are already in use (e.g. Webmachine) and has attracted attention, be it in the form of forks to non-Erlang languages, be it in the form of tweets, reddit, hacker news, prismatic...
- how much potential does it have?
- if APIs will eat the world,
- and most APIs will share common characteristics (request-response pattern, authorization, handling bad/forbidden requests, handling content-negotiation, etc) if not a whole protocol (i.e. HTTP),
- and most bootstrapping (i.e. frameworks) starts and finishes at a (de)serializing messages, and not at a semantics level
- then we won't move past evangelizing/learning the same "best" practices over and over again - 2004, 2014 - nor moving past "HTTP is complicated" - 2010, 2013.
Time to market a well-defined, standardized and trustworthy HTTP interface is key to delivering better web services!
- Is it a project that [...] would be particularly exciting if successful?
YES! As a developer, I would be excited to stop looking at HTTP specs whenever I implement a web service. As an API owner, I would be excited to know that I rely on a trustworthy implementation of the HTTP standards and that my API is not as good as the best HTTP spec reader I have in the company, but as good as framework X version Y is - "We are ISO-foo-bar certified!".
- Is there a good plan for how these 3 months will be used?
- What indicators are there that you'll be able to pull it off?
- tested practices: state machines for protocols, webmachine, PEG, DSLs, etc.
- progress estimation: this project's v1.0.0 is beyond 50% done
- focused mind: while I slowed down pushing to github, my mind is still very much into this
- well defined MVP boundaries: this is not about performance, not about HTTP clients, not about HTTP proxies, not about caching mechanisms, etc.
In audio & video
Read through my attempt for a IndieGoGo crowd-funding. The facts, the drive, the goal, … everything is there.
3 month plan
Click events for a brief description.
Disqus bellow or email is your friend.
UPDATE 2014-06-05: STRIPE’S REPLY
Thanks a lot for applying to the Open Source Retreat. Unfortunately, we aren’t able to accept your project. We ended up with about 120 applications, and ultimately only had 2 available slots, which meant we had to turn away a lot of projects that we would have loved to sponsor. We’ll be announcing our selectees soon; watch our Twitter feed (https://twitter.com/stripe) for details.
We’re treating the retreat as an experiment, but the strong interest we’ve seen makes it likely we’ll do something like it again (and we hope you’ll apply if/when we do). In any case, we expect we’ll learn a lot from this run and hopefully have lessons to share back with the community. We’ve also had a number of companies express interest in doing something similar, so hopefully other similar opportunities will arise soon.