On Thu, Nov 13, 2008 at 11:20 AM, Simon Laws <[EMAIL PROTECTED]>wrote:
> Hi Raymond > > Thinking about two phases sounds right. Creating the basis for future > development and then exploiting it. Comments in line. > > Simon > > snip... >> >> >> Stage 1: Foundation under Construction >> >> Community expectations >> - Focus on cleaning up the core areas (such as assembly model, >> contribution, core, core-spi, and implementation-java). >> - Good amount of refactoring may occur >> - Not ready for adding new functional features before the core is settled. >> Don't rush to bring it up to the same functionalities as 1.x. >> - Code will be unstable and/or broken for a couple of weeks >> >> >> 1. Start from empty trunk (after the current trunk is branched off to 1.x) >> * This gives us the opportunity to start from fresh without being >> contaminated by what we have in 1.x. > > > I would probably say that this gives us an opportunity to improve what we > have in 1,x ;-) > > >> >> 2. Establish processes in the project to keep the code of the foundation >> clean, simple and interesting to work with. >> * Some guidelines for package visibility, cross module dependencies, SPI >> principles >> * We are producing a guide to help develop Tuscany modules with OSGi >> - >> http://cwiki.apache.org/confluence/display/TUSCANY/OSGi+Aware+Programming+in+Tuscany >> > > Agreed. If you have some of these in mind already from the equinox branch I > would like to see them documented. I would also say there there are plenty > of existing "patterns" and "processes" that we should add to the list from > 1.x that are embodied in the Tuscany code base but which are not documented. > E.g. provider pattern, separation of model from runtime, model > relationships, runtime creation pattern(although I hope we change this last > one), > > >> >> 3. Get the right set of tools from sca-equinox branch to help us enforce >> and maintain modularity with clean SPIs. >> * We already have a fairly good developer story in sca-equinox branch: >> - Leverage Eclipse PDE to develop Tuscany modules as OSGi bundles >> - Adopt Eclipse JDT compiler with OSGi bundle resolution in maven build > > > Does this approach mandate these tools or are they optional? > > >> >> >> 4. Copy modules from sca-equinox branch into trunk >> * Most of the modules in sca-equinox branch has been converted into OSGi >> bundles >> * We have fixed the access violations reported by PDE OSGi validation >> * Some level of clean-ups have been done >> * No functional deviations from the modules in the current trunk (1.x) > > > I personally don't mind using the modules that from the branch as a > starting point however one of my objectives here would be to make sure > everyone is on board and feels able to contribute to the future development. > I would propose the following > > - Have the minimum set of modules only in trunk to start with. This allows > us to focus, without distraction, on what changes are really required and > also gives us the opportunity to think about how these modules should be > (re)structured. > - Have a detailed explanation of how these modules differ from those in 1.x > so that those of us who haven't been intimately involved in the equinox work > can be brought up to speed with what changes were made and why. > - Review this minimum set of modules in for the various issues from the > "themes" thread that we think need to come in stage 1. > - Once done we are ready to move to stage 2 with a set of bet practice in > place. > > I agree with making sure everyone is on board and feels able to contribute to the future development, and that there is no feeling of control or ownership. So, if it was an ideal world my preference would be to start with the minimum modules being from the existing trunk and then do small discrete changes to merge changes from the sca-equinox branch with clear explanations so its really easy for everyone to see what changes are being made. ...ant
