10 years of Wagtail
A decade of Wagtail. Was it worth it?
Ten years ago today, we launched Wagtail to the world. We weren't really expecting a dramatic response: Django already had a couple of good CMSs, Python was still a long way behind PHP and Java on the web, Torchbox was not an established name in open source.
In the intervening decade, Python has become the world's most popular programming language – fed by data science, machine learning and university curricula, perhaps – and Django's status has moved from cool newcomer to steady stalwart. Wagtail is now a large, established project, running enormous sites for organisations like Google, NASA, Mozilla and the NHS, as well as tiny portfolios for artists, intranets for charities, blogs for developers, landing pages for basketball clubs.
Wagtail's community has grown consistently too. The core team tracks a set of metrics, which we report and discuss at our weekly meetings. The figure we care about most is contributors: if two weeks go past without a new contributor, we'll try to find new ways of unlocking PRs or encouraging nervous newcomers. As of today, 726 different people have helped build Wagtail - that's a number we're very proud of.
Would we do it again, knowing what we do now? My emotional answer is yes, of course! It's deeply satisfying to create and improve something that's used by millions of people, even if most of them don't know it. And the world of open source – especially Python and Django, in my experience – is so warm and welcoming and respectful. Through Wagtail we've made friends in Cape Town, Reykjavik, Philadelphia, Arnhem, San Francisco, Lagos, Brisbane, Edmonton, Nantes... for the most part these are relationships which will outlive the technologies we currently share.
But managing software is hard. And content management has many more tricky bits than a blithe, optimistic five person team in 2014 could have foreseen. You start by thinking that a framework like Django (or Rails, or Laravel, or Next.js) gives you 80% of what you need. Templates, routing, user management, data migrations. On top of that you need a nice UI. Then some way of handling draft content, and previews (these are not the same). Then versions. An API. Search. Non-page content. Authentication. Localisation. Image handling. Comments. Reporting. Scheduling. Each of these areas splits out into its own set of challenges: you add support for Elasticsearch, then you realise they make backwards-incompatible API changes every year and you're committed to supporting the thousands of Wagtail sites who use it. Look at the epic list of updates in the latest release. In the heady days of 2014 – what simple times – we could never have imagined that ten years later a kind stranger would "Ensure that TableBlock cells are accessible when using keyboard control only" (Thank you Elhussein Almasri!).
We started this with that maker's thrill of building something quickly and perhaps better than what came before. What a delight to use your brains and laptops to create something fresh and popular! But the task quickly becomes very different; more like nurturing, polishing, gardening. The chief gardener, Wagtail's Monty Don, is Matthew Westcott, an extraordinarily creative technologist who – in the inevitable Netflix dramatisation of the Wagtail origin story – will top the credits of a very long cast list. Thank you Matthew, and everyone else, for ten years of hard, thoughtful, meticulous work. It's not really what we signed up for, but we're very proud of Wagtail. See you in 2034!
This Week in Wagtail
A weeklyish newsletter with Wagtail tips, news, and more.