Author Archive for Sebastian Rahtz

Social contracts for personal projects

I have been writing bits of code, large and small, for nearly 20 years now, and many of them are available somewhere on the web under more-or-less free licences. In recent years, especially since OSS Watch started, I have increasingly tried to get to grips with proper licensing and ownership, and now regard myself as “clean” as regards the licences. However, a lot of what I have produced has been in TiLi (Take it or Leave it) mode, under which I worked on changes at my own pace and in my own way. I know that in a proper open source project I will work according to a roadmap and to standards, but for my off-hand, part-time, work?

I have been using Operator recently; this is a brilliant Firefox extension which trawls each web page for microformats and shows you what it finds. It is written by Michael Kaply; he works for IBM, but it is fairly clear that this is a fun project he does on the side. You’d expect a TiLi mode of development for this type of work. Earlier this year, however, Michael published his personal Social Contract, which lays down the constraints he will impose on himself for Operator. For example, he says “I will modify the method I use to debug Operator to ensure that I do not accidentally leave debug messages in the extension when I ship”, and “I will not commit to any specific day to release an update to Operator” as well as the, perhaps expected, “I will take all bug reports seriously and attempt to solve them”. Marvellous. Precise rules which we users can understand, and which he can realistically stick to.

Read more about Kaply’s Social Contract at
http://www.kaply.com/weblog/2007/01/10/extension-development-and-social-contracts/

I think I too will write such a contract next time I publish some code.