Lifetimes of Open Source Projects
So I tried contributing a new feature to an open source project whose last release was in 2009. I didn’t know how many developers still monitored the mailing list, but I thought I would at least get a response to my emailed patch. It’s hosted on SourceForge, so I figured it probably wasn’t under active development. I don’t think my email even got through moderation, I subscribed to the mailing list before sending a message, but it seems to have binned me as Post by non-member to a members-only list.
It was a project written in Python 2.5, well documented and very easy to understand. I was able to download it and start playing with it within an hour. The fact that everything still worked on a modern platform was pretty impressive. Most things that old have dependencies on platforms that don’t get ported. I found it really great that it was that simple to contribute and it got me thinking about lifetimes of open source projects.
I had the chance to talk to Rob Bishop, an evangelist for Raspberry Pi, about open sourcing a friend’s robotics project. He talked about not waiting for perfection and releasing something simple that anyone could extend. The project never ended up getting released, but I never realized that open source projects like that get picked up. I recently had someone contact me about an open source driver for a medical device. They gave me a decent good bug report, detailing the error message and the conditions it happens under. I didn’t recall the code at all, but I was able to pin it down to a message in libusb that I was just passing up. I tried to provide some assistance, but without the hardware necessary to reproduce the error I had to suggest code changes for debug messages. It turned out the filer didn’t have or want any coding experience, so the contact ended as quickly as it began.
When interviewing for a job, I mentioned a few open source projects I had created, but added that they were dead. My interviewer corrected me and said that since they were open source, they would always be alive. I think there is a big difference between a project being ‘supported’ and ‘alive’. I always laugh at the ‘ABSOLUTELY NO WARRANTY’ messages on top of code or on download pages, because I just assume that free things are dead unless proven otherwise. While the code might be open, the project may be dead. And even if the project’s creators respond to inquiries, it doesn’t mean it’s under development. Alive should be synonymous with activity, so even if the project is available, or forks of the project are active, the original project is dead even if the maintainers are still around to answer questions.