Skip to topic | Skip to bottom
Home
Lily
Lily.MatureProjectStagnationr1.4 - 25 Dec 2003 - 22:54 - GaranceDrosehntopic end

Start of topic | Skip to actions
Some thoughts on why lily development is such a painful thing for everyone.

-lily-dev;I thought I sort of addressed this. Talking about features just gets
depressing after months of having no volunteers. Volunteers get tired of
suggesting features when no one does anything with them. Frustration ensues.

See also a recent post to the lilyCore-dev list.

-- CoKe - 06 Aug 2003

I think the 99% of the problem boils down to the fact that it's so hard to have multiple development branches of lily, and the merge results back together. I recently stepped into the breach as "lead server developer", just because everyone was getting so frustrated due to the lack of server changes.

What immediately happened is everyone everywhere wanted to tell me about interesting things they observed, or features that they thought lily should have. Like I had to write all the code. Like I wasn't already spending 20 hours per weekend trying to merge lily changes which were ALREADY WRITTEN. No, that wasn't important -- it was so much more important to rant about some unrelated area of lily server development. And if I didn't immediately address that topic, then I was "blocking them" or "discouraging them" or some other evil-sounding thing. Here I was working 20-30 hours per week on the server, and I was getting a bunch of crap for being uncooperative. This completely pissed me off.

Why does that happen? Because the RPI lily server is seen as the only "real server", particularly for client developers. So, if some change does not happen on RPI's server, then the change is pretty much useless for the client developer. The same thing is true for regular lily users (non-developers): if the change does not happen at RPI, then it does not matter where it did happen.

This also means that any time serious development does start happening on the RPI server, then "you" (any other developer) are going to be very keen on getting your changes into that development. If you don't, then the server will change so much that you will basically have to start over and completely re-write whatever you wrote. So, there's almost no point in doing any development unless you know you can get it into RPI's server right away. I ran into this even trying to merge 'cr7' into the RPI core. There were some improvements where I had to first take the 'cr4' core and merge that, before I could figure out how to merge things from the 'cr7' code. There was too much of a jump between 'cr1' and 'cr7' for me to figure out how to merge all of it into RPI's core at once. And cr1 through cr7 were a direct line of changes, they weren't completely separate branches of code coming from different developers.

My hope is that if we can get to some kind of CVS-tracked development model, then these serious headaches will become much less of an issue, and everyone will be happier.

-- GaranceDrosehn - 06 Aug 2003

Note that my main point is that everyone's frustration levels have almost nothing to do with lily being a "Mature Project", and everything to do with getting LilyInCvs. There are a huge number of interesting improvements that various people have for lily, so it is a long way from being "mature". No one is completely happy with how lily presently works, it's just that we would rather "live with it" than try to run the hurdles of making server changes.

Mind you, some of those changes are things that we will fight over simply because different people have different opinions -- but there are also a lot of good ideas which we mostly agree on, but still never get to, simply because it's too much of a hassle.

IMO...

-- GaranceDrosehn - 06 Aug 2003

As someone who would contribute if he could, I believe Garance has hit the nail on the head. I made the 2.6.4-cr releases with the hope that they might be rolled into RPI and a 2.8.0 release. I kept making changes but neither desired event occured. Eventually, I just gave up and moved on to other projects. If it was easier to get code into a central repository and easier to update RPI, then I can say for certain that I would make more contributions again. I also suspect there are others who might tinker if they could, but since they cannot now they don't.

-- ChristianRatliff - 07 Aug 2003

Well, I have been putting a lot of time into lily-server development over the past week or two, and based on that I am very certain that we have not reached the state of "mature project stagnation". I am thinking of new features and finding bugs to fix faster than I can write code. Once you get over the initial hurdle of creating a good environment to develop and test changes in, there are at least a thousand changes that would be interesting, fun, and/or helpful to do.

Mind you, that just gets discouraging, as you can't even hope to type fast enough to get everything done that you'd like to do! After working for two weeks on this, my personal to-do list is longer than when I started ---and several things added to that list are very interesting ideas. My present flurry of activity has mainly been just to "get 2.8.0 out the door", and this is also during a busy holiday season. So I've been lucky in that most users have left me alone except to report bugs in whatever I've changed, and yet I still can't keep up with the growing list of interesting ideas.

"Mature Project" - bah humbug. We have a pretty reliable, "good-enough" service, but we haven't run out of things we could do. What we have is a surplus of ideas, a lack of time, and no good way to merge separate development branches.

-- GaranceDrosehn - 25 Dec 2003
to top


You are here: Lily > DeveloperGuide > MatureProjectStagnation

to top

Copyright © 1999-2009 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding this site? Contact Christopher Masto <chris@masto.com>.