Jacob Kaplan-Moss keynote: respect the pony

Tags: django, djangocon

Django has the pony mascot. The start was at a hilarious talk on “why I hate Django” where a street sign with a unicorn and the warning “magical powers” was shown. A led to B and we now have a pink pony as a mascot and we use it a lot.

From a small project in the basement of a newspaper, Django now has 17k django-user mailing list members and 5.7k django-developers members. The django-users mailing list is still growing exponentially… And the website gets about half a million unique hits per month. And there’s a whole ecosystem of companies working on and with Django.

Successful beyond our wildest dreams. So: what comes after success? The amount of success we’re having is starting to get a bit scary. Where’s the trend line going? Are we stagnating? Are we slowly receding? Are we continuing our growth?

Jacob often compares Django to Rails. Despite differences, they share a lot of similarities. They both originated about the same time. Rails went open source about a year earlier, so they hit bumps in the road about a year earlier than Django does. So we can learn from some problems that they have:

  • Language in flux. (Hey, Python 3).

  • Challenged by micro frameworks.

  • Worried about community fracture.

  • A stressful relationship between the framework and language communities. (Problem for Rails: Django and Python’s relation is much better).

Some problems that we have:

  • Exponential growth in the user community and linear growth in your developer community. So the users are far, far outstripping what the developers are able to do.

  • The web is in flux. NoSQL is taking up fast. Which can be a problem with Django’s original sql-only approach. And what about html5, client side storage, etcetera? It is in any case a challenge of what we know. Jacob’s tip: challenge yourself by examining all those nifty new scary technologies.

  • Tension over priorities. Do we want to be easy to use and start and allow applications to grow to enterprise level? It is a fine line to walk.

  • Relation with the Python community: we’re perceived as being insular.

Something important here is ego. (Almost) nobody is paid to work directly on Django. So recognition and pats on the back are important. Jacob tries to stay modest (which mostly works), but he’s not modest about Django. Django is great. Django is awesome. “Hey, Nasa uses Django”.

We must be careful not to be intimidating. As core developers, for instance, we’re way too careful with handing out the keys to the kingdom (read: subversion commit access). We’re way to impressed with ourselves. Our way is the best way as we’re going that way.

So: this is why the Django pony is important. We have a stupid silly mascot. We program in a language named after a British comedy troupe. We need to embrace the pony. We need to be a whole lot more silly. So that’s why Jacob just gave a whole serious talk about the need to be silly :-)

Jacob’s challenge for us: be modest.

  • Bring in more developers. Potential developers don’t need to prove anything to us, we need to talk to them to get them on board.

  • Re-commit to our reputation of being friendly.

  • Don’t rest on our laurels. Don’t let our documentation slip, for instance. We have so much documentation now that it starts to be an organisation problem. What we did right a year ago might be suboptimal now: check it all the time.

  • Engage better with the Python community. We’re currently mostly following python. But we could be advocating best practices and fighting for common python setup.py test and driving wsgi and… Our growth is tied to the growth of python. A rising tide lifts all ships: we can show that we’re fabulous by working on python in general.

Arrived in Berlin Ostbahnhof
 
vanrees.org logo

Reinout van Rees

My name is Reinout van Rees and I program in Python, I live in the Netherlands, I cycle recumbent bikes and I have a model railway.

Weblog feeds

Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):