Twenty years ago, before regular people had the web, I was a 13 year old discovering a hybrid database/scripting application called HyperCard. One of my early projects was a random number generator for the newly-launched National Lottery, which incredibly, made it onto the cover floppy disk (’3MB of great software!’) one of the early editions of Macformat magazine. I was smart: I didn’t put my home address on it, but I did put my school address in the Read Me. So for several weeks after, they came: little letters in the class register with exotic postmarks, from Scotland, Cyprus, Germany, Australia. They contained patient advice on how to improve my randomisation algorithm (it sometimes generated the same number twice). Versions ported to Pascal, or with a nicer UI, or ideas for new features. Some even included the odd financial donation too. My 13 year old friends were in equal parts bemused and impressed.
I never stopped fiddling with code, though I never properly trained in it either. Fast forward ten years, and I was releasing an open source DIY survey package I’d built because I was annoyed with SurveyMonkey – and the feature requests, support queries and very occasional donations came too, this time by email. Four years ago, I was blogging here, and releasing WordPress themes for consultations, as a salaried civil servant. Still the emails and ideas came: lovely, exotic, motivating, time-consuming, rewarding, emails.
Now I run a micro business and coding is for food as well as for fun. Even more than ten years ago, we depend on open source projects and the altruism of others in forums and blog posts, troubleshooting and extending them for us – making our lives easier and helping us make a profit from their work through the services we offer our clients. So when people have understandably asked if we’ll be releasing the code behind our work for DCMS on the intranet, the memory of twenty years of lovely, exotic, time-consuming emails coming flooding back before I feel ready to say: yes. Yes, of course.
To do otherwise would be hypocritical, and counterproductive. And our strongest ‘competitors’ are well ahead of us on this: the Simons at Code for The People have been contributing their plugins to the WordPress directory and playing an integral part in core releases too for years. Harry at DXW has been submitting patches and worrying about password hashing in WordPress core too. So it’s about time we started sharing more of our code and contributing back a bit more, and building time to handle those lovely emails into our business model. These days, GitHub and other tools make that easy.
I think there’s an important difference between saying ‘you can use our stuff, it’s on GitHub’, and actually helping the writers of those lovely, exotic, time-consuming emails to use the stuff that’s been released in their own work – many of whom aren’t especially expert developers but see the appeal of reusing work from elsewhere. We work mainly in WordPress, a massive community project with a vibrant ecosystem of plugins and themes where people expect to find answers ready-made, reliable, and free (and they’ll complain bitterly, without justification, to altruistic plugin and theme developers when they don’t). So releasing a WordPress thing isn’t just an extra commit, it’s a proper commitment.
Luke’s written more about what we’re doing, but in a nutshell, we’re releasing a tidied up, customisable version of our work for DCMS which anyone can pick up and use on their own intranet-style site. We’re started the process of documenting it better, there’s a demo you can play with, and we’ll do our best to answer questions. Thanks to GitHub, technically minded people can contribute their own improvements, so it hopefully becomes a small community project of its own.
We’ll also be introducing a new section of this site to bring together information about our code releases, where they are, their requirements, current status and more. In some cases, we’ll submit them to the WordPress plugin/theme directory too.
Open sourcing your core outputs feels like a scary thing to do as a micro business when they’re so easily re-usable by others working in the same sectors. But we reckon we’re about more than just code, as Luke’s blogging over the years clearly illustrates.
Make things open: it makes things better, as some wise folk once said.