On 9/20/07, Filip Hanik - Dev Lists <[EMAIL PROTECTED]> wrote: > well, we have the annotation changes needed for geronimo, that were not > allowed in 6.0 > personally, I think that was enough to keep trunk alive. > Let's say that I did have a huge architecture change, lets say, I want > to swap out ByteChunk/CharChunk for ByteBuffer/CharBuffer and also use > nio charset conversion, > then doing that in trunk is not so appropriate either. So I will do that > in sandbox, the right place for an experiment like that. Maybe it turns > out that it worked perfectly, and we want to put that into Tomcat, we > can't put it in 6.0, that would be insane, and we don't have a trunk, so > where do we put it?
For ByteChunk -> NIO - it's clearly an API chnge, so according to the new proposal ( that seems to have a large enough majority and got clarified in many ways - probably can be put to a formal vote ): RTC. If a majority ( at least 3 +1, more +1 than -1 ) think this should be done - we can discuss if this is big enough to move from 6.0 to 6.5 ( I think it is - because will change a lot of APIs ), or if there are way to keep the old API working alongside with a new one ( backward compatibiliy is quite important ). Alternative answer: since the connector interface is heavily using ByteChunk, you may start it as a separate package from coyote ( nio-coyote ? ), add hook points so you can use nio-coyote connectors at the same time with coyote ones. Most of the work can be CTR, in 6.0 ( maybe a 'modules/' directory ). I'm not sure if this is technically feasible due to deps - but if I a vote comes up, I would vote for a proposal that preserves backward compat, and -1 if all existing connectors need to be rewritten. For the others - again, you have the choice to implement them as a plugin, CTR. If it needs API/core changes - those need to be RTC and get majority. IMO if you want it done - minimizing API changes and doing most of the work in a component has bigger chances, but it's your proposal :-) In all cases - it's a simple vote to decide if an API change or core features gets in using RTC rules. And it's also a simple vote to move from 6.0 to 6.5 ( and freeze 6.0 - all new code/changes will go to 6.5 ). Removing trunk, pretty much halted any chances for future innovation, as > approved sandbox experiments have nowhere to go. 6.0 is really the place where active development on tomcat should happen until a 6.5 proposal is passed, so that's the real trunk ( no matter how it's called ). The only issue is that "innovation" that affects API or core should be RTC - i.e. requires more than one person making arbitrary changes ( that may be valid and good - but as with any API change should be more controlled and have more support than a simple 'it works' ) And again - it's a simple vote to go either way, no need to fight or take it personally - every person has a different (and valid) opinion and may want to do things his (better) way, but needs to give up a bit for the sake of the others. Costin