Article / 11th Apr 2013

A whole load of Kickstarting

It's an odd thing, the internet.

Back when I was just starting out doing freelance work - at the ripe old age of fifteen - I remember my mother being slightly bemused that people on the internet were giving me money. Of course, that was for work I had already completed, but in this modern age, it's now possible to raise money before you've even started.

My Kickstarter campaign was a simple request - I have some free time, a specific project to build, and a pretty good idea of how to build it. Why not see if the community would contribute?

I almost added a £20,000 stretch goal to remove MySQL support entirely. Almost.

Oh, how they did. The Kickstarter closed at a whopping £17,952 - 718% of my original £2,500 request. Not only that, but it was funded in 65 minutes and my highest stretch goal (£7,000) was reached in four hours. That Friday was one of the most surreal days of my life - watching the Kickstarter page and Twitter as both donations and messages of support came streaming in.

507 people contributed - some personally, some on behalf of companies. Those who contributed £50 or more earned the reward of a mention in my blog posts - responses to the survey are still coming in, but here is the current set of responses:

If your entry is missing, fill out your Kickstarter survey. If it needs changing, email me at

I had to write special support into this blog to get those entries to be automated. I hope you like it.

It's a great list, and my thanks to not only everyone on it but to everyone who contributed. A very decent chunk of the money came from those who gave £25 or less, and I think I have a large number of people to buy drinks for in the future, as well as a whole new slide-creation process for my upcoming DjangoCon talk.

Now, onto the project itself!

The State of Play

I'll be starting the new work almost immediately - in fact, I'm starting the initial planning just after this blog post goes live.

Things have been complicated somewhat by the £7,000 stretch goal (backport the new schema stuff into a new South version). I'd only come up with a rough plan for this before, as I didn't think I'd come close to getting that much money, and so there's a little more time needed now to ensure that work I do for one version can easily be ported to the other.

If you have good ideas on sharing code between South and Django 1.6/1.7, do ping me.

It's looking like that might have to involve some manually synchronised libraries, as the two versions will have to naturally differ thanks to their deep ORM integration; I hope to keep a lot of the code reusable, though, which should save a lot of time. The Django core version still takes priority - the backported version comes once the main version is in Django trunk and on track for a release.

I'll be working to my one day a week schedule to start with, along with time in the evenings and weekends, and I'll be doing regular blog posts to keep people updated. I might be able to get more time to work on this - in particular around release time, when there'll be more work to do - but it depends on my work schedule.

Still, the work starts here. There's a lot to get done, and a very expectant community, and I'm not going to let anyone down - I'm even getting an Oracle installation locally so I can give that first-class attention and support (there's a free development version, it just takes time and quite a bit of hair to get working).

It's going to be one hell of a migration engine.