Hi Guys and Gals,

I just wanted to chime into this thread since the discussion is quite lively right now. Obviously not being a commiter on the project directly I don't really have a leg to stand on from a developer perspective, but I do come from a user perspective having worked through various issues with using Geronimo over the past year, and have been writing what I find for the community to learn from.

Development sure has slowed down recently. That's true. But, on the other hand, I have been able to check out the source tree and build it every single time I've tried lately. That is important to me when I'm trying to get some work done. But of course there's other ways to achieve this stability. For instance, an unstable and stable branch structure could cause the same stability for those of us in the community trying to get some work done. You folks in the developer community work on the trunk, and migrate fixes over to the stable branch, promoting the unstable branch to stable periodically. The problem with that approach is that it takes a lot of time to migrate fixes to the stable branch, and sometimes with large enough changes, it's next to impossible not to destabilize the stable branch.

From my point of view I feel that slowing down the development at this point needs to be carefully balanced with the implementation of the Java EE 5 functionality. It would seem prudent to me, keeping in mind I have no real voice in your developer community, that two things need to be done. Keep part of the Geronimo tree stable for those of us who need to work with this stuff, while at the same time take the leash off those developers that feel the need to implement the Java EE 5 functionality, providing them a place where they can build out the new functionality as fast as possible with less restriction. In my opinion that is the most important thing for moving application servers into the future.

The fact that it took me over a week (of evenings) to write out a little J2EE application that had 1 CMP bean, 1 Session bean, 1 MDB bean, and a simple list based Add, Modify, Delete Struts application says something to me. Much of the time was trying to figure out what was going on between the EJB and Web containers (what JNDI names were valid and so on), trying to figure out what my deployment descriptors and deployment plans should say, and how to hook up my MDB bean to a GBean timer thread that would pulse the message queue periodically. The rest was all standard boilerplate code. Much of that will dissapear in a Java EE 5 world. It makes me yearn for next summer when Geronimo would have had those features too (or still may).

With this 'new' (I use the word 'new' mostly in ignorance, for it may not be so) development process that has been imposed I feel that goal will be unattainable. I realize there is a lot of full-time developer horsepower behind the Glassfish project at Sun, but it's there for people to try out now, and people will: it's a big draw for developers. I also want to begin using Java EE 5, and would like that learning to be done on a Geronimo platform because I agree more with the licensing philosophy you have. Wrapping up the project in a red-tape effort to produce stability at this point may be a mistake (I am trying to be generous with my assessments even though I think it will have more dire consequences than I'm letting on).

I've likely already said too much. In summary, I'll say: Stability is good, put it on a stable branch. Then let the unstable development happen more freely (perhaps a single +1 to allow commits, without a patch review to at least have people state their intents publicly, but not have such a delay as 'must be a patch' and have three +1s). But for the stable branch, the 'must be a patch' and have 3 +1s would be the only way.

Cheers.

-Neal

Dain Sundstrom wrote:
Ken, I think you have a faulty assumption that this project cares about what you call "tested quality". I for one am fine with changes that haven't been tested to the level you are demanding from this project. Personally, I'd like to see less perfect software that people want to use, other than perfect software that is so functionally incomplete that no one will uses it.

If the community agrees with me, is there anything we can do to change your process or are we just stuck with it?

Reply via email to