Musicqueue Project Termination Summary
In case you missed the noise the past couple of weeks…
I saw guayadeque as a very utilitarian music organizer and player for the Linux desktop. As I documented elsewhere, the program worked for my needs. To see it languish from abandonment seemed wrong. I struggled with the decision to branch off development. It was not a decision I took lightly.
Juan Rios, the original developer and maintainer for guayadeque, re-surfaced mid-May this year. Initially, he was replying to an email that I had sent nine months ago. I don’t think he quite fully understood or appreciated what other developers had done to keep his program active and usable since his last version release in early 2014, or the last subversion push in early 2015. He was certainly very much unaware that I had forked his code.
In a stream of email discussions, I learned that Juan’s motivation for returning to active development of his program were for entirely selfish reasons. Ubuntu had just released a new Long Term Support ( LTS ) version. As a result, Juan wanted guayadeque to be compatible with this latest LTS, his desktop/distribution of choice. Devoid from our discussions was any expression of concern on his part for the user base that had been left to its own in his absence.
Our exchanges became rather acrimonious. Now, I could go into detail about his hypocritical accusations towards me about using his GNU licensed work. I could spout at length about the poor code quality of guayadeque with all its C’isms and global static instances of classes. I could also detail of our exchanges leading up to the announced termination of musicqueue. I could talk at end about my attempt to submit a patch to guayadeque only to have Juan dig into the c++ std::map [] operator justifying his argument that it is too “computationally intensive”. However, documenting the mental anguish and foolishness just isn’t worth the electrons for this post.
Short story - selfish and inconsiderate behaviour would be my take on the whole affair. Now, how best to move on…
As I stated to Juan, I wasn’t going to have musicqueue compete with his project. I forked guayadeque as I thought it had been abandoned. I thought it unfair to the user base at large to have broken code that once worked but was not being maintained. I thought people were spending too much time fixing program bugs and existing library incompatibilities by continually patching the last available 2014 source release. So I stepped up to try and help…
…and now I can step away.
I am extremely grateful to others for their input, suggestions, and most importantly, their time in testing musicqueue. However, this situation has left me feeling quite gutted. I was coding to help not only myself but the community at large. I believe the harshness and idiocy thrown back at me was inappropriate.
When I posted the termination announcement to a couple of Google+ communities, I got a some insightful replies. One person pointed out that my efforts were commendable as I tried to keep going what seemed a dead project. Another person suggested that I should just keep working on the musicqueue fork. Food for thought to me.
If anything, the last couple of weeks to decompress and move on have made clear what I shouldn’t do. Given the responses I received, I won’t be contributing to guayadeque.
One thing I did notice was my reaction when a change was published to the guayadeque code base. I became agitated and resentful. All I saw were the problems with the code and frustration at having to reverse-engineer what the changes, if the code could be compiled, were trying to achieve. Given the litany of problems with the code base and the poor design maybe I should step away from maintaining a fork.
However, now that I have seen what is possible, I certainly will not be excluding the idea of a new Linux music organizer and player written from scratch. I’ll have to think on this some more, but I am happier when I’m elbows deep in code.