Share this project


Share this project

Awesome Web APIs with Django REST framework 3.
440 backers pledged £32,650 to help bring this project to life.

Off the scale

Posted by Tom Christie (Creator)

I received an update on my phone yesterday that pretty much floored me.

I had to double check this one a couple of times to make sure I'd read it right...


For those of you who may not know, Eventbrite are an online ticketing service. Since their acquisition of Lanyrd, they've steadily been hiring the very best of the best Django developers.

Their sponsorship of Django REST framework 3 goes way beyond what was asked for or expected, and I can only hope that it inspires other companies to take a similarly forward-thinking approach to financially supporting the open source tools they use and rely on.

More stretch goals?

At £21,000+ we're now way, way over all the original stretch goals.

Right now I've taken the decision to not add any further explicit stretch goals.

I'm simply not comfortable planning further out than the work that's already detailed in the proposal. What I believe to be most important for the framework now may not be what I believe to be most important six months from now. By choosing not to set additional stretch goals, I can remain flexible with time allocation to the project, and with the choice of work.

Adding further stretch goals would also run the risk of over-promising. I would rather that we have significant headroom for delivering at extremely high quality against the existing plans, than compromise on that in order to meet a larger promised feature set.

Having said that, the additional funding does mean I'll be able to dedicate even more time to the project than expected, and I would like to share some of the broader roadmap to give some indication of how the extra time is likely to be spent.

The roadmap

  • Maintainership. The project has a couple of other great collaborators, but I'd like to invest some more effort into making sure that it doesn't depend solely on myself in order to survive. Documentation of the triage and release process will allow other developers to properly step into the maintainer role, and increase the 'bus factor' of the project.
  • API design guidelines. The project currently avoids issuing guidance on good API design, treating it as out of scope. I'd like to help set developers on the right path by documenting some guidelines on designing good Web APIs, including referencing Heroku's API design guidelines, and discussion of alternative styles.
  • REST framework development guidelines. Guidance on project layout and tips for of good style when developing with REST framework.
  • Triage and support. I'll have more opportunity to focus on ticket triage and user support. 
  • Hypermedia support. I have a number of ideas I'd like to explore for adding proper hypermedia support to REST framework and offering the possibility of generic client libraries that can be used with REST framework APIs.
  • Framework independent library. I've undertaken some exploratory work on porting the core of REST framework into a framework independent library. It's possible that I might pursue this further, allowing for much of the functionality of REST framework to also be used with Flask and other Python frameworks.

Summing up

I'm currently still collecting sponsor info, and will be posting this soon.

I can only reiterate how hugely grateful I am for the flood of support for this project. It's been humbling and rewarding to see so many people pitching in with contributions both large and small.

Thank you.

- Tom


Only backers can post comments. Log In
    1. Tom Christie Creator on

      Hi Paul, Arthur. Point taken - thanks! :)

    2. Paul Whipp on

      Great news, congratulations!

      +1 to Arthur's comment (I'm just as selfish). KISS - the rest framework is an elegant solution which will deliver more by becoming 'as simple as it can be, but no simpler'.

    3. Missing avatar

      Arthur Pemberton on

      Forgive the selfishness, but it might be preferable to not spend too much time on "framework independent library" for this current Kickstarter as it was touted as Django project originally. A separate drive would probably be a clear way to fund that.