So I made a contribution that was merged into the core of the new Laravel 4 framework about a week back, it was incredibly minor, but I was nervous about submitting the pull request for it. After it being accepted soon after, any nerves I had disappeared, not about that request, that would just be stupid, but about contributing to large, very active, open source projects. Here’s why.
When I was talking about releasing the code for a web app and iPad app that previously was making me some cash, I was getting support with comments like this:
@duellsy Do it! Any open source is good open source.
— Dom Wood (@_DomW) February 28, 2013
So I did, and felt good that I was contributing to open source in my own way, whether or not that particular project helps out someone I’m not sure, but it felt good to release a whole working project, not just a small package like I’d done in the past. While I’ve got a few of my own projects up on github as open source, I’m not new to contributing to existing open source projects over time, my account page is testament to that. Granted I’ve been a bit stale on contributions in the past 12 months, but they do date back a couple of years.
However recently I submitted a pull request to fix an issue that a few people were having with Jeffrey Ways awesome resource generator tool, there was an issue in that the current (at the time) tagged branch of the laravel framework didn’t have a class in it that Jeffreys package relied on, as a result a fatal error was being thrown and only half the files were being built, putting you in a mess you had to manually clean up.
So I submitted my pull request, tested and working, only to have it rejected without any reason given whatsoever, until I saw elsewhere a lazy “well it’s not my code that’s broken, it works for me”. This really rubbed me up the wrong way and kinda made me feel like my changes weren’t worthy of a wider audience, and kind of put me off contributing to any more pull requests to large open source projects.
Now don’t get me wrong I’m not having a go at Jeffrey, he does amazing work, he just happened to be the case in point (sorry Jeffrey if you’re reading this!). It could well have been Mick Jagger, whoever, if you publicly put up code and want to be the main base (i.e., not have someone else take over on a new fork) then you need to support it, if multiple people are having an issue wit your code then there’s a problem. If someone then finds and fixes for said problem, and submits it for all others to use don’t be afraid to accept it. It’s hurting nobody (least of all you) and helping everybody.
We’re all better off for using open source, but it takes one to make the pull request, and another to accept it, before it truly is open source.