Photo of a talk at GUADEC 2010, with speaker talking and several attendees with laptops By Mario Sánchez Prada [CC-BY-SA-2.0], via Flickr

Hacking the Platform: what could possibly go wrong!

you managed to write a library because you needed it for another project; or because you were tricked by your software engineering classes at university into thinking that code should be reusable first and foremost; or, less likely, because you’re a deranged individual that tries to help others into making their lives easier while simultaneously inflicting misery on yourself. whatever the reason, congratulations: now you have to maintain not only your code, but also the programming interface that comes with it, and its behaviours, lest you find yourself flamed to death every time you introduce new functionality or fix an old bug.

in 2009, Emmanuele presented a talk at GUADEC about transitioning as painlessly as possible (for the maintainer, more than for the developer) a library from the initial days of fun and breakage to the drab, grey routine and bureaucracy of a stable API. this talk is the follow up, detailing what happens when your library becomes part of a very complex and large system like GNOME, what requirements are asked of you as the maintainer, and how can you visit misery on every developer while simultaneously destroying any chance of happiness about your work.

or, at least, how to avoid doing all of the above.