Week 10 - Building in the Bazaar
This week, I had the chance to read “The Cathedral and the Bazaar,” the much-lauded essay by Eric S. Raymond. It was a delightfully interesting read, made even more fun by the constant references to people I’ve long looked up to.
I’ve always found the early Internet era to be particularly alluring. Something about the culture of it seems so wonderful. Usenet forums, dial-up, IRC channels, groups of engineers who, by and large, did this for fun. As Raymond himself writes, the “users are hackers too.”
That’s one of the largest grievances I have with the modern internet - it feels like everyone is on it. It’s become a commodity, but as a result, there’s no community for the nerds who build it anymore. At least not outside of the Slack channels of massive tech conglomerates. As someone who’s always identified with the types of opinionated, awkward, and tech-obsessed people who built these platforms, writing like this essay makes me nostalgic for a community I never got to experience. The idea of building alongside Richard Stallman and Linus Torvalds is incredible.
With that being said, my largest takeaway from this reading was that community is the most important part of an open-source project. Large tools meant to serve developers shouldn’t be built by one developer sitting in his room by himself, it should be built by a community and modified by each developer for their needs. And the community of an open-source product isn’t just the developers. It’s the users as well. Users (who, as Raymond points out, are often easily converted to developers, especially in technical use-cases) are the most valuable target for a developer to have. The people you’re building for are the people to listen to.
I can see this with the project I’m working on, Nanobot. Nanobot is exactly the type of project Raymond is discussing here. The users are almost exclusively engineers and tech-fanatics. It’s a community of nerds, always hoping to make changes - including my team.
Unfortunately, this community is very fast-moving and not all that coordinated. Earlier this week, I selected an issue to work on. Unfortunately, by the time I had understood the problem, a fix had been opened. The reality of the community is that, while it’s great for the project, for an individual hoping to contribute, contributions moving too fast means I have very little strike time.
So, I’m going to try a different approach. I’m going to contribute the features and fixes I’ve personally identified, so I can fix those and make the product better for myself. As Raymond writes, users can easily be converted to developers. And I’d extend that to the following: developers should be users themselves.
PS: It was funny to find the origin of the “Given enough eyeballs, all bugs are shallow” quote. And just as fun to try telnetting into the ccil.org page.