Fireside Chat with a BDFL

Moderated by Sean O’Conner and starring Jacob Kaplan-Moss

How did Django get started?

  • 2002 - 2003 LJ World hired Adrian Holovaty to become their dedicated Web Developer

  • Previous to 2002 had Frank Wiles making things for them in Perl

  • Adrian hired Simon Willison as the most overqualified intern until Alex Gaynor

  • Because of the fast news cycle at a newspaper you don’t have the luxuries of other jobs.

  • Sometimes you have to build a project within 24 hours

  • Adrian and Simon decided to do it all in Python

  • The Python ecosphere didn’t have all the tools they needed so they made things up

    • Zope/Plone couldn’t cut it
    • No light frameworks existed
  • At PyCon 2005 they went to a success story workshop and Adrian demonstrated a blog in 5 minutes

    • Nothing else in Python could do it at the time
    • People asked them to open source it
    • LJ World was okay with open sourcing it
  • In July 2005 they released it as open source

Why did Django get traction and other light Python frameworks didn’t?

  • Luck of timing

  • They did a lot more documentation than any other emerging option

    • Jacob and Adrian focused on the on-boarding of incoming developers
    • Good input from Wilson Minor on design and the result was that it looked better than it’s competitors
  • Spent a lot of time considering how the community ought to be built

How has Django’s community and structure has changed?

  • Jacob mentions their are 6 developer journalists. The reality is that there are a lot more
  • Linear community growth until 2006 and then it’s grown exponentially
  • 20,000 members on the mailing list
  • Huge issue: Not enough man hours for the leadership to increase the number of contributors.

What about Django 2.0?

  • Jacob never wants to have a not backwards compatible version of Python
  • Doesn’t want to see Django 1.11, wants to go Django 2.0 at that point
  • Massive incompatible rewrites are really challenging


  • Wants to see a better job for formalizing the app interface

  • Wants to see Django become a micro-kernel.

    • Less features and more APIs and hooks
    • No more features in Django
  • Delighted that Python Package has been shaped by the Django community!

  • Wants to see more people empowered to help build Django

How can Django can become a better part of the Python community?

  • 2 years ago the communities were a bit separate
  • Some tension caused by Django because we as a community sometimes get aggressive
  • Some tension caused by Python because the anti-establishment guys don’t like winners
  • Django needs to help push for better Packaging in python
  • Let’s port to Python 3!


I think having the Django community cook up a good alternative to PIL and make it pure Python.

In your role as BDFL have you had to go against the community?

  • Jacob/Adrian admit being wrong about the template language not auto-escaping
  • Doesn’t want to overlord too much

How have things changed for the Django community since the last hate talk?

  • Changed the core developer rules so that the quorum for new core devs could work
  • Any time a core developer says “no” to something, they have to explain why