Project planning/Roadmap
acoliver Aug 5, 2005 2:01 AMSo I'm not a huge believer in "project mangement" in the tradtional sense or the fancy roadmaps. However, I'm trying to just work out goals for the 1.0 release to ensure we're working on the must haves for an enterprise grade mail server.
I'd like some feedback. This isn't to say that we won't do any of the things I've kicked out of the 1.0 release, but since 1.0 has a tentative release date of say March or so. One must prioritize. Moreover its important we aim for a production release as soon as feasible. Its important for every project of course.
Please take a look at the roadmap:
http://jira.jboss.com/jira/browse/JBMAIL
Meanwhile here are a few decisions I made in the interest of time that I view as more controversial:
1. No NIO until the 2.0 release: http://jira.jboss.com/jira/browse/JBMAIL-94 - while this probably limits the "per instance" or "per server" scale of the 1.0 release, it probably increases our performance on some platforms and reduces complexity dramatically. I do think NIO is a good idea and that not dedicating a thread per connection is a good idea (and proven more or less by the tomcat clan), I think we can achieve adequate performance and scale for 1.0 without it. I suspect we can make bigger gains in the area of datastore management and memory tradeoffs than this. Moreover, I think we'll be best to wait until underlying OS support for this and JVM support for this is more mature accross all platforms.
2. No "over HTTP" protocol stuff until the 2.0 release: http://jira.jboss.com/jira/browse/JBMAIL-42 - While Exchange 2003 actually has something like this as well and I think it is a good idea, its not a widely used thing now. Its something that will take time to do and probably won't be used widely anyhow. It does mean that we won't have as great of support for organizations with peculiar firewall rules (port 80 is holy and nothing bad can happen there right?), I don't think it limits us enough to make it worth our while for 2.0.
3. Exchange protocol port pushed to 2.0. We have a lot of road to travel and this will be a big effort. Its more than one protocol but several things that have to be matched. The active directory stuff alone will take time. Next, it requires a software investment which means it probably is a "rich committers" and "employee-only" effort. I think once the project is more widespread we can probably get shared resources for things like this, but right now I don't think it is feasible. Sadly its the thing I most want to do!
4. Aggregate message store stuff pushed to M5: http://jira.jboss.com/jira/browse/JBMAIL-37 - There is a lot of stuff in M4 and I want to get our milestones happening regularly again. I have only budgeted 1 month for M4 (pretty ambitious since I do have a week's trip to Japan in there). There might be some slippage but I'd rather move features to M5 than miss the date now.
5. Basic IMAP for M4. I just mean like list command and maybe get a mail or two from tbird. Its probable that this will neither be a complete or workable implementation, just some basic support for Tbird's imap.
There are a number of things I haven't detailed out yet:
http://jira.jboss.com/jira/browse/JBMAIL-65
These will mostly be aimed at M6+. I need to research them more heavily. It would also be helpful if experienced people and potential/existing users sounded off in those areas. Please distinguish between "nice to have" "must have" and "Must have for 1.0".