Many of us who are involved in the WordPress community are also big fans of open source. We use tools such as GitHub to share code and collaborate with others, we often blog about the advantages of open source, and even challenge one another to open source our projects even if the developer’s initial desire is to keep it closed.
It’s because we believe that the advantages of open sourcing a project far out weigh keeping it closed, right? At least that’s part of it.
Obviously, I’m not someone who has built any large applications that are open source. I use a few, I’ve contributed to a few, and I’ve done my best to make sure a number of projects are open source (though, for the record, I’m not someone who is philosophically against closed source, either).
The thing is, there’s a side of the open source community that is rarely discussed. Or, if it is discussed, then I’ve missed the conversation. But after releasing the second version of the WordPress Plugin Boilerplate yesterday, I thought it might be worth sharing some of the downside of open source development.
The Downside Of Open Source
Here’s the the thing: This post is not so much about the down side of open source from a technical perspective. Instead, it’s from a personal perspective.
For a community that’s so passionate about collaboration, bringing other people together, and having them build something great with the help of one another, there are a handful of things that I wish I was prepared for before joining the fray several years ago.
So with that said, here are three things that I’ve experienced during my time working with open source software.
1. Bring On The Critics
When it comes to working on an open source project, once it receives enough attention, you’re going to receive emails, tweets, issues, requests, and so on about the direction that your project should go.
Perhaps someone will talk about a problem they have with the way you’ve built it, others will have comments about why you’re simply wrong, and some will simply knock the way you’ve implemented something.
Ideally, we’re trying to provide something useful for others and to invite others to collaborate. We’re not inviting negative criticism, but if you venture into the open source community, be prepared for it because it will come.
2. You Won’t Get It Right
When you first begin working on a project and then release it as open source, the amount of feedback, contributions, and issues that you’ll receive are at one level.
But, from what I gather, the more people who you invite to the project, the more opportunity there is for people to contribute which ultimately results in a greater number of things for people to criticize.
In short, the criticism scales. And that’s okay.
But you should be prepared for the increase in volume of comments, questions, complaints, issues, feedback, and so on. To be honest, there may be times where you feel like you haven’t gotten anything right and the idea may be come that you should close up your project, pack up, and go home.
That sucks, doesn’t it?
Remember, though: There is valuable feedback in the criticism. You can improve the project. On top of that, people are weird about public praise. There are people you’re helping that you’ll likely never hear from, so don’t lose sight of that.
3. You Will Learn From Your Failures
This is such a cliche.
The thing about open source is that you’re putting your work – and others’ work – on public display. As such, you’re naturally inviting a lot of criticism and it can be a scary thing.
In some ways, it’s not much different than writing a blog.
Your technical chops will be scrutinized. Details as small as your use of tabs and spaces will be examined. Best practices, naming conventions, code organization, and commenting style will be called into question.
This is a good thing: it will force you to think about the things that you’ve done. Sometimes you’ll need to defend your decisions; other times, you’ll learn from others regardless of how they’ve called you out on certain things.
The Crack in The Rose-Colored Glasses
As far as I’m concerned, the debate between open source and closed source software is unevenly matched.
From what I can tell, it appears that open source people spend far more energy asking those who have closed source software to open source it, but you don’t often hear those with closed source software asking others to close their software.
Secondly, for as much as open source is praised, the community can be just as beneficial as it is brutal. There’s a lot to learn to from one another, but the way at which criticism, contributions, and questions are presented leaves something to be desired.
Unfortunately, this is the stuff so few seem to want to talk about. They simply want to promote open source and how grandiose it is and the community that comes along with it.
And it is pretty great, but it’s not without its faults – and I often wish that was vocalized a bit more.