OSS It Already!
I write bad code.
That’s an unusual way to start a blog post, but it’s true.
I also write some very good code. Or at least I hope I do. My OSS (open source software) collaborators seem to think I do at least some of the time.
The point is, I’m not ashamed to admit it that I write bad code. Every programmer writes bad code sometimes and it doesn’t matter whether they are a complete beginner or an old hand. Any programmer who claims they never write bad code is either deluded or a liar.
The attitude of programmers to bad code becomes particularly relevant with regard to OSS.
When it comes to making code open source, many people seem to be afraid to do it until they feel their code is at a level where it will be judged by others to be ‘good’. There seems to be a fear of open sourcing initial efforts for reasons of personal pride, fear of ridicule, etc.
The reality is this. If you push some code to GitHub, no-one is going to look at it. At least not until you publicise it. GitHub is full of thousands of projects with new ones appearing all the time. No-one is sitting with their trigger finger poised waiting for ‘CoderXyz92’ to push some code so that they can immediately blast all over Twitter how bad the code is.
OSS is all about a community making code better. If you’re trying to get something off the ground there’s no better way to help that happen than to OSS it and get others involved. There are various ways to do that, e.g. word of mouth, user groups and chat rooms (e.g. JabbR). If it’s an interesting project, someone will head over and take a look.
Yes, people may criticise your work. But if it’s positive criticism, what better way to learn? You’ve just opened up your work to a huge community full of enormously talented people, rather than just your friend who you might persuade to pop round your house one night to review your code.
Of course, trolls exist and you may even encounter one who flames your work as a load of rubbish without any offering any help. I believe that such cases are rare, but if they do happen a degree of humility is necessary. Maintain your dignity, don’t feed the troll and carry on. In the OSS community, the number of good people who want to help far outweighs the number of nasty well-poisoners.
Which brings me back to my original point. Perhaps your code is bad. In fact, your initial commit of anything probably is quite bad. But that’s natural. It’s a first commit, it’s a new project which is under development and finding its feet. All projects are in a continual state of improvement and even the most popular OSS projects have both good and bad code which needs improvement.
The biggest risk is that you will never feel like your project is ‘ready’ to go OSS and it never does. I hate to think of all the code out there that never went OSS because its author never thought it was ‘good’ enough.
So, starting something new or have something already in progress? Join your friends and OSS it already! :-D