Jesse admitted (in private, anyhow) that my crazy ideas about free software release cycles and support plans may have some merit. He also asked me to explain them in much more detail than pithy quotes in email and on IRC.
First, I want to assert some axioms. I'm doing this separately so that anything which isn't immediately obvious as true can trigger a lot of comments and discussion separate from my thoughts on release cycles and support. Here goes.
I expect there may be a few objections to these sixteen axioms.
I remember Aaron Farr having some interesting
principles of free software project development.
One thing I think he said was that the most
successful ones involve developers. That is
they are producing software developers use.
I think he mentioned exceptions like OpenOffice.
One other thing he talked about was how
users become contributors.
I wish I could remember what he said.
While I'm not object to the point, I would like to have it somehow explained.
Other points are either self-explanatory, or simply obvious, but I don't immediately see why alpha/beta/rc releases are necessarily evil.
Re:alpha/beta/rc axiom?
depesz on 2008-08-07T05:56:18
While I'm not object*ing* to the point...
Re:alpha/beta/rc axiom?
chromatic on 2008-08-07T06:55:14
I don't immediately see why alpha/beta/rc releases are necessarily evil.
In the first place, they're ineffective as tools for gathering feedback. There's no substitute for getting your software to actual users and hearing directly from them what works and what doesn't work.
Worse, I believe they're fundamentally at odds with the practice of done done. If you get in the habit of releasing software with features you think probably aren't complete, you think are mostly complete, or you're pretty sure are complete but aren't willing to say are complete, you lose so many benefits of knowing exactly where you stand and what you really can deliver.
There's also a psychological cost. You're making some releases more significant than others. You're almost saying it's okay for people to ignore alphas and probably betas and maybe even release candidates by admitting that their quality might not be sufficient for every day use.
I have a big problem with releasing software where you're not sure that the quality is sufficient for your users to use regularly. I also have a problem with making some releases more significant than others. I want releases to be boring and routine. That's great! That's wonderful! I want upgrades to be small and routine and uninteresting and frequent!
Many people still won't upgrade frequently, but at least removing the pain of the Big Thud After Five Years Massive Upgrade is one fewer excuse.
Re:alpha/beta/rc axiom?
LTjake on 2008-08-07T11:45:35
In the first place, they're ineffective as tools for gathering feedback.
So true! Though, at least you'll get smoker reports...
Re:alpha/beta/rc axiom?
chromatic on 2008-08-07T17:07:28
I prefer to get daily smoker reports from trunk and significant branches. Hourly reports are even better.
The shorter the period between an action and its feedback, the more you can learn from the experience and the faster you can correct an incorrect action.
It should include both how one can run an open source project - stuff you started to write in the journal but also other things such as
Re:Book title: Open Source Project Management
chromatic on 2008-08-07T17:23:33
I really would like to see a book about Open Source Project Management.
That's a good idea, especially the business perspectives. The most similar book is Karl Fogel's excellent Managing Open Source with CVS, which doesn't go into this much detail on releases.
Re:Book title: Open Source Project Management
ask on 2008-08-08T09:49:11
Are you sure you aren't thinking of Karl's "Producing Open Source Software" book?
Re:Book title: Open Source Project Management
chromatic on 2008-08-08T17:48:57
Somehow I confused both into one book. Thanks for the correction!
From my experience managing my church's web team, people really don't mind menial work so long as the work is valued and appreciated, and doing the work is fun.
There were folk who would volunteers hours every month updating web site content, changing pictures, proofreading and checking for dead links. We'd get together at somebody's house, or a coffee shop with wifi, and just work.
Not only that, but menial tasks are a great way for people to get introduced to a project, and for them to do that at low risk.
I wouldn't call it scut work, because then you're branding it as stuff people don't want to do. They're just maintenance tasks that often don't get done, or done well, by developers.
Re:Volunteers and "scut" work
chromatic on 2008-08-08T06:23:55
Good point. There's a difference between the game development model of making everyone do tech support or manual QA before coding or design and having non-coding tasks available for interested volunteers. The latter can be enjoyable and rewarding.