Someone else\’s code
Not too long ago I created a pull request for Fish. In that pull request I greatly enhanced Fish’s ability to handle Git repositories. In my humble opinion of course.
In doing so I went all the way. I refactored all the functionality. Hell, I started all over again! I took the work of many programmers and threw it out.
All seemed dandy, I had fruitful discussions with other developers and we worked out a plan which I implemented. But when I finally offered up the pull request resistance arose from several senior developers in the community. I was puzzled. I incorporated many of their suggestions but as it stands my pull request has yet to be merged. I have given up on that particular request.
Last month I worked hard and long on a piece of open source (Groovy this time). I, together with a colleague, rewrote the way the application handled background jobs. The request got merged and promptly got refactored beyond recognition! All our carefully design decisions and hard work down the drain. I felt angry!
On the bike home it struck me. The situation eerily resembled the botched Fish pull request only from the other perspective.
I’ll be more observant to the ecosystem next time.