3 ms·
I feel like there's 2 completely different paradigms to open source, or at least it felt that way for me. There's starting your own project and contributing to
by w0rd-driven 10y ago
I feel like there's 2 completely different paradigms to open source, or at least it felt that way for me. There's starting your own project and contributing to someone else's.
I initially started with my own projects, a few very minimalistic plugins or tools to scratch an itch. I put them on Github with no real advertising, save mentioning to the json resume folks that I was at least willing to help with LinkedIn importing since I was working rather extensively on converting my linkedin data to json resume. That project is pure garbage in terms of how brute force and un-developer-friendly it could be, but it still got a handful of stars in spite of that not really being the purpose anyway.
Fast forward to consuming open source plugins for work purposes and seeing projects almost there, needing a PR or two. In a couple of instances I'll fork a project and merge PRs manually because I see business value in circumventing waiting on the author. I may also need something they would otherwise reject. I feel like this is stage 2. I'm getting value for my own needs, I'm using the tools at my disposal not through direct PRs to my project but capturing the work of others.
It wasn't until I got to what feels like stage 3, getting my first PR merged into the core project I used. My very first PR was rejected and immediately feels like a loss but I was trying to tackle the problem using an admittedly 'hacky' way that while it solved the problem, smelled terrible. Getting that first accepted PR, even on the very low hanging fruit I've tackled up until now, is its own kind of high. Having done it on a few other projects spanning multiple languages and setups, I feel stronger as a developer whether or not that equates to actual quantifiable results. If I can clone your project and contribute one of two things is happening, either it's drop-dead simple (in most cases it certainly is) or I'm showing my competency for being able to do what the maintainer says I can do. That said I have contributed to some projects that were unintuitive and yet I was still able to solve the problem at hand. While frustrating as hell in comparison, even those projects have a tendency to teach me quite a bit.
It's because of stage 3 that I now actively try to evangelise my developer friends to make the same plunge, many of whom don't feel they have the time to contribute. I not only found that I have had the time, but it becomes a worthwhile pursuit and it shows my competency to others. Having said all of that I do feel I've gotten lucky. My first PR rejection was handled so amazingly well and when asking for clarity, I wasn't made to feel inferior. They clearly explained the problem, thanked me for spending the time on it at all (which is probably the most crucial thing), and proposed the more elegant solution of waiting for gulp 4. Getting something like "This is dumb. Why did you even submit this?" would've probably turned me off of contributing for another few years overall, much less to their project again. Even faced with that, I would still push myself to contribute because the benefit of even one accepted PR outweighs all the negatives.
- spetz 10y agoThat was an interesting read, thanks for posting this. I guess that the moral of the story is to keep trying and don't give up with contributing whether it's submitting PR, opening new issues or running your own project.