All, A great time was had at JavaOne, including a variety of Geronimo-related meetings, hacking time in the W and Moscone, a BOF, a party, etc. Here are some thoughts I put together based on the bits I was involved with, which I think we'd all like to run by everyone who couldn't be there.
Also, here are the slides from the Geronimo BOF, that talk a bit about the various releases: http://people.apache.org/~ammulder/geronimo-javaone2006.pdf Thanks, Aaron Ebay announced in a BOF that they are deploying their site on WebSphere CE (Geronimo)!!! Yeah, let's talk about acalability... :) Vendor Support - Many vendors are supporting Geronimo, including: - 24x7 support - services - building applications on Geronimo - building/supporting software stacks including Geronimo 1.1/1.2 Merge - Major things changed in 1.2: OpenEJB refactoring, JavaMail providers, initial Maven 2 build script, ActiveMQ 3->4, dynamic EJB queries - Still, not that much compared to 1.1 - We plan for the process to be 1) move 1.2 to branches/1.2-pre 2) copy 1.1 to trunk 3) maintain 1.1 in current 1.1 branch 4) merge changes from branches/1.2-pre to trunk 5) eventually whack branches/1.2-pre perhaps Release Schedule - 1.0 took too long to arrive (since founding) and 1.1 took too long to arrive (since 1.0) - We need to avoid TCK breakage and do a better job of incremental change - Some people advocate time-based releases (2/3/4 months) - Some people would like to see XBean releases more often, outside the Geronimo release schedule - Vendors don't like the uncertainty about release dates; most are still targeting 1.0 because it's here and there's no guarantee when 1.1 will actually arrive - Overall, there seems to be interest in targeting a 3-month release schedule for 1.2 (2 months active development and 1 month stabilization) - Proposal to target 4 features releases per year with incremental features available via plugins Jira Process - lots of open Jiras - estimate we have closed 250 for 1.1, and have 500 currently open - may need to clean up some old/stale issues - Jira never reflects how close we are to a release - Many Jiras go unnoticed - There's not a good way to have a personal work/priority list separate from the project release/priority list - Might be good to have 3 Jira "releases": current release, next release, everything else - Might be helpful to have someone take responsibility for evaluating all incoming Jiras for a period of time (1-4 weeks?) and rotate that responsibility - Maybe could add custom fiuelds to help us manage it Java SE 5 - We can develop on Java 5 and support 1.4.2 via Retrotranslator - It supports most of Java 5, with some caveats regarding Serialization and new classes added outside of Collections (some SSL-related stuff, etc.) - Running on 1.4 with Retrotranslator causes a startup penalty of ~20% (but shouldn't have much effect after startup, when all the classes are loaded) - Running on 1.5 speeds startup by 20% and should have benefits after startup too - Dain will try a more extensive test and make sure everything works for us - Yoko is making good progress. Some holes (e.g. SSL) but we can probably start integrating and may have this for 1.2 (Rick will work on this) Java EE 5 - OpenJPA code is only partially available; more expected soon - Should be able to implement a JPA factory that lets us give access to installed JPA implementations - Should be able to get web features from Jetty 6 - Should be able to get JAX-WS from XFire/Celtix - Don't have an immediate plan for EJB3 (outside of JPA), though Spring reportedly has working code we could leverage - Should be easy to get initial EE 5 features in 1.2, may not have full support, but this is enough for people to play with Candidate Features for Future Releases - Console portlets can be added at runtime - OpenEJB 2.x revisions - Initial XBean-style features - Don't require GBeanInfo for GBeans - Integrate XBean reflect to support factory beans, nested complex objects, etc. - Designate startup methods instead of requiring interface - Full XBean Integration - Monitoring / Statistics - DConfigBeans - Improved JMX+SNMP - Pluggable JACC (Acegi, LDAP, etc.) - Start Levels - ActiveIO - IBM AIO??? - Workflow via BeanFlow - Global JNDI - XDoclet - Startup Wrapper - Upgrade on the fly - Security Rewrite - 1-click to disable unused services - Separate App/Server ClassLoaders - Spring Deployment - Improve Hot Deployment - Integrate (plugins, etc.) - XFire - OpenJPA - OpenEJB 3 - Jetty 6 - Yoko - LiveTribe - JetSpeed - Clustering - DAG ClassLoader - Maven 2 - Parallel Startup - Windows/UNIX Service - Performance - No Proxies - Console manage multiple servers - Provisioning via agents - Lingo - Map apps to ports - Eliminate XML namespaces - Telnet / GShell - GShell - Purpose-built XMLs - JPA factory support (app-managed, not CMP) Possible theme for 1.2: Community Requests - Java 5 support - Java EE 5 support (initial) - Global JNDI tree - Separate app & server class loaders - More documentation People's personal plans for 1.2 - Everyone: Check outstanding 1.2 patches, docs - Dain: New OpenEJB 3, **3 XBean Pre-Features (incl No Proxy), Java 5 / Retrotranslator - Rick: Yoko, JavaMail - Jason Dillon: Maven 2, GShell, Windows Scripts - David B: JPA Plugin, help with XFire - Kevan: App/Server Classloader, DAG ClassLoader - Aaron: **Console Dynamic Portlets, DConfigBeans, 1-click disable services, Spring Deployments - David J: **Global JNDI, **Pluggable JACC, Maybe JetSpeed Plugin, Maven 2 Plugins, Jetty 6 - Matt: **Monitoring & Statistics, Performance (SpecJAppServer), AIO donation - Erin: Console plugins, JIRAs, Hot Deploy - Jan: Jetty 6 - Dan: XFire - Hiram: ActiveIO - Would like someone for: Clustering, XDoclet, IntelliJ - Jeff has some working clustering code, hopefully will show up (at least in the sandbox?) ASAP - Unclaimed: - Full JPA - Parallel Startup - Console Multiple Servers - Provisioning / Agents - Lingo - Map apps to ports - OpenEJB 3 - Eliminate XML NS - Purpose-built XMLs - Full XBean Merge - Improved JMX+SNMP - Start Levels - Workflow / BeanFlow - Bootstrap startup & Upgrade on the fly - Security Rewrite - GShell