22 Jun 2012 11:56
DevC response to [GOP2-0] Why are we losing developers?
Colin Hall <colinghall <at> gmail.com>
2012-06-22 09:56:31 GMT
2012-06-22 09:56:31 GMT
To explain my "problematic reasons" for contributing less, I'm first going to look at how I felt lilypond development was a few years ago. There was a feeling of teamwork, where every aspect of development had somebody taking care of it. Person 32 wrote GUB and handled problems in it. Person 14 made releases, but he was a fantastic developer and could fix any release problems (or at least discuss them very intelligently with person 32). Person 77 helped the translators, re-wrote parts of the build system to assist them, and fixed any problems in the build system. Person 39 worked on documentation, recruited new doc contributors, and took care of any problems the new contributors had -- he even took complete care of git by emailing documents to contributors, then generating his own diffs (and git commits) from the edited documents that the contributors sent back. But now, with the possible exception of the Bug Squad, there doesn't seem to be that feeling of people taking care of areas. Person 34 is making releases but he seems totally uninterested in fixing any problems with the builds, so he just rejects or discourages any possible changes to the build system in case something goes wrong. The old website is still online. Worse, the old website is still the first hit on google, so some people interested in lilypond are still seeing news about 12.3. Will that ever get fixed? It seems that nobody is saying "yes, I want this to be done, so I will take responsibility for getting it done". There's a similar problem with trying to recruit new contributors. Person 41 says "hey guys, it's easy to help! here's a link to get you started", then person 15 immediately says "no wait, it's too hard. Don't get involved unless somebody will help you". And then person 15 and 94 start arguing about something else, so even if somebody still wanted to help out, the argument would drive them away anyway. But just like the website problem, it seems that nobody is saying "yes, we should have new contributors, so I will help 1 person get involved and take responsibility for giving that 1 person a fair chance to contribute". The arguments are another problem that lessens the feeling of teamwork. We should be able to "agree to disagree" -- namely, politely state our opinions and any evidence to support them, read other people's opinions and evidence, and compare the two. Even if there is no consensus, we should still appreciate that the other people are trying to make lilypond better. I don't feel that we've had polite disagreements in all cases, such as the recent argument about s1*0 vs. <>. The last "teamwork" problem is the amount of "monetization" going on. I didn't join lilypond to help other people make money off it. I don't have any good suggestions for this, but the question asked if I was contributing less and this is one reason. Having some people making money and others not makes it feel like less of a "team". There's three more problems not related a feeling (or not) of "teamwork". The first is the ridiculous number of release candidates and stable releases taking more than half a year to get out. It's hard to get excited about lilypond development while the stable release is dragging on like that. The second problem is the sheer amount of open issues. These range from programming graphical collisions, to build problems, to documentation errors, to useful things like "make a list of places to send release announcements". Most people (including myself) like to work on new things, so the known problems just keep on piling up. There isn't really anything that can be done about the number of issues, but it's still a bit demoralizing. The third reason is the patch-handling setup. There have been a few times that some documentation needed a little edit or tweak here or there, but I just couldn't be bothered to make a new branch, do the edit, upload to rietveld, wait a few days, then push that branch to staging. So instead I've just been sending issue reports even though I could easily fix them myself if I was motivated. I know that there was good reasons for the whole staging and countdown thing, and it's much nicer now that git master doesn't break, but this is another reason I haven't been doing as much recently. DevC -- -- Colin Hall