Re: JAMES v2.4 Road Map (Status Update)

2006-10-27 Thread Jürgen Hoffmann
Hi Bernd,

this is *the best* Mail I read on this thread !!!

Kind regards

Juergen

Bernd Fondermann schrieb:
 Hi guys,
 
 so much words again for so few information, and not always fun to read.
 
 anyway, a few very short takes from me to let you know what my
 preferences are:
 
 Working on trunk towards 3.0: +1
 Supporting old configuration in future versions: +1
 Working on 2.4 by backporting stuff: +0
 
 Using misleading mail subjects: -1
 Using CAPS-LOCK when writing mail: -1
 
  Bernd
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 !EXCUBATOR:1,454051c953079300313603!

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Re: JAMES v2.4 Road Map (Status Update)

2006-10-26 Thread Bernd Fondermann

Hi guys,

so much words again for so few information, and not always fun to read.

anyway, a few very short takes from me to let you know what my preferences are:

Working on trunk towards 3.0: +1
Supporting old configuration in future versions: +1
Working on 2.4 by backporting stuff: +0

Using misleading mail subjects: -1
Using CAPS-LOCK when writing mail: -1

 Bernd

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: JAMES v2.4 Road Map (Status Update)

2006-10-26 Thread Noel J. Bergman
Stefano wrote:
 Noel wrote:
 Stefano Bagnara wrote:
 I don't agree with your version numbers, but if you can read my message
 you will find that I never talked about 2.4 or 3.0
 See the subject header.
 Then now that I explained you that it was not related to 2.4 you can
 read it again and give your real reply.

Yes, that makes a very big difference.  More later, but yes, this makes a
very big difference now that we are closer to being on the same page.

--- Noel



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map (Status Update) Switched to PMC

2006-10-26 Thread Bernd Fondermann

Thanks for sending this, Steve, really! I very heartfully agree with you.

This is a mail for printing out and double-checking everytime before
hitting the send button.

Thanks again!

 Bernd

On 10/25/06, Steve Brewin [EMAIL PROTECTED] wrote:

Hi,

I stumbled across this unsent message in my drafts. I had decided not to
send it, but in the light of current server-dev discussions I've changed my
mind (obviously). The original context was Version numbers (Was: LONG JAMES
v2.4 Road Map). I'm sending this to the PMC as I don't think it good to air
these issues publicly on server-dev and its for the PMC to resolve.

---

/snipped

'cos I don't want anyone to feel I'm aiming at them in person. I think we
all should review how we are discussing and proceeding. Compared to other
ASF lists we don't convey a good impression (IMHO).

Like good wine, discussions need time to breathe.

Instead of rapidly firing point and counterpoint its sometimes better to
wait for everyone to air their views before responding. Diving straight in
often leads to more confusion than illumination.

While the intent is to arrive at a conclusion, often the reverse happens.
Discussions are unneccesarily extended leaving less time to get the real
work done.

Once a position has been stated, taking time to view, absorb and understand
all of the different points of view and then assembling a coherent response
offering a positive way forward before adding to the discussion is often the
best way to go.

While I understand the need to maintain momentum, constantly putting issues
to a time constrained vote disenfranchises the time constrained. It also
leaves me, and perhaps others, feeling forced into making micro-choices
which ignore macro-issues, edging us along a roadmap which, ironically, I
have never voted on. There is the illusion of democracy, but often I feel
like a vegetarian being asked how I would like my beef steak cooked.

-- Steve

Not dead, just not voting :)

---

James is a community. Some are more active than others right now. Some have
deeper and longer experience. Some have been elected by their peers to be
members of the PMC. This confers both greater powers and greater
responsibility. We should use the former wisely and always remember the
latter. Those of us with longer experience know that the kind of flame wars
we are starting to see develop amongst PMC members here most often have
unhappy outcomes. Let's not go there.

Can we all take a step back and find a way through this? A moderator
perhaps?

Cheers

-- Steve









-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map (Status Update)

2006-10-26 Thread Norman Maurer
Noel J. Bergman schrieb:
 Steve Brewin wrote:

   
 Norman wrote:
 

   
 Vincenzo Gianferrari Pini wrote:
   

   
 On 10/24/06, Stefano Bagnara [EMAIL PROTECTED] wrote:
   

   
 I've added this point because Noel and Vincenzo brought
 this as animportant point in the 2.4 roadmap discussion.
 I personally don't care of config.xml compatibility: I was just
 reporting what I understood was important (and feasible)
 to the PMC.
 

   
 We just stressed the fact that life must be kept as much
 as possible easy for users when upgrading to new release,
 otherwise they may stay behind. Regarding configurations,
 this goal can be achieved either keeping as much as possible
 backward compatibility for existing features, either providing
 (safe and thoroughly tested) conversion tools. But we have to
 be aware that slowly adding small configuration
 incompatibilities can sum up to require complex conversion
 tools, that nobody would develop and would become a bottleneck
 when releasing a new version.
 

   
 Thats right but with no new features we will loose users and not get
 new.
   

 We have never said NO NEW FEATURES.  STOP SPREADING A FALSE MEME!
   
Sorry man... but is your CAPS key maybe broken... You don't need to use
the CAPS key if you want me to read the text... So stop frontin! Such
things make me really angry.
 For JAMES v2.4, the changes should be compatible.  For JAMES v3, they can be
 incompatible.  We all agreed on that when we met at ApacheCon.  And we can
 deliver both in parallel.  I would expect most work from most of us to focus
 on JAMES v3, and if we don't want to backport something, then it doesn't get
 backported.

   
 I think we just need to document what to change in config.xml.
   

 Not good enough.  That doesn't address that overtime, these incremental
 changes could add up to a lot of require changes to migrate.
   
Sure it can .. but sometimes it is impossible to keep the config
compatiblilty.. and have a clear UPGRADING.txt in the release will
hopefully help the users. Thats was other projects also do.
   
 Absolutely. This is why in my commercial endeavours we consider the
 
 upgrade
   
 code to be a vital part of the core product and subject to the same
 
 testing
   
 regime as all other code. It isn't an after thought, its a selling point.
 Something that allows our customers to easily buy into new versions, which
 earns us revenue, which keeps me in a job. While James doesn't have the
 
 same
   
 commercial drivers, we will lose users and kudos if we do not provide a
 smooth migration path between releases.
 

 Exactly.

   --- Noel
   

bye
Norman




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map (Status Update)

2006-10-26 Thread Danny Angus

Norman,

(I seem to have missed alot of mail, and got it all in one batch!)

I've replied about vhosting in a new thread,


I think the most problems of people are that they fear to break
james.. But why we should fear with new junit tests :-P


This is true, but it is also true that some proposals take longer and
have more impact, its not *just* about breaking James, but also about
blocking the project.
We have had some bad blocks in the past.



 I think I will propose the use of the status file, and we can see what
 we think once we've tried it, unless it gets shot down by the veto
 brigade ;-).
Go ahead


Ok :-)

d.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map (Status Update)

2006-10-26 Thread Stefano Bagnara

Noel J. Bergman wrote:

All I want is some discipline about what goes into a release, and then I'll
be a happy camper again.  Stop telling me about releasing trunk, and start
talking about how we'll put together a safe, stable, reliable distribution
with all of the new features we want, and my doctor (who measures my blood
pressure) will be a much happier man.


I think I will use again the terms release from trunk, release based 
on trunk, based on branch 2.3 or something similar. I always used 
that terms and I will use this again. I can try being more specific 
every time, but now you know that when I say releasing from trunk I 
don't mean tag trunk one random day and make an official release but I 
mean branch trunk at a decided day, start consolidation on the branch.



Trunk is not consistent quality.  I just want to hear that we will have some
discipline about what we release.  Today, I wouldn't trust trunk to pass gas
much less handle my e-mail.  But whatever we pull from trunk to make the
next major release WILL be stable and reliable before we release it.


I have a lot of confidence in what we have currently in trunk: Norman is 
already using it on a live site, and I'm planning to switch to trunk 
soon (I just wanted to test some day more the 2.3.0 final).


Btw consolidation belongs to the branch: now we should concentrate on 
the features without breaking the whole thing.



These are the issues I raised with Stefano, and he agrees with the concern
about being stable and safe.  When he talks about releasing from trunk, it
is a language issue.  It means one thing to me, but is another in his mind.
He's much more specific about what he feels should be copied from trunk when
we plan the release, and on those issues we are more in agreement.

To quote him: I want to make it clear that I simply want to refactor James
so that it will be pluggable, and that the default should be backward
compatible.


I want to be sure you've not misunderstood me again:

I talked about refactor James so that it will be pluggable in a long 
context. This is my main goal, but not the only goal for the next-major.


If you want to publish the whole chat we had on skype, feel free to do that.

About being more specific about what I feel should be copied from trunk 
i'm a bit lost. My proposed plan is:
- branch trunk on Dec2006/Jan2007 (so everything there by that day will 
be copied in the branch)

- start consolidation of the branch for the release (ETA 2-3 months later)

Consolidation means:
- fixing bugs
- changing default configurations
- ensure we have the best backward compatibility
- if needed disable portion of code we decide are not ready to be 
released (e.g: IMAP)


If you have problems with a specific feature being included in trunk or 
you have problem with a specific commit please let's talk about it, but 
I don't want to start a commit-by-commit discussion to decide what to 
bring in the release: and this is the sense of the release based on 
trunk that I described in the currently running vote.



We also talked about discussions.  He wants to know why when he posts so
many e-mails, he gets no reply.  I tried to explain that one e-mail gets
replies, 100 e-mails get none.  When there is so much volume, people feel
that they need to read more, and they don't feel that they have time to
reply to everything at once, so they reply to little if anything.  I
reminded him about Bernd asking him to please try to say things in fewer
words because it was too much to read.  I suggested that we try to pick a
high priority list of things to discuss first, and work through the list
rather than try all things at once.


I don't have a solution to this: we are moving much faster than in the 
last 2 years, and this needs a lot more activity on the list.
It takes me a lot of time to do that, also, but I feel this is my duty 
as PMC member: I don't have a proposal to fix this.
Danny is proposing a status file: let's see if this helps or it will be 
another outdated wiki page.



Going to the specific, I would like to have a next-minor with some
fast-fail features there (like jspf and other filters) plus other minor
things


Agreed.  And I want to incorporate Norman's patch for per-IP connection
limiting.


Until now everyone voted +0 to next-minor and everyone +1 to 
next-major. If you still believe in a next-minor please make it more 
clear what you will include and maybe you will find more supporters.


Stefano


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map (Status Update)

2006-10-26 Thread Stefano Bagnara

Noel J. Bergman wrote:

Stefano and I certainly had a misunderstanding over his intent for
2.4 (the next minor release), due to the subject heading.  If were were in
physical proximity, I'd shake his hand.  We've already apologized for the
misunderstanding, and had a very long chat (each of us missed a meeting or
two to have it).


As I wrote to Noel in IM I think most of the misunderstanding is because
we have this numbers in our minds:

RELEASENOEL STEFANO
next-minor 2.4  n/a (2.4)
next-major n/a (3.0)2.4 (2.5 if next-minor)
next-grater3.0  3.0

I always understood this difference in version numbers we have in our
minds, and that's why I started using next-labels to try to slow down
the flame about numbers. But everytime a number is used again the flame
starts again.

As I said multiple time I believe we can decide the number when we'll be
ready to branch but we should avoid number flames until that day.

In IM I explained Noel that next-major is different from what it
described as 3.0 because I described it as a backward-compatible
(storage+config) release (like his 2.4/next-minor).

The only difference between next-minor and next-major is that next-minor
would include a small set of features selected by trunk and should be
released sooner (Dec2006), while next-major would include all the
features we have in trunk and would have a longer release cycle (Mar2007).

If we also add that the 3.0/v3 number has also been used years ago to
define even something else (in wiki we have mailet-v3 and james-v3 pages
describing things that won't probably be part of next-minor/next-major
release and some other things that maybe we already included in 2.3) it
is much more clear why numbers are creating the hell here.

I know that next-* is not a solution to our problems, but I don't have a
better solution to this: if anyone has a better way I can only be happy
for this.

That said once the roadmap vote will be closed I'll try to make a wiki
page/status file/ml message/jira version to describe what we have in
trunk, what I think must be included in next-major, what I think could
be included, what I think cannot be included. And I hope we can find an
agreement on next-major without too much discussion.

Stefano



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: JAMES v2.4 Road Map (Status Update)

2006-10-25 Thread Noel J. Bergman
 Slightly more than a month ago I wrote a roadmap, here is an update for
 people that has not time for a day to day oversight.

And I disagreed with you then, and so did others, and I am really getting
tired of decision by message volume.  I don't believe that I am alone in
that sentiment.

Trunk should be JAMES v3.0.  No major concerns at the moment to discuss.
JAMES v2.4 should be incremental changes to the newly released JAMES v2.3.
We can even release concurrently, supporting JAMES v2 and JAMES v3 for as
long as we need the need.

Ironically, to comment on an old claim, most of what I want to work on is
for JAMES v3, but we still need to support our existing user base.

--- Noel



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: JAMES v2.4 Road Map (Status Update)

2006-10-25 Thread Noel J. Bergman
Steve Brewin wrote:

 Norman wrote:

 Vincenzo Gianferrari Pini wrote:

  On 10/24/06, Stefano Bagnara [EMAIL PROTECTED] wrote:

  I've added this point because Noel and Vincenzo brought
  this as animportant point in the 2.4 roadmap discussion.
  I personally don't care of config.xml compatibility: I was just
  reporting what I understood was important (and feasible)
  to the PMC.

  We just stressed the fact that life must be kept as much
  as possible easy for users when upgrading to new release,
  otherwise they may stay behind. Regarding configurations,
  this goal can be achieved either keeping as much as possible
  backward compatibility for existing features, either providing
  (safe and thoroughly tested) conversion tools. But we have to
  be aware that slowly adding small configuration
  incompatibilities can sum up to require complex conversion
  tools, that nobody would develop and would become a bottleneck
  when releasing a new version.

  Thats right but with no new features we will loose users and not get
  new.

We have never said NO NEW FEATURES.  STOP SPREADING A FALSE MEME!

For JAMES v2.4, the changes should be compatible.  For JAMES v3, they can be
incompatible.  We all agreed on that when we met at ApacheCon.  And we can
deliver both in parallel.  I would expect most work from most of us to focus
on JAMES v3, and if we don't want to backport something, then it doesn't get
backported.

  I think we just need to document what to change in config.xml.

Not good enough.  That doesn't address that overtime, these incremental
changes could add up to a lot of require changes to migrate.

 Absolutely. This is why in my commercial endeavours we consider the
upgrade
 code to be a vital part of the core product and subject to the same
testing
 regime as all other code. It isn't an after thought, its a selling point.
 Something that allows our customers to easily buy into new versions, which
 earns us revenue, which keeps me in a job. While James doesn't have the
same
 commercial drivers, we will lose users and kudos if we do not provide a
 smooth migration path between releases.

Exactly.

--- Noel



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map (Status Update)

2006-10-25 Thread Stefano Bagnara

Noel J. Bergman wrote:

Slightly more than a month ago I wrote a roadmap, here is an update for
people that has not time for a day to day oversight.


And I disagreed with you then, and so did others, and I am really getting
tired of decision by message volume.  I don't believe that I am alone in
that sentiment.


I don't know what's the problem with you.
And I don't know the meaning of decision by message volume.

My message was simply a status update on a set of features I proposed 1 
month ago to be included in what I called next-major release. Active 
committers did some progress so I decided to give an update.

I don't understand what exactly you disagree.


Trunk should be JAMES v3.0.  No major concerns at the moment to discuss.
JAMES v2.4 should be incremental changes to the newly released JAMES v2.3.
We can even release concurrently, supporting JAMES v2 and JAMES v3 for as
long as we need the need.


I don't agree with your version numbers, but if you can read my message 
you will find that I never talked about 2.4 or 3.0, I simply updated a 
list of issues I described in a previous post and I left the subject 
unchanged.


I just started a vote to have a better overview on what we can do about 
next-minor and next-major.

We'll vote for the numbers later.


Ironically, to comment on an old claim, most of what I want to work on is
for JAMES v3, but we still need to support our existing user base.

--- Noel


As you proposed the next-minor (branch 2.3 and add backport few 
features from 2.4) please feel free to write the same status update for 
this goal.

I simply did my duties.

Stefano


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map (Status Update)

2006-10-25 Thread Stefano Bagnara

Noel J. Bergman wrote:

My proposal is:
- everything we have in trunk now: now I can't see anything critical
  enough to be removed.



Well, this was already there ;-)


Release planning by fiat?  I think that we would have to be INSANE to
release trunk as JAMES v2.4!


1) This was not a relase planning, it was a status update on what we did.
2) I don't mind being INSANE.
3) I never said we should release trunk as 2.4: I said we should branch 
from trunk the release I called next-major and that we should start 
working on stabilization for a release in the branch.



More to come.  And, no, I am not just reading this now.  I have been reading
it all every day, and getting angrier every day.  Since I don't seem to be
getting less angry about what I am reading, I might as well start replying.

--- Noel


If you're angry for something concrete please write your concern, if 
you're angry because something in my message was unclear give me more 
details and I would be happy to provide more informations. If you're 
angry because you didn't find slaves to work on your personal goals, 
then I can't help with this ;-)


Stefano


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map (Status Update)

2006-10-25 Thread Stefano Bagnara

Noel J. Bergman wrote:

Steve Brewin wrote:


Norman wrote:



Vincenzo Gianferrari Pini wrote:



On 10/24/06, Stefano Bagnara [EMAIL PROTECTED] wrote:



I've added this point because Noel and Vincenzo brought
this as animportant point in the 2.4 roadmap discussion.
I personally don't care of config.xml compatibility: I was just
reporting what I understood was important (and feasible)
to the PMC.



We just stressed the fact that life must be kept as much
as possible easy for users when upgrading to new release,
otherwise they may stay behind. Regarding configurations,
this goal can be achieved either keeping as much as possible
backward compatibility for existing features, either providing
(safe and thoroughly tested) conversion tools. But we have to
be aware that slowly adding small configuration
incompatibilities can sum up to require complex conversion
tools, that nobody would develop and would become a bottleneck
when releasing a new version.



Thats right but with no new features we will loose users and not get
new.


We have never said NO NEW FEATURES.  STOP SPREADING A FALSE MEME!

For JAMES v2.4, the changes should be compatible.  For JAMES v3, they can be
incompatible.  We all agreed on that when we met at ApacheCon.  And we can
deliver both in parallel.  I would expect most work from most of us to focus
on JAMES v3, and if we don't want to backport something, then it doesn't get
backported.


Just to let everyone know that I was not at ApacheCon and I never agreed 
on this.
In detail I don't agree on version numbers, and to overcome this problem 
I started talking about next-minor (what Noel calls v2.4), next-major 
(being defined 2.4, 2.5 or 3.0 by different authors), next-greater (what 
Noel calls v3).


I agreed that we can deliver next-minor and next-major in parallel, 
never agreed on a v3 incompatible to be released in parallel. I 
defined next-major as compatible (whatever number we'll assign to it).



I think we just need to document what to change in config.xml.


Not good enough.  That doesn't address that overtime, these incremental
changes could add up to a lot of require changes to migrate.


I already gave a lot of importance of your (you, Vincenzo, and others) 
concerns about config.xml changes and I'm working with Norman to make 
sure trunk we'll start also using a config.xml from 2.3.0 (but not the 
reverse thing).


We everytime keep this in mind when working on trunk. Some minor 
backward incompatibilities can't be avoided and are needed because we 
have to fix bugs or bad behaviours previously present in James.
See for example the ignoreCase issues I described and I started fixing 
in trunk. James 2.3.0 and previous had a WEIRD behaviour wrt ignoreCase 
and as an example behaviour was different between files and jdbc 
repositories. Trunk will support the same configuration with the same 
syntax but will fix this differences (so in some scenario it will work 
slightly different).


Stefano


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: JAMES v2.4 Road Map (Status Update) Switched to PMC

2006-10-25 Thread Steve Brewin
Hi,

I stumbled across this unsent message in my drafts. I had decided not to
send it, but in the light of current server-dev discussions I've changed my
mind (obviously). The original context was Version numbers (Was: LONG JAMES
v2.4 Road Map). I'm sending this to the PMC as I don't think it good to air
these issues publicly on server-dev and its for the PMC to resolve.

---

/snipped

'cos I don't want anyone to feel I'm aiming at them in person. I think we
all should review how we are discussing and proceeding. Compared to other
ASF lists we don't convey a good impression (IMHO).

Like good wine, discussions need time to breathe.

Instead of rapidly firing point and counterpoint its sometimes better to
wait for everyone to air their views before responding. Diving straight in
often leads to more confusion than illumination.

While the intent is to arrive at a conclusion, often the reverse happens.
Discussions are unneccesarily extended leaving less time to get the real
work done.

Once a position has been stated, taking time to view, absorb and understand
all of the different points of view and then assembling a coherent response
offering a positive way forward before adding to the discussion is often the
best way to go.

While I understand the need to maintain momentum, constantly putting issues
to a time constrained vote disenfranchises the time constrained. It also
leaves me, and perhaps others, feeling forced into making micro-choices
which ignore macro-issues, edging us along a roadmap which, ironically, I
have never voted on. There is the illusion of democracy, but often I feel
like a vegetarian being asked how I would like my beef steak cooked.

-- Steve

Not dead, just not voting :)

---

James is a community. Some are more active than others right now. Some have
deeper and longer experience. Some have been elected by their peers to be
members of the PMC. This confers both greater powers and greater
responsibility. We should use the former wisely and always remember the
latter. Those of us with longer experience know that the kind of flame wars
we are starting to see develop amongst PMC members here most often have
unhappy outcomes. Let's not go there.

Can we all take a step back and find a way through this? A moderator
perhaps?

Cheers

-- Steve









-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: JAMES v2.4 Road Map (Status Update)

2006-10-25 Thread Noel J. Bergman
 I don't know what's the problem with you.
 And I don't know the meaning of decision by message volume.

See Steve Brewin's e-mail.

 I don't agree with your version numbers, but if you can read my message 
 you will find that I never talked about 2.4 or 3.0

See the subject header.

--- Noel


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map (Status Update)

2006-10-25 Thread Stefano Bagnara

Noel J. Bergman wrote:

I don't know what's the problem with you.
And I don't know the meaning of decision by message volume.


See Steve Brewin's e-mail.

I don't agree with your version numbers, but if you can read my message 
you will find that I never talked about 2.4 or 3.0


See the subject header.

--- Noel


Then now that I explained you that it was not related to 2.4 you can 
read it again and give your real reply.


I replied to the message without changing the subject because we kept 
that subject for a month and we already talked about every version 
number we could think of. Of course feel free to change the subject if 
you think you have  a better one.


Stefano


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map (Status Update)

2006-10-24 Thread Danny Angus

Hi Stefano,

Thanks for your detailed reply, I hope my comments below will reassure
you that I'm not proposing anything radical, just a slightly more
visible planning process, and some small refactorings.
I also hope that we're beginning to reach a common understanding of
what James project is lacking and how to take the next step from
having tactical (I don't want to pretend you are stupid, but I know
that English is not everyone's best language, tactical means short
term) decision making towards strategic (means long term).

On 10/24/06, Stefano Bagnara [EMAIL PROTECTED] wrote:



I'm happy enough with what JIRA roadmaps give us.
I don't know what exactly you mean with status file but I would not
like having more pieces to mantain.


the STATUS file is a mechanism used by Apache projects to record what
work is planned and who is doing it.
It allows the project cope with both a rapid cycle of defect fixes and
minor enhancements, and with a longer cycle of major refactorings.


It is already boring enough to
manually update the changelog in our website at each release.


Yes that is a painful task, but this is not the same thing, it isn't
about what has changed but about everyone being able to record what
they are working on and what state it is in.
It can make planning releases much easier.


I've added this point because Noel and Vincenzo brought this as an
important point in the 2.4 roadmap discussion.
I personally don't care of config.xml compatibility: I was just
reporting what I understood was important (and feasible) to the PMC.


Fair enough, in that case I direct my point to Noel and Vincezo  ;-)


Well, don't take me wrong: I never intended to stop you from working on
this. If you have the time and will to do that then feel free to start
some proposal (either with code or discussion as you prefer).
I just would avoid starting discussions on things that have no
champion to do the concrete work at the end because I'm running short
in time and I prefer to concentrate on things that I already thought in
past.


Oh no! I wasn't suggesting that anyone other than me do this, and yes
I'll propose it in more detail first.
The problem is that it results in a major release (because the API
changes) and this can mess up the schedule of defect and minor
enhancement releases.


I admit I didn't think to mailet apis too much but I did this in
past and I wrote something (also in the mailet-api list) and it seems we
(all) have really different ideas about the next mailet apis, so I
decided to avoid the topic to concentrate on something simpler.


OK, I agree that we have different ideas, I would hope to show that
mine is just a normalising refactoring and doesn't conflict with any
API enhancements others may have in mind.



Maybe someone receiving less vetoes to proposals ;-) will be more likely
to do this step.


Ha! :-D :-D



As I said we probably don't agree on the future of the mailet apis ;-)
Beside joking, I believe that now that we are here we should wait to
find a good solution to services to be provided to handlers plugins
and maybe the same patterns could be used in the next mailet.


+1 I agree, I'm not suggesting that the mailet changes be released
quickly, just that work could start soon.


I simply
thought at this roadmap because I thought it was convenient:
unfortunately the time is really much less than what I would like to do
on James.


I know, I'm just using this opportunity to put my cards on the table again.


Btw you shouldn't fear me: I rerely  use vetoes and always prefer an
average/partial solution to no solution. And I would be really happy to
see some new concrete effort by less active committers!


I've been very busy for a long time now, but I'm finding more
opportunities now, and I'm keen to re-start where I left off, which
was looking at vhosting and a mailet API SDK (which requires some
small chages to the API as an enabler).



Ok, so if we let pop3 users to have the @domain and we add to the
pop3server a configuration for a default domain to be used when no
domain is passed would solve both issues, right?


Right.



Now if we want to bind the pop3server to multiple IPs we have to declare
multiple pop3server blocks anyway: is this right?


Right.
All we need to do is to allow the pop3server blocks to take the
repository as a config param. and to let the local delivery mailet do
the same thing.



Well, ToMultiRepository try first to retrieve the user inbox via
MailServer.getUserInbox method. IIRC it shouldn't be so hard to isolate
also this method in the new services we added lately.


Agree.


I'll try to
remember this the next time I'll review the code about this issue.


Thanks




 Well thats true to some extent. but only if you accept that your
 proposal is enough and as far as we'd want to go.

I accept this ;-)


:-D :-D.



 You can read more at the end of this comment:
 https://issues.apache.org/jira/browse/JAMES-414#action_12322582

 Problem accessing this just now 

Re: JAMES v2.4 Road Map (Status Update)

2006-10-24 Thread Stefano Bagnara

Danny Angus wrote:

Hi Stefano,

Thanks for your detailed reply, I hope my comments below will reassure
you that I'm not proposing anything radical, just a slightly more
visible planning process, and some small refactorings.
I also hope that we're beginning to reach a common understanding of
what James project is lacking and how to take the next step from
having tactical (I don't want to pretend you are stupid, but I know
that English is not everyone's best language, tactical means short
term) decision making towards strategic (means long term).


Thank you for remembering this!
I splitted this reply in 4 because we have too much things in the same 
thread.


For virtual hosting and status file I branched the topic on 
server-dev, while for maielt apis discussion I branched to the 
mailet-api list!

http://mail-archives.apache.org/mod_mbox/james-mailet-api/


On 10/24/06, Stefano Bagnara [EMAIL PROTECTED] wrote:

I tried for more than an year to do some bigger planning and bigger
changes but I failed.


I know, and I think that the problem for some people was that the
proposals involved a lot of change, and the discussions went into a
lot of detail and moved very quickly.
I'm suggesting that one way to get these things agreed may be to
record the proposals (on the wiki?) discuss them here and revise them
then vote them into the status file where they are officially
recorded, rather than record discuss and vote all in one mail thread.
IIRC Many of your high level proposals were rejected because whilst
people agreed with the high level, and many aspects of the detail it
was only one or two aspects of the detail which put people off.
Separating the high level proposal from the detailed design of its
implementation might allow more things to be agreed in principle, and
then we can delay arguing over details until we are ready to implement
the details, by which time we may be clearer about what is required
and what is achievable.
Do you see what I mean?


I'm not a fan of WIKIs, and the fact that there are already a lot of 
outdated proposals there make me fear.


Btw I can live with WIKIs too, so if you think using wiki give us a 
better workflow we can give it a try (as a sidenote I would prefer 
confluence over the current wiki).


About Wiki I saw that felix, directory and geronimo projects started 
using Confluence also for their website creation: they use confluence to 
edit the structure and then export it statically to update the official 
website. I think that if we want to re-introduce wiki in the james 
project it would be cool to solve the website updates problems.


If I understood it there is also a maven2 plugin to include in the 
website generation pages retrieved from confluence. Unfortunately there 
is no such facility for MoinMoin.



I personally don't have a fixed roadmap: it depends on my mood and
sometimes on what features my clients are willing to pay me for ;-) but
I always try to keep trunk consistent and to commit things only when I
know I can finish it.


Thats the right approach, and (if you don't mind me saying so) one of
several reasons that your contributions have been such a sucess, which
in turn has encouraged others to become more involved.

d.


Feel free to say this as many times as you can ;-)

Stefano


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map (Status Update)

2006-10-24 Thread Stefano Bagnara

Vincenzo Gianferrari Pini wrote:

Danny Angus wrote:

On 10/24/06, Stefano Bagnara [EMAIL PROTECTED] wrote:


I've added this point because Noel and Vincenzo brought this as an
important point in the 2.4 roadmap discussion.
I personally don't care of config.xml compatibility: I was just
reporting what I understood was important (and feasible) to the PMC.


Fair enough, in that case I direct my point to Noel and Vincezo  ;-)


We just stressed the fact that life must be kept as much as possible 
easy for users when upgrading to new release, otherwise they may stay 
behind. Regarding configurations, this goal can be achieved either 
keeping as much as possible backward compatibility for existing 
features, either providing (safe and thoroughly tested) conversion 
tools. But we have to be aware that slowly adding small configuration 
incompatibilities can sum up to require complex conversion tools, that 
nobody would develop and would become a bottleneck when releasing a new 
version.


Open Source Communities can create better and smarter software than 
Commercial Companies, but the latter normally care more of existing 
dumb users: we should always try to reach a good compromise ;-)  .


Vincenzo


Well, I won't write conversion tools, so I preferred to remember your 
ideas/suggestions when I thought at the proposed roadmap.


I personally prefer a new feature that break backward compatibility 
than no new feature but we have a lot of stuff that can be done 
without breaking backward compatibility.


I simply pointed out that what Noel and Vincenzo proposed to release was 
already breaking assembly.xml compatiblity so only could try to achieve 
config.xml compatibility (and storage compatibility) and at least Norman 
and I always think at this issue when we implement/test new features.


I'm sure most of you already know this, but I rewrite it again for 
Danny: my idea was that storage compatibility would have been enough, 
with no conversion tools (that's what we did with 2.2.0 to 2.3.0), but 
we are a community and I'm not as fanatic as someone could think.


Stefano


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map (Status Update)

2006-10-24 Thread Stefano Bagnara

Danny Angus wrote:

Right, and thats the right thing to do. If everyone adds their own
thing to a list (the status file?) we can see what everyone is capable
of achieving, and outline the contents of planned releases without
having to comit to dates.
Releases need to be roughly planned for major and minor cycles to
prevent major changes from blocking defect fixes.


I just saw that you didn't partecipate to this thread 1 month ago. You 
should read it and maybe add your comments:

http://www.mail-archive.com/search?l=server-dev%40james.apache.orgq=JAMES+v2.4+Road+Map

I say this because I see you're asking for roadmaps, for issue list, for 
discussions about that. I think that if you read the whole thread you 
will notice that I tried to do this already 1 month ago.


We saw 2 different approaches, they was not one against the other but 
simply 2 road maps. You can find many messages from me with no 
replies... It was clear that I, Norman and Bernd shared a common goal, 
so we simply started working on this one.


Stefano



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map (Status Update)

2006-10-24 Thread Norman Maurer
Hi Danny,

something to say ..

Danny Angus schrieb:
 Hi Stefano,

 Thanks for your detailed reply, I hope my comments below will reassure
 you that I'm not proposing anything radical, just a slightly more
 visible planning process, and some small refactorings.
 I also hope that we're beginning to reach a common understanding of
 what James project is lacking and how to take the next step from
 having tactical (I don't want to pretend you are stupid, but I know
 that English is not everyone's best language, tactical means short
 term) decision making towards strategic (means long term).

 On 10/24/06, Stefano Bagnara [EMAIL PROTECTED] wrote:


 I'm happy enough with what JIRA roadmaps give us.
 I don't know what exactly you mean with status file but I would not
 like having more pieces to mantain.

 the STATUS file is a mechanism used by Apache projects to record what
 work is planned and who is doing it.
 It allows the project cope with both a rapid cycle of defect fixes and
 minor enhancements, and with a longer cycle of major refactorings.
We can test it but i aspect not much of it.. Anyway i will be happy if
im wrong.


 It is already boring enough to
 manually update the changelog in our website at each release.

 Yes that is a painful task, but this is not the same thing, it isn't
 about what has changed but about everyone being able to record what
 they are working on and what state it is in.
 It can make planning releases much easier.

 I've added this point because Noel and Vincenzo brought this as an
 important point in the 2.4 roadmap discussion.
 I personally don't care of config.xml compatibility: I was just
 reporting what I understood was important (and feasible) to the PMC.

 Fair enough, in that case I direct my point to Noel and Vincezo  ;-)

 Well, don't take me wrong: I never intended to stop you from working on
 this. If you have the time and will to do that then feel free to start
 some proposal (either with code or discussion as you prefer).
 I just would avoid starting discussions on things that have no
 champion to do the concrete work at the end because I'm running short
 in time and I prefer to concentrate on things that I already thought in
 past.

 Oh no! I wasn't suggesting that anyone other than me do this, and yes
 I'll propose it in more detail first.
 The problem is that it results in a major release (because the API
 changes) and this can mess up the schedule of defect and minor
 enhancement releases.
I lookin forward to this... Please go ahead.

 I admit I didn't think to mailet apis too much but I did this in
 past and I wrote something (also in the mailet-api list) and it seems we
 (all) have really different ideas about the next mailet apis, so I
 decided to avoid the topic to concentrate on something simpler.

 OK, I agree that we have different ideas, I would hope to show that
 mine is just a normalising refactoring and doesn't conflict with any
 API enhancements others may have in mind.
We should just find a good solution to lookup Services without bundle
the mailets to tight to james. If i understand it right then the mailets
should work without james..





 Maybe someone receiving less vetoes to proposals ;-) will be more likely
 to do this step.

 Ha! :-D :-D
Maybe i should try .. I'm everyones most loved guy :-P




 As I said we probably don't agree on the future of the mailet apis ;-)
 Beside joking, I believe that now that we are here we should wait to
 find a good solution to services to be provided to handlers plugins
 and maybe the same patterns could be used in the next mailet.

 +1 I agree, I'm not suggesting that the mailet changes be released
 quickly, just that work could start soon.

 I simply
 thought at this roadmap because I thought it was convenient:
 unfortunately the time is really much less than what I would like to do
 on James.

 I know, I'm just using this opportunity to put my cards on the table
 again.

 Btw you shouldn't fear me: I rerely  use vetoes and always prefer an
 average/partial solution to no solution. And I would be really happy to
 see some new concrete effort by less active committers!

 I've been very busy for a long time now, but I'm finding more
 opportunities now, and I'm keen to re-start where I left off, which
 was looking at vhosting and a mailet API SDK (which requires some
 small chages to the API as an enabler).
Im happy to hear.


 Ok, so if we let pop3 users to have the @domain and we add to the
 pop3server a configuration for a default domain to be used when no
 domain is passed would solve both issues, right?

 Right.
I think thats a very good solution and should also fix noels -1 .


 Now if we want to bind the pop3server to multiple IPs we have to declare
 multiple pop3server blocks anyway: is this right?

 Right.
 All we need to do is to allow the pop3server blocks to take the
 repository as a config param. and to let the local delivery mailet do
 the same thing.
I think thats cool.. but i don't see so 

Re: JAMES v2.4 Road Map (Status Update)

2006-10-24 Thread Norman Maurer
Vincenzo Gianferrari Pini schrieb:
 Danny Angus wrote:
 On 10/24/06, Stefano Bagnara [EMAIL PROTECTED] wrote:

 I've added this point because Noel and Vincenzo brought this as an
 important point in the 2.4 roadmap discussion.
 I personally don't care of config.xml compatibility: I was just
 reporting what I understood was important (and feasible) to the PMC.

 Fair enough, in that case I direct my point to Noel and Vincezo  ;-)


 We just stressed the fact that life must be kept as much as possible
 easy for users when upgrading to new release, otherwise they may stay
 behind. Regarding configurations, this goal can be achieved either
 keeping as much as possible backward compatibility for existing
 features, either providing (safe and thoroughly tested) conversion
 tools. But we have to be aware that slowly adding small configuration
 incompatibilities can sum up to require complex conversion tools, that
 nobody would develop and would become a bottleneck when releasing a
 new version.

 Open Source Communities can create better and smarter software than
 Commercial Companies, but the latter normally care more of existing
 dumb users: we should always try to reach a good compromise ;-)  .

 Vincenzo

Thats right but with no new features we will loose users and not get
new.. I think we just need to document what to change in config.xml. I
allready add an UPGRADING.txt to the 2.3 branch. If we add some new
feature which need things the get changed in config.xml we just should
document it in a UPGRADING.txt


bye
Norman



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: JAMES v2.4 Road Map (Status Update)

2006-10-24 Thread Steve Brewin
Vincenzo Gianferrari Pini wrote:

 Norman Maurer wrote:
  Vincenzo Gianferrari Pini schrieb:
 
  Danny Angus wrote:
 
  On 10/24/06, Stefano Bagnara [EMAIL PROTECTED] wrote:
 
 
  I've added this point because Noel and Vincenzo brought
 this as an
  important point in the 2.4 roadmap discussion.
  I personally don't care of config.xml compatibility: I was just
  reporting what I understood was important (and feasible)
 to the PMC.
 
  Fair enough, in that case I direct my point to Noel and
 Vincezo  ;-)
 
 
 
  We just stressed the fact that life must be kept as much
 as possible
  easy for users when upgrading to new release, otherwise
 they may stay
  behind. Regarding configurations, this goal can be achieved either
  keeping as much as possible backward compatibility for existing
  features, either providing (safe and thoroughly tested) conversion
  tools. But we have to be aware that slowly adding small
 configuration
  incompatibilities can sum up to require complex conversion
 tools, that
  nobody would develop and would become a bottleneck when releasing a
  new version.
 
  Open Source Communities can create better and smarter software than
  Commercial Companies, but the latter normally care more of existing
  dumb users: we should always try to reach a good
 compromise ;-)  .
 
  Vincenzo
 
 
  Thats right but with no new features we will loose users and not get
  new.. I think we just need to document what to change in
 config.xml. I
  allready add an UPGRADING.txt to the 2.3 branch. If we add some new
  feature which need things the get changed in config.xml we
 just should
  document it in a UPGRADING.txt
 
 The right thing to do would be to keep UPGRADING.txt up to
 date *as soon
 as the related code change is done*, so the documentation is
 fresh and
 rich. Doing it just before releasing would be less effective, because
 things tend to be forgotten :-) .

 Vincenzo

Absolutely. This is why in my commercial endeavours we consider the upgrade
code to be a vital part of the core product and subject to the same testing
regime as all other code. It isn't an after thought, its a selling point.
Something that allows our customers to easily buy into new versions, which
earns us revenue, which keeps me in a job. While James doesn't have the same
commercial drivers, we will lose users and kudos if we do not provide a
smooth migration path between releases.

Cheers

-- Steve


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: JAMES v2.4 Road Map (Status Update)

2006-10-23 Thread Noel J. Bergman
Stefano Bagnara wrote:

 I think that the solution I found out-there to provide easy
 out-of-the-box v hosting support is to put [EMAIL PROTECTED] into the
 UsersRepository and change LocalDelivery (ToMultiRepository) to use
 the full recipient instead of the recipient.getName() when retrieving
 the mailbox.

 In POP3 people would have to use [EMAIL PROTECTED] as login and no more
user.

-1

Unacceptable solution to break everyone's mailboxes in order to implement an
unnecessary feature.  At most, we could allow [EMAIL PROTECTED] as a valid 
mailbox
identity.

--- Noel



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map (Status Update)

2006-10-23 Thread Danny Angus

On 10/21/06, Stefano Bagnara [EMAIL PROTECTED] wrote:

 Can we consider timetabling some other changes now that we've made
 such good progress?

Well, I think important things are:
1) don't delay the next release cycle once we added the features we
planned (and currenlty the only missing big piece is handlerapi, imho)


I think perhaps its time we moved to having a status file.


2) don't break the storage compatibility and the config.xml
compatibility (I think we currenlty kept both compatibilities).


Not sure why you're so keen on this as one of only two things. Yes
this is important to end users for ease of upgrade, but it isn't
sacred. Tools can be provided to migrate content and configuration if
necessary.


Rewriting mailet apis is not a simple task and I think it does not
belong to a short timed release like the one we're trying to do. Maybe
the following one.


Yeah I figured. Same as always ;-)



I think that mailet api changes will need much more efforts and thoughts
and I think we should better delay this to a point where currenct active
committers will have a better overall overview of what services mailets
needs and how to try to fix this.


Well current active commiters are not everyone, there are still some
of us less active people who know and understand the API, what it
can be used for, and how it should be written. and whats more we also
know and understand its weaknesses and flaws.This work needs to be
done, and has been needed for a long time. It will have little effect
on James's mailets.



Furthermore I think we should better wait to have a clean handlerapi
structure because we should try to find a common way to access some of
the services offered by the container from in-protocol handlers and from
mailets.


Not sure I agree, unless the handlerapi is being proposed for adding to mailet.
Theres no reason why the same services shouldn't be available in
different ways, its just a case of wrapping and decorating things.


I don't understand the nameing convetion v hosting thing: SMTP and
POP3 servers do not receive informations on the name used to reach them,
but only the IP used.


Yeah, correct. But people keep proposing that POP3 vhosting involve
people logging in with  [EMAIL PROTECTED] or some other work-around. this
*is* name based vhosting for pop3, the name is derived from the
log-in, you propose such a solution youself below. The other option is
to bind certain domains to certain IP addresses in the same James
instance.




I think that the solution I found out-there to provide easy
out-of-the-box v hosting support is to put [EMAIL PROTECTED] into the
UsersRepository and change LocalDelivery (ToMultiRepository) to use
the full recipient instead of the recipient.getName() when retrieving
the mailbox.


That locks you into using one repository, I'm proposing that a
different repository can be used per host and that hosts can be
distinguished by either IP address or naming convention.



In POP3 people would have to use [EMAIL PROTECTED] as login and no more 
user.


Unless you used IP based Vhosting.


We should also add DomainList service from the UsersRepository so that
James would automatically know what are the local domains by looking the
domains used in the UsersRepository names.


Yeah, not 100% sure it would work for all scenarios, but it would be
worth the effort to do the analysis.



This should be relatively easy to be implemented now that we isolated
most of the services in few clean interfaces.

If my memory is right the only missing piece for this scenario is to
enhance the ToMultiRepository to let it use some parameter to define
the repository name.


Well thats true to some extent. but only if you accept that your
proposal is enough and as far as we'd want to go.




You can read more at the end of this comment:
https://issues.apache.org/jira/browse/JAMES-414#action_12322582



Problem accessing this just now :-(



Imho the key is to split every big task in many small tasks because
everyone here fear major changes so we should analyze the big goal
(that's why I ask you the concrete goal) and find out if we can do this
with small steps.


Yeah OK, but it is necessary to catalogue our goals and do some planning.
Otherwise we get into a rut of making small changes all the time with
no longer term plan.




Unfortunately there are things that cannot be splitted in small tasks
and we have to delay: I have full DSN support for James waiting since
almost 2 years to be included because it needs a lot of changes in the
core of james and I don't have enough will and time to explain why every
change is needed so I gave up including it.


We'll perhaps the time is right for us to start to perpare some proper
plans. and a proper timetable of releases.


d.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map (Status Update)

2006-10-23 Thread Danny Angus

On 10/21/06, Norman Maurer [EMAIL PROTECTED] wrote:


 In POP3 people would have to use [EMAIL PROTECTED] as login and no more
 user.
Thats exactly what i whould like to see as next steps.. The path of the
mailboxes should also switch then to : /var/mail/domain/user
The enabling/disabling should be configurable to allow backwards
compatiblity. Disabled by default


Yeah, no disagreement about the paths, I just don't think it needs to
be tied to a specific naming convention for user log-ins.


I think we should think about adding DSN for the next release which
break the compatiblity..


I think we should be looking at our planning process.

d.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map (Status Update)

2006-10-23 Thread Stefano Bagnara

Danny Angus wrote:

On 10/21/06, Stefano Bagnara [EMAIL PROTECTED] wrote:

 Can we consider timetabling some other changes now that we've made
 such good progress?

Well, I think important things are:
1) don't delay the next release cycle once we added the features we
planned (and currenlty the only missing big piece is handlerapi, imho)


I think perhaps its time we moved to having a status file.


I'm happy enough with what JIRA roadmaps give us.
I don't know what exactly you mean with status file but I would not 
like having more pieces to mantain. It is already boring enough to 
manually update the changelog in our website at each release.



2) don't break the storage compatibility and the config.xml
compatibility (I think we currenlty kept both compatibilities).


Not sure why you're so keen on this as one of only two things. Yes
this is important to end users for ease of upgrade, but it isn't
sacred. Tools can be provided to migrate content and configuration if
necessary.


I've added this point because Noel and Vincenzo brought this as an 
important point in the 2.4 roadmap discussion.
I personally don't care of config.xml compatibility: I was just 
reporting what I understood was important (and feasible) to the PMC.



Rewriting mailet apis is not a simple task and I think it does not
belong to a short timed release like the one we're trying to do. Maybe
the following one.


Yeah I figured. Same as always ;-)


I think that mailet api changes will need much more efforts and thoughts
and I think we should better delay this to a point where currenct active
committers will have a better overall overview of what services mailets
needs and how to try to fix this.


Well current active commiters are not everyone, there are still some
of us less active people who know and understand the API, what it
can be used for, and how it should be written. and whats more we also
know and understand its weaknesses and flaws.This work needs to be
done, and has been needed for a long time. It will have little effect
on James's mailets.


Well, don't take me wrong: I never intended to stop you from working on 
this. If you have the time and will to do that then feel free to start 
some proposal (either with code or discussion as you prefer).
I just would avoid starting discussions on things that have no 
champion to do the concrete work at the end because I'm running short 
in time and I prefer to concentrate on things that I already thought in 
past. I admit I didn't think to mailet apis too much but I did this in 
past and I wrote something (also in the mailet-api list) and it seems we 
(all) have really different ideas about the next mailet apis, so I 
decided to avoid the topic to concentrate on something simpler.


Maybe someone receiving less vetoes to proposals ;-) will be more likely 
to do this step.



Furthermore I think we should better wait to have a clean handlerapi
structure because we should try to find a common way to access some of
the services offered by the container from in-protocol handlers and from
mailets.


Not sure I agree, unless the handlerapi is being proposed for adding to 
mailet.

Theres no reason why the same services shouldn't be available in
different ways, its just a case of wrapping and decorating things.


As I said we probably don't agree on the future of the mailet apis ;-)
Beside joking, I believe that now that we are here we should wait to 
find a good solution to services to be provided to handlers plugins 
and maybe the same patterns could be used in the next mailet. I simply 
thought at this roadmap because I thought it was convenient: 
unfortunately the time is really much less than what I would like to do 
on James.
Btw you shouldn't fear me: I rerely  use vetoes and always prefer an 
average/partial solution to no solution. And I would be really happy to 
see some new concrete effort by less active committers!



I don't understand the nameing convetion v hosting thing: SMTP and
POP3 servers do not receive informations on the name used to reach them,
but only the IP used.


Yeah, correct. But people keep proposing that POP3 vhosting involve
people logging in with  [EMAIL PROTECTED] or some other work-around. this
*is* name based vhosting for pop3, the name is derived from the
log-in, you propose such a solution youself below. The other option is
to bind certain domains to certain IP addresses in the same James
instance.


Ok, so if we let pop3 users to have the @domain and we add to the 
pop3server a configuration for a default domain to be used when no 
domain is passed would solve both issues, right?
Now if we want to bind the pop3server to multiple IPs we have to declare 
multiple pop3server blocks anyway: is this right?



I think that the solution I found out-there to provide easy
out-of-the-box v hosting support is to put [EMAIL PROTECTED] into the
UsersRepository and change LocalDelivery (ToMultiRepository) to use
the full recipient instead of the 

Re: JAMES v2.4 Road Map (Status Update)

2006-10-21 Thread Stefano Bagnara

Danny Angus wrote:

On 10/20/06, Stefano Bagnara [EMAIL PROTECTED] wrote:

Slightly more than a month ago I wrote a roadmap, here is an update for
people that has not time for a day to day oversight.


Thanks Stefano ;-)

Can we consider timetabling some other changes now that we've made
such good progress?


Well, I think important things are:
1) don't delay the next release cycle once we added the features we 
planned (and currenlty the only missing big piece is handlerapi, imho)
2) don't break the storage compatibility and the config.xml 
compatibility (I think we currenlty kept both compatibilities).



1/ One thing I have been trying to get on the table for a couple of
years(!) now is a re-write of the mailet API. We need to make the API
support *all* of the functions required by Mailets and a Mailet
container. This means for example that amongst other smaller stuff
some of the service interfaces for repositories need to be sorted and
refactored into the API


Rewriting mailet apis is not a simple task and I think it does not 
belong to a short timed release like the one we're trying to do. Maybe 
the following one.


I think that mailet api changes will need much more efforts and thoughts 
and I think we should better delay this to a point where currenct active 
committers will have a better overall overview of what services mailets 
needs and how to try to fix this.


Furthermore I think we should better wait to have a clean handlerapi 
structure because we should try to find a common way to access some of 
the services offered by the container from in-protocol handlers and from 
mailets.



2/ Another thing I'd like to do would be to sort out IP based v
hosting and nameing convetion v hosting. Effectively certain
per-instance things, like the local repository, become per-vhost, and
local delivery gets to take the name of the repo as a param.

?
d.


I think that we already did the bigger steps to make this possible.
Now it should be easy to alter the services to have a better support for 
virtualhosting.


Can you elaborate some concrete solution?

I don't understand the nameing convetion v hosting thing: SMTP and 
POP3 servers do not receive informations on the name used to reach them, 
but only the IP used.


I think that the solution I found out-there to provide easy 
out-of-the-box v hosting support is to put [EMAIL PROTECTED] into the 
UsersRepository and change LocalDelivery (ToMultiRepository) to use 
the full recipient instead of the recipient.getName() when retrieving 
the mailbox.


In POP3 people would have to use [EMAIL PROTECTED] as login and no more 
user.

We should also add DomainList service from the UsersRepository so that 
James would automatically know what are the local domains by looking the 
domains used in the UsersRepository names.


This should be relatively easy to be implemented now that we isolated 
most of the services in few clean interfaces.


If my memory is right the only missing piece for this scenario is to 
enhance the ToMultiRepository to let it use some parameter to define 
the repository name.


You can read more at the end of this comment:
https://issues.apache.org/jira/browse/JAMES-414#action_12322582


Imho the key is to split every big task in many small tasks because 
everyone here fear major changes so we should analyze the big goal 
(that's why I ask you the concrete goal) and find out if we can do this 
with small steps.



Unfortunately there are things that cannot be splitted in small tasks 
and we have to delay: I have full DSN support for James waiting since 
almost 2 years to be included because it needs a lot of changes in the 
core of james and I don't have enough will and time to explain why every 
change is needed so I gave up including it.


Stefano


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map (Status Update)

2006-10-21 Thread Norman Maurer

Stefano Bagnara schrieb:

Danny Angus wrote:

On 10/20/06, Stefano Bagnara [EMAIL PROTECTED] wrote:

Slightly more than a month ago I wrote a roadmap, here is an update for
people that has not time for a day to day oversight.


Thanks Stefano ;-)

Can we consider timetabling some other changes now that we've made
such good progress?


Well, I think important things are:
1) don't delay the next release cycle once we added the features we 
planned (and currenlty the only missing big piece is handlerapi, imho)
2) don't break the storage compatibility and the config.xml 
compatibility (I think we currenlty kept both compatibilities).



1/ One thing I have been trying to get on the table for a couple of
years(!) now is a re-write of the mailet API. We need to make the API
support *all* of the functions required by Mailets and a Mailet
container. This means for example that amongst other smaller stuff
some of the service interfaces for repositories need to be sorted and
refactored into the API


Rewriting mailet apis is not a simple task and I think it does not 
belong to a short timed release like the one we're trying to do. 
Maybe the following one.


I think that mailet api changes will need much more efforts and 
thoughts and I think we should better delay this to a point where 
currenct active committers will have a better overall overview of what 
services mailets needs and how to try to fix this.


Furthermore I think we should better wait to have a clean handlerapi 
structure because we should try to find a common way to access some of 
the services offered by the container from in-protocol handlers and 
from mailets.

+1




2/ Another thing I'd like to do would be to sort out IP based v
hosting and nameing convetion v hosting. Effectively certain
per-instance things, like the local repository, become per-vhost, and
local delivery gets to take the name of the repo as a param.

?
d.


I think that we already did the bigger steps to make this possible.
Now it should be easy to alter the services to have a better support 
for virtualhosting.


Can you elaborate some concrete solution?

I don't understand the nameing convetion v hosting thing: SMTP and 
POP3 servers do not receive informations on the name used to reach 
them, but only the IP used.


I think that the solution I found out-there to provide easy 
out-of-the-box v hosting support is to put [EMAIL PROTECTED] into the 
UsersRepository and change LocalDelivery (ToMultiRepository) to use 
the full recipient instead of the recipient.getName() when retrieving 
the mailbox.


In POP3 people would have to use [EMAIL PROTECTED] as login and no more 
user.
Thats exactly what i whould like to see as next steps.. The path of the 
mailboxes should also switch then to : /var/mail/domain/user
The enabling/disabling should be configurable to allow backwards 
compatiblity. Disabled by default




We should also add DomainList service from the UsersRepository so that 
James would automatically know what are the local domains by looking 
the domains used in the UsersRepository names.


+1


This should be relatively easy to be implemented now that we isolated 
most of the services in few clean interfaces.


If my memory is right the only missing piece for this scenario is to 
enhance the ToMultiRepository to let it use some parameter to define 
the repository name.



The my comment above..

You can read more at the end of this comment:
https://issues.apache.org/jira/browse/JAMES-414#action_12322582


Imho the key is to split every big task in many small tasks because 
everyone here fear major changes so we should analyze the big goal 
(that's why I ask you the concrete goal) and find out if we can do 
this with small steps.

+1



Unfortunately there are things that cannot be splitted in small tasks 
and we have to delay: I have full DSN support for James waiting since 
almost 2 years to be included because it needs a lot of changes in the 
core of james and I don't have enough will and time to explain why 
every change is needed so I gave up including it.


Stefano


I think we should think about adding DSN for the next release which 
break the compatiblity..


bye
Norman


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map (Status Update)

2006-10-20 Thread Stefano Bagnara
Slightly more than a month ago I wrote a roadmap, here is an update for 
people that has not time for a day to day oversight.


Stefano Bagnara wrote:

Norman Maurer wrote:

I agree with Stefano.. And i think we can push a 2.4 release in 6 Month
( At least i hope so). 


So i think the next step must a roadmap! First we should dedicide which
jira issues should be moved to 2.4 before do anything else. Without a
roadmap we only make it more complicated.


My proposal is:
- everything we have in trunk now: now I can't see anything critical
enough to be removed.


Well, this was already there ;-)


- JAMES-426 - Make james use virtual user table domains for servernames


This is done.


- JAMES-52 - 8bitmime capabilities missing


It seems that javamail 1.4.1ea fixed the problem and we reenabled the 
support for it!



- JAMES-487 - Refactor Bundled handlers to use the HandlerChain pattern


This is blocked by the handlerapi work in sandbox.


- JAMES-577 - Switch default sendpartial to true for RemoteDelivery


Done.


- JAMES-607 - Rewrite MBoxMailRepository to use mstor


We wrote the support for this: Joachim found 3 blocking bugs in mstor. 2 
of them have been fixed, so as soon as mstor will fix the third and make 
a release this will be fixed.



- JAMES-611 - Remove finalizers and make sure we always call dispose
when unreferencing objects


Done.


- JAMES-461 - Javamail Store based MailRepository support (was: Maildir
support)


Joachim contributed this. Applied.


- JAMES-614 - Add more actions to FastFailHandlers


In progress: Norman is working on this.


- JAMES-549 - Refactoring SMTPHandler to allow better integration of
more the one class per command


Blocked by the new handlerapi in sandbox.


- JAMES-599 - BeanShell Scripting in James


Code has been provided by Guillermo.
We should probably vote to decide wethere to include this or not.
I wrote a message in past to understand wether there was preference for 
this BeanShell solution or on the BSF mailet: I would like to see the 
BSF mailet code before deciding, but I can't find it.



- JAMES-562 - Aliasmanagment should not depend on a user (see as
VUT-UsersAliasingForwarding common interface and remove tightly
dependencies between James and JamesUser)


Almost done.


- JAMES-595 - Change names of release artifacts to use james-server
instead of james.


Open (but easy to do).


That said, currenlty blocking issues are:

1) dnsjava 2.0.3 release (to support JSPF)
   (we are currenlty including a snapshot of dnsjava trunk)

2) javamail 1.4.1 release (8bitmime bugs)
   (we are currenlty including 1.4.1ea-SNAPSHOT from their m2 repository)

3) mstor release (to replace internal mbox management with mstor)
   (2 of 3 bugs have been fixed in cvs, so we should be able soon to 
include a working snapshot or the fixed release)


4) handlerapi v2.
   (If I understood it right, Noel is almost ready with his work)


I think that if we can comlpete the handlerapi stuff soon we could 
realistically consider branching for a release at the start of december 
(almost a month before what was in the plans)


Stefano


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map (Status Update)

2006-10-20 Thread Danny Angus

On 10/20/06, Stefano Bagnara [EMAIL PROTECTED] wrote:

Slightly more than a month ago I wrote a roadmap, here is an update for
people that has not time for a day to day oversight.


Thanks Stefano ;-)

Can we consider timetabling some other changes now that we've made
such good progress?

1/ One thing I have been trying to get on the table for a couple of
years(!) now is a re-write of the mailet API. We need to make the API
support *all* of the functions required by Mailets and a Mailet
container. This means for example that amongst other smaller stuff
some of the service interfaces for repositories need to be sorted and
refactored into the API

2/ Another thing I'd like to do would be to sort out IP based v
hosting and nameing convetion v hosting. Effectively certain
per-instance things, like the local repository, become per-vhost, and
local delivery gets to take the name of the repo as a param.

?
d.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map

2006-09-15 Thread Vincenzo Gianferrari Pini

Stefano Bagnara wrote:


Vincenzo Gianferrari Pini wrote:

Yes, but we already used a different scheme for 2.1, 2.2 and 2.3.. 
so why change it for 2.4?



Because IMHO it was wrong :-) .



Ok, What I'm trying to say that consistency helps understanding: if 
you change the rules in the middle you don't help people.
And if you really have to change the rule for the next minor why don't 
we change the yet-to-be-release 2.3?

I simply say that imho this discussion does not belong to a 2.4.


My intent is to stress that IMO, for our project, a next minor release 
should not be just a subset of  features of a next major release, but 
that there are some compatibility/ease-of-install/risk differences from 
the point of view of the user, that could drive/justify one branching 
strategy or another. The numbering scheme is just a suggestion on how to 
evidentiate it, but is not the substance :-) .




Anyway, I always said that I don't care about the number while 
discussing, I just care about what we release and when. So we can 
even talk about the next release and skip the number if this helps 
(we'll vote the number just before the release).


2.x releases have been storage compatible in past, so I think we can 
safely put in the 2.x scheme every future storage compatible release 
and keep 3.0 for bigger steps, but mine is only a +1 vs +0, no 
vetoes about this meaningless thing: we need code to make releases, 
not numbers.



Not only storage compatible, but also configuration compatible etc.
About numbering, it is like naming: helps in stating things.
And please breathe a second and take it easy before ironizing and 
telling other people that they say meaningless things etc. You won't 
convince anybody this way, you will only put them off.



This is not true: 2.x releases have been only storage compatible. I 
had to upgrade config.xml for evey second-digit step from 2.0 to 2.1.* 
to 2.2.0 to current 2.3.0rc3.


I know. In fact I'm stressing the compatibility/ease-of-install/risk 
issue (see above) as something to take care of, for our users sake (*we* 
committers don't have too many problems of this kind).




I don't say that what you say is meaningless, I say that numbering is 
meaningless in a roadmap: a roadmap should include features, maybe 
dates, but numbers are simply labels used to understand each other.


Right. see above.



So my proposal is to choose 2 names: one for the release you and Noel 
are proposing and that will be a branch of 2.3.0 with a few features 
from trunk to be released before the end of november and the other for 
the release I and Norman want to work for and to be branched from 
trunk at start of January 2007 and released in March 2007.


I removed the (unused) 2.4 tag from our JIRA and renamed the 3.0 tag 
to Trunk so that we don't introduce much more confusion. We marked 
things resolved against 3.0, it is better to say that we resolved them 
in trunk so we can rename trunk to something else when we'll branch. 
My fantasy is limited so I would define then next-minor-release and 
next-major-release (and we could have a next-greater-release for 
storage incompatibility and other major changes).


I think that you can create a new version in jira and call it 
next-minor and make a list of things you want to merge back in this 
release. I hope it is fine for you if I won't work on this branch and 
to agree that this release should not block trunk development or the 
start of the next-major release.


I agree. But, if the next-minor is worth doing, we all need some of your 
and Norman's help. Otherwise it probably can't be done.




I'm not trying to convince anyone, and I'm simply trying to define 
something that works for me. If you say something that I think is not 
correct I tell you: this is the way I discuss. I think I worked much 
more than most of other committers on the James code in the last year 
so I think that you may not have the same visibility I had on some of 
the code that has been included in trunk and 2.3 branch, and that's 
why I write them here. Take into consideration that I will always read 
and try to understand your point: this doesn't mean I change my ideas 
easily, but I change them very often (only stupids never change idea).


I perfectly know that I don't know perfectly the new code (Socrates 
teaches  ;-) ), and this is the reason why I'm now wary and 
conservative, and want to be assured and convinced by you (the one that 
knows the most about the new code) and by Noel (the one that has the 
widest knowledge of the James code in general) about how sound and 
feasible and costly and safe is to build the next-minor release (that we 
all agree that would be worth doing) from the 2.3 branch. And this is 
the kernel of the discussion going on between you and Noel, that I'm 
observing to build my final choice.


And I would like to hear something from Serge, Danny and the others, 
because this is going to be a very an important decision.




It's more 

Re: JAMES v2.4 Road Map

2006-09-15 Thread Stefano Bagnara

Vincenzo Gianferrari Pini wrote:
I think that you can create a new version in jira and call it 
next-minor and make a list of things you want to merge back in this 
release. I hope it is fine for you if I won't work on this branch and 
to agree that this release should not block trunk development or the 
start of the next-major release.


I agree. But, if the next-minor is worth doing, we all need some of your 
and Norman's help. Otherwise it probably can't be done.


I already said that I won't work for the next-minor.

At my best I could help you with the website stuff (as I refactored all 
and maybe I better know the new maven2 site builds), with the maven spf 
builds (but I need an answer to my repository proposal and if no answer 
I need Noel to setup the svn notifications so I can really work on james 
repository) and few other things. I'm not ready to test that releases or 
to look for bugs in that release. Btw if you find a bug in next-minor 
and the bug is also in trunk (as when we'll start next-major, next-minor 
should be already closed), as always, I'll put that on top of my priorities.


I'm not trying to convince anyone, and I'm simply trying to define 
something that works for me. If you say something that I think is not 
correct I tell you: this is the way I discuss. I think I worked much 
more than most of other committers on the James code in the last year 
so I think that you may not have the same visibility I had on some of 
the code that has been included in trunk and 2.3 branch, and that's 
why I write them here. Take into consideration that I will always read 
and try to understand your point: this doesn't mean I change my ideas 
easily, but I change them very often (only stupids never change idea).


I perfectly know that I don't know perfectly the new code (Socrates 
teaches  ;-) ), and this is the reason why I'm now wary and 
conservative, and want to be assured and convinced by you (the one that 
knows the most about the new code) and by Noel (the one that has the 
widest knowledge of the James code in general) about how sound and 
feasible and costly and safe is to build the next-minor release (that we 
all agree that would be worth doing) from the 2.3 branch. And this is 
the kernel of the discussion going on between you and Noel, that I'm 
observing to build my final choice.


I never agreed that it WORTH doing: I said that it would be a good 
thing to James project and to James users, but I think that it does not 
worth the efforts and this is the very reason why I say I will work on 
next-major and not on next-minor. If the efforts are not mine, then I'm 
really happy with a next-minor release.


I think that a +1 should always means I will work for this to happen, 
and a +0 is it's ok for me but I won't actively help. I'm simply +0 for 
the next-minor and +1 for the next-major.


And I would like to hear something from Serge, Danny and the others, 
because this is going to be a very an important decision.


Well, I always welcome involvement in votes and code, but I think this 
is not a so big decision: if you fill you can do the next-minor work on 
it. If it is feasible it will be done, otherwise we have the next-major 
on the road.. so no big problems either way.


It's more than one year that I write to this list, you should have 
learned that my discussion are a little rude. Don't take it so hard.


Ok :-) . But we italians (especially we emiliani and romagnoli) have 
sometimes to remember that we have sangue caldo ;-) . And the language 
doesn't help.


Right, I'm much more polite (sometimes) when I speak italian.


[...]
I simply think that with almost the same efforts needed to release 
2.3+new improved fastfail (next-minor) we would release the 
next-major because that one is one of the few things that still 
deserve much attention.


And *this is the key point* :-) .

As an alternative approach, what would you think about not backporting 
the new improved fastfail to 2.3, but instead backporting the new 
filters (like spf, graylisting etc.) to the old fastfail availble in 
2.3? Would it be simpler and safer or not?


Maybe Norman has a better overview of this.

I always thought and said that fastfail in v2.3 should have not been 
included or marked as experimental because I know that it was not our 
final solution and we would have broken backward compatibility later, so


I'm not so happy in releasing a new minor release just to improve an 
experimental feature, but I could leave with it (-0).


I really don't know what are the efforts and the risk of backporting the 
additional filters to the old fastfail pattern. Never thought at this 
possibility but as a first guess I don't think this is a better approach.


I still run heavily modified local branches and my main reason for 
being a committer to james is reduce my costs to keep them updated by 
sharing my work with the community: 2.3 has been a failure in my 
roadmap, I simply can't put more efforts in a 

Re: JAMES v2.4 Road Map

2006-09-15 Thread Bernd Fondermann

On 9/14/06, Norman Maurer [EMAIL PROTECTED] wrote:

Vincenzo Gianferrari Pini schrieb:
 I think that we have different goals and views about what is a minor
 release, and how it should be reflected in the naming (numbering) scheme.

 For me (and as I understand also for Noel) a James x.(y+1) release
 should be a release that (i) comes out after no more than 2-3 months
 after an x.y release, and (ii) that can be put into production just
 replacing the james.sar file and maybe adding/replacing/deleting some
 lib jars, (iii) keeping storage compatibility, (iv) without any need
 to change either config.xml, assembly.xml etc. and (v) without any
 database schema changes (btw, IMHO point (iv) is very important).
 James should be able to restart without problems, and changes to the
 configuration files should be needed only to activate new
 functionalities, and such functionalities should have been well tested
 and reasonably safe and useful.
 I know that it was not this way in the past, but I feel it should have
 been, and should be from now on.

 Based on this definition, 2.3 should have been 3.0 (and what we are
 calling 3.0 should be 4.0, but let's forget that :-) ). This
 numbering scheme discussion obviously is useful only to better
 understand each other, also in the future.

 So this is how I think 2.4 should be: useful things that deserve and
 *can* be added to 2.3 in a short time frame, without too much work:
 very first among others the new fastfail (*if* the without too much
 work  applies). Time driven instead of feature driven for minor
 releases.

 Now, how to do that? I think that the only way is through Noel's
 approach: carefully evolve 2.3 to 2.4, adding at least (at most?) the
 new fastfail, plus other carefully chosen things. The code from trunk
 currently  would not allow conditions (i), (ii) and (iv) above, and
 should be used to become 3.0 following Stefano's and Norman's
 suggested roadmap. And after 3.0, any 3.x probably should evolve from
 3.0, and a 4.0  would come out from trunk.



Who will do this merge and test it ? I don't think it will be more
stable then the code in trunk.  For me that make no sense.. Then we have
to maintain 3 trees. We are to few developer for that.


I share Norman's objections. Maintaining 3 trees will not help us
progressing, it will only help stalling the project.


For me its:
2.3.x = bugfixes
2.4 = 2.3.x + new features ( compatible)
3.0 = incompatible changes


addition: 3.0 = incompatible changes, big new features

+1, thats absolutely my take, and my understanding about what is
common sense in the industry
And I don't think its only a number. It is a means of communication to
the user base.

 Bernd

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map

2006-09-15 Thread Bernd Fondermann

On 9/14/06, Noel J. Bergman [EMAIL PROTECTED] wrote:

I will read and reply to the various comments later, but I want to put some
figures into the picture.

 $ du -hs branches/v2.3/src/java trunk/src/java
 13M branches/v2.3/src/java
 15M trunk/src/java

 $ svn
diff --old=https://svn.apache.org/repos/asf/james/server/branches/v2.3/src/j
ava \
--new=https://svn.apache.org/repos/asf/james/server/trunk/src/ja
va diff.txt

 $ ls -l diff.txt
 -rw-rw-r--  1 noel noel 2056010 Sep 14 13:19 diff.txt

So there are 2MB worth of differences in the Java code between trunk and
v2.3.  Some of the 2MB are overhead in the diff format, some are license
headers, some are refactoring, some are more substantial and functional
changes.

I am *not* willing to effectively accept blindly changes of roughly 15% (and
that's only the current stuff, not including major new development) of a
stable codebase.  I *am* willing to go through it with everyone, change by
change, and decide what is reasonably safe to add in the short term, and
what needs much more attention for a later merger.


I am having a hard time understanding this. Do you say, that all
commits in current trunk since branching have a silent -1 from you?
What specific changes do you object?

I think there are enough eyeballs constantly monitoring trunk, which
does not mean to _release_ it blindly without testing. But having an
audit on a commit-per-commit basis makes no sense, since many of them
where applied to 2.3 branch anyway. The rest simply has to be tested.

This is also the reason for me to propose following our original
reasoning when branching 2.3 (read: not 2.x-branch, but 2.3.x-branch):
This is the maintainence branch where we apply bugfixes for 2.3.x.
Fixes are isolated, well tested and thus a branch is maintainable.

 Bernd

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map

2006-09-15 Thread Bernd Fondermann

On 9/15/06, Vincenzo Gianferrari Pini
[EMAIL PROTECTED] wrote:

Stefano Bagnara wrote:

 Vincenzo Gianferrari Pini wrote:


 It's more than one year that I write to this list, you should have
 learned that my discussion are a little rude. Don't take it so hard.

Ok :-) . But we italians (especially we emiliani and romagnoli) have
sometimes to remember that we have sangue caldo ;-) . And the language
doesn't help.


:-)  ... my salt pot is always right here, just for the grain of
salt ;-)  everyone reading apache lists has to have one! keep in
mind, still not everybody has.

 Bernd

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map

2006-09-15 Thread Stefano Bagnara

Bernd Fondermann wrote:

For me its:
2.3.x = bugfixes
2.4 = 2.3.x + new features ( compatible)
3.0 = incompatible changes


addition: 3.0 = incompatible changes, big new features

+1, thats absolutely my take, and my understanding about what is
common sense in the industry
And I don't think its only a number. It is a means of communication to
the user base.

 Bernd


When I say that it is only a number and I don't care of the number I 
mean *NOW* that we are planning a ROADMAP I don't care too much of the 
numbers. I agree that the number is really important for a release but I 
think we could simply decide the right number for our marketing purposes 
just before releasing it. Either way we need a way to talk each others 
about the different roadmaps/branches, so I thought at the next-minor, 
next-major labels... I'm trying to reduce the number of things to be 
discussed now to the minimum so to increase the probability that we come 
to some agreement on what to do.


If anyone want to start a proposal for a new numbering, I suggest to do 
it as a separated thread, and I will add my ideas and I will vote about 
it. I already said that I'm not against the numbering proposed by 
Vincenzo (or your), and we discussed few times about the current 2.3 in 
terms of 3.0: we finally decided to use the 2.3 number. I think we 
should have no worry to make proposals and cast our votes. You know I 
really used few -1 in past, so don't think that every time I have a 
different idea it means I will veto it. I usually say I would probably 
veto this if I think I will do that and when I say I don't agree / I 
have a different idea it means that I will probably vote -0 and propose 
something alternative. I don't start that proposal now because I already 
wrote 2 proposals that are awaiting answers or actions by the people 
with karma so I don't want to put too many things in the in-progress list.


Stefano


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map

2006-09-15 Thread Norman Maurer

Bernd Fondermann schrieb:

On 9/14/06, Noel J. Bergman [EMAIL PROTECTED] wrote:
I will read and reply to the various comments later, but I want to 
put some

figures into the picture.

 $ du -hs branches/v2.3/src/java trunk/src/java
 13M branches/v2.3/src/java
 15M trunk/src/java

 $ svn
diff 
--old=https://svn.apache.org/repos/asf/james/server/branches/v2.3/src/j

ava \

--new=https://svn.apache.org/repos/asf/james/server/trunk/src/ja

va diff.txt

 $ ls -l diff.txt
 -rw-rw-r--  1 noel noel 2056010 Sep 14 13:19 diff.txt

So there are 2MB worth of differences in the Java code between trunk and
v2.3.  Some of the 2MB are overhead in the diff format, some are license
headers, some are refactoring, some are more substantial and functional
changes.

I am *not* willing to effectively accept blindly changes of roughly 
15% (and

that's only the current stuff, not including major new development) of a
stable codebase.  I *am* willing to go through it with everyone, 
change by

change, and decide what is reasonably safe to add in the short term, and
what needs much more attention for a later merger.


I am having a hard time understanding this. Do you say, that all
commits in current trunk since branching have a silent -1 from you?
What specific changes do you object?

I think there are enough eyeballs constantly monitoring trunk, which
does not mean to _release_ it blindly without testing. But having an
audit on a commit-per-commit basis makes no sense, since many of them
where applied to 2.3 branch anyway. The rest simply has to be tested.
I fully agree on this. I review every commit. I think every commiter 
should try todo it. If i see any problems with a commit i whould raise 
my voice.



This is also the reason for me to propose following our original
reasoning when branching 2.3 (read: not 2.x-branch, but 2.3.x-branch):
This is the maintainence branch where we apply bugfixes for 2.3.x.
Fixes are isolated, well tested and thus a branch is maintainable.

 Bernd


Agree..

bye
Norman




-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map

2006-09-15 Thread Bernd Fondermann

On 9/15/06, Stefano Bagnara [EMAIL PROTECTED] wrote:

Bernd Fondermann wrote:
 For me its:
 2.3.x = bugfixes
 2.4 = 2.3.x + new features ( compatible)
 3.0 = incompatible changes

 addition: 3.0 = incompatible changes, big new features

 +1, thats absolutely my take, and my understanding about what is
 common sense in the industry
 And I don't think its only a number. It is a means of communication to
 the user base.

  Bernd

When I say that it is only a number and I don't care of the number I
mean *NOW* that we are planning a ROADMAP I don't care too much of the
numbers. I agree that the number is really important for a release but I
think we could simply decide the right number for our marketing purposes
just before releasing it. Either way we need a way to talk each others
about the different roadmaps/branches, so I thought at the next-minor,
next-major labels... I'm trying to reduce the number of things to be
discussed now to the minimum so to increase the probability that we come
to some agreement on what to do.

If anyone want to start a proposal for a new numbering, I suggest to do
it as a separated thread, and I will add my ideas and I will vote about
it. I already said that I'm not against the numbering proposed by
Vincenzo (or your), and we discussed few times about the current 2.3 in
terms of 3.0: we finally decided to use the 2.3 number. I think we
should have no worry to make proposals and cast our votes. You know I
really used few -1 in past, so don't think that every time I have a
different idea it means I will veto it. I usually say I would probably
veto this if I think I will do that and when I say I don't agree / I
have a different idea it means that I will probably vote -0 and propose
something alternative.


ok, sure, fine. what's the point?


I don't start that proposal now because I already
wrote 2 proposals that are awaiting answers or actions by the people
with karma so I don't want to put too many things in the in-progress list.


trying to get through to it, but you are writing _lots_ of text, man!
that's really eating up my time.

 Bernd

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map

2006-09-14 Thread Vincenzo Gianferrari Pini
I think that we have different goals and views about what is a minor 
release, and how it should be reflected in the naming (numbering) scheme.


For me (and as I understand also for Noel) a James x.(y+1) release 
should be a release that (i) comes out after no more than 2-3 months 
after an x.y release, and (ii) that can be put into production just 
replacing the james.sar file and maybe adding/replacing/deleting some 
lib jars, (iii) keeping storage compatibility, (iv) without any need to 
change either config.xml, assembly.xml etc. and (v) without any database 
schema changes (btw, IMHO point (iv) is very important). James should be 
able to restart without problems, and changes to the configuration files 
should be needed only to activate new functionalities, and such 
functionalities should have been well tested and reasonably safe and 
useful.
I know that it was not this way in the past, but I feel it should have 
been, and should be from now on.


Based on this definition, 2.3 should have been 3.0 (and what we are 
calling 3.0 should be 4.0, but let's forget that :-) ). This numbering 
scheme discussion obviously is useful only to better understand each 
other, also in the future.


So this is how I think 2.4 should be: useful things that deserve and 
*can* be added to 2.3 in a short time frame, without too much work: very 
first among others the new fastfail (*if* the without too much work  
applies). Time driven instead of feature driven for minor releases.


Now, how to do that? I think that the only way is through Noel's 
approach: carefully evolve 2.3 to 2.4, adding at least (at most?) the 
new fastfail, plus other carefully chosen things. The code from trunk 
currently  would not allow conditions (i), (ii) and (iv) above, and 
should be used to become 3.0 following Stefano's and Norman's suggested 
roadmap. And after 3.0, any 3.x probably should evolve from 3.0, and a 
4.0  would come out from trunk.


So, if the new fastfail is not mature enough, an effort should be put on 
it to become so in the 2-3 months timeframe. If not possible (but I 
don't think so), the remaining things may not be enough to justify a 2.4 
(unless we have bugs in 2.3 to solve that would force us to build a 
2.3.1: -- 2.4 = 2.3 + bug fixes + new features --), and we would 
have to wait for a 3.0 coming out of trunk when we decide to branch it.


Who would do this 2.4 work? We know that *currently* the most active 
committers are Stefano, Norman and (slightly less Noel), followed by 
myself and Bernd that are both more oriented to contributions in 
specific areas (btw more release independent). So Noel and Norman 
could hopefully concentrate on fastfail and related functionalities, I 
would work on Bayesian, Crypto (+something else that may come out) , and 
Bernd on whatever he feels useful, appropriate and possible. And Stefano 
can concentrate on more long term things for 3.0 and jump into 2.4 when 
possible.


To wrap up, a final consideration: as a James user, I prefer to have 
*soon* a *few* new and safe functionalities rather than to wait a long 
time for a lot of new functionalities. But in the long term I want James 
to evolve ambitiously.


I hope all this makes sense :-) .

Vincenzo


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map

2006-09-14 Thread Stefano Bagnara

Vincenzo Gianferrari Pini wrote:
I think that we have different goals and views about what is a minor 
release, and how it should be reflected in the naming (numbering) scheme.


For me (and as I understand also for Noel) a James x.(y+1) release 
should be a release that (i) comes out after no more than 2-3 months 
after an x.y release, and (ii) that can be put into production just 
replacing the james.sar file and maybe adding/replacing/deleting some 
lib jars, (iii) keeping storage compatibility, (iv) without any need to 
change either config.xml, assembly.xml etc. and (v) without any database 
schema changes (btw, IMHO point (iv) is very important). James should be 
able to restart without problems, and changes to the configuration files 
should be needed only to activate new functionalities, and such 
functionalities should have been well tested and reasonably safe and 
useful.
I know that it was not this way in the past, but I feel it should have 
been, and should be from now on.


Imho this is a point release definition: what I would expect in a 2.3.0 
to 2.3.1 upgrade.


Based on this definition, 2.3 should have been 3.0 (and what we are 
calling 3.0 should be 4.0, but let's forget that :-) ). This numbering 
scheme discussion obviously is useful only to better understand each 
other, also in the future.


Yes, but we already used a different scheme for 2.1, 2.2 and 2.3.. so 
why change it for 2.4?


If you really want to follow this numbering we should renumber the 
current 2.3.0rc3 to 3.0.0 and not 2.3 and start working on 4.0.0, but as 
we have 3 numbers, why should we only use the first?


Anyway, I always said that I don't care about the number while 
discussing, I just care about what we release and when. So we can even 
talk about the next release and skip the number if this helps (we'll 
vote the number just before the release).


2.x releases have been storage compatible in past, so I think we can 
safely put in the 2.x scheme every future storage compatible release and 
keep 3.0 for bigger steps, but mine is only a +1 vs +0, no vetoes about 
this meaningless thing: we need code to make releases, not numbers.


So this is how I think 2.4 should be: useful things that deserve and 
*can* be added to 2.3 in a short time frame, without too much work: very 
first among others the new fastfail (*if* the without too much work  
applies). Time driven instead of feature driven for minor releases.


If we take everything we have in trunk now and compare with 2.3 I think 
that fastfail is one of the few things that cannot be backported as is. 
As I already wrote we have uncomplete code both in trunk and in an 
unfinished handlerv2 branch, so it's unfair (imo) to think that merging 
fastfail to 2.3 is less work or it is safer than releasing current trunk.


Furthermore what you define useful is not what others may define 
useful, so don't be so blind: I did a lot of changes for 2.3 that were 
not useful for 2.3 itself but now are the basis for the new 
developments. If I didn't include them in 2.3 we now would have much 
more code to test for the next release.


Now, how to do that? I think that the only way is through Noel's 
approach: carefully evolve 2.3 to 2.4, adding at least (at most?) the 
new fastfail, plus other carefully chosen things. The code from trunk 
currently  would not allow conditions (i), (ii) and (iv) above, and 
should be used to become 3.0 following Stefano's and Norman's suggested 
roadmap. And after 3.0, any 3.x probably should evolve from 3.0, and a 
4.0  would come out from trunk.


If this is your conditions then I say let's skip 2.4 (we can't afford 
it) and work on 3.0 (see my 2.4 proposal and call it 3.0).


I don't agree with this change in the numbering (why shouldn't we use 
the third number ???) but I really don't care now.. We can vote the 
preferred number the day that we'll have to release.


Furthermore I want to let you know that the new fastfail stuff need 
changes to configuration files and would no allow conditions (ii) and 
(iv), so using your numbering scheme would not be suitable for 2.4.


So, if the new fastfail is not mature enough, an effort should be put on 
it to become so in the 2-3 months timeframe. If not possible (but I 
don't think so), the remaining things may not be enough to justify a 2.4 
(unless we have bugs in 2.3 to solve that would force us to build a 
2.3.1: -- 2.4 = 2.3 + bug fixes + new features --), and we would 
have to wait for a 3.0 coming out of trunk when we decide to branch it.


This matches what Norman and me said, but you simply want to call the 
next release 3.0 and not 2.4.


Who would do this 2.4 work? We know that *currently* the most active 
committers are Stefano, Norman and (slightly less Noel), followed by 
myself and Bernd that are both more oriented to contributions in 
specific areas (btw more release independent). So Noel and Norman 
could hopefully concentrate on fastfail and related functionalities, I 

Re: JAMES v2.4 Road Map

2006-09-14 Thread Norman Maurer

Vincenzo Gianferrari Pini schrieb:
I think that we have different goals and views about what is a minor 
release, and how it should be reflected in the naming (numbering) scheme.


For me (and as I understand also for Noel) a James x.(y+1) release 
should be a release that (i) comes out after no more than 2-3 months 
after an x.y release, and (ii) that can be put into production just 
replacing the james.sar file and maybe adding/replacing/deleting some 
lib jars, (iii) keeping storage compatibility, (iv) without any need 
to change either config.xml, assembly.xml etc. and (v) without any 
database schema changes (btw, IMHO point (iv) is very important). 
James should be able to restart without problems, and changes to the 
configuration files should be needed only to activate new 
functionalities, and such functionalities should have been well tested 
and reasonably safe and useful.
I know that it was not this way in the past, but I feel it should have 
been, and should be from now on.


Based on this definition, 2.3 should have been 3.0 (and what we are 
calling 3.0 should be 4.0, but let's forget that :-) ). This 
numbering scheme discussion obviously is useful only to better 
understand each other, also in the future.


So this is how I think 2.4 should be: useful things that deserve and 
*can* be added to 2.3 in a short time frame, without too much work: 
very first among others the new fastfail (*if* the without too much 
work  applies). Time driven instead of feature driven for minor 
releases.


Now, how to do that? I think that the only way is through Noel's 
approach: carefully evolve 2.3 to 2.4, adding at least (at most?) the 
new fastfail, plus other carefully chosen things. The code from trunk 
currently  would not allow conditions (i), (ii) and (iv) above, and 
should be used to become 3.0 following Stefano's and Norman's 
suggested roadmap. And after 3.0, any 3.x probably should evolve from 
3.0, and a 4.0  would come out from trunk.
Who will do this merge and test it ? I don't think it will be more 
stable then the code in trunk.  For me that make no sense.. Then we have 
to maintain 3 trees. We are to few developer for that. I also see no 
problems with i - v. If you look at Stefanos list of things todo for 2.4 
you will notice that this things will not require such changes. Only for 
new features like you said..


I think we can do most of the changes in about 6 Month. So a new 
powerfull release in 6 Month is cool... So why loose time with 
mergin.. it will take weeks .





So, if the new fastfail is not mature enough, an effort should be put 
on it to become so in the 2-3 months timeframe. If not possible (but I 
don't think so), the remaining things may not be enough to justify a 
2.4 (unless we have bugs in 2.3 to solve that would force us to build 
a 2.3.1: -- 2.4 = 2.3 + bug fixes + new features --), and we 
would have to wait for a 3.0 coming out of trunk when we decide to 
branch it.


For me its:
2.3.x = bugfixes
2.4 = 2.3.x + new features ( compatible)
3.0 = incompatible changes


Who would do this 2.4 work? We know that *currently* the most active 
committers are Stefano, Norman and (slightly less Noel), followed by 
myself and Bernd that are both more oriented to contributions in 
specific areas (btw more release independent). So Noel and Norman 
could hopefully concentrate on fastfail and related functionalities, I 
would work on Bayesian, Crypto (+something else that may come out) , 
and Bernd on whatever he feels useful, appropriate and possible. And 
Stefano can concentrate on more long term things for 3.0 and jump into 
2.4 when possible.


To wrap up, a final consideration: as a James user, I prefer to have 
*soon* a *few* new and safe functionalities rather than to wait a 
long time for a lot of new functionalities. But in the long term I 
want James to evolve ambitiously.


I hope all this makes sense :-) .

Vincenzo

bye
Norman





-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map

2006-09-14 Thread Vincenzo Gianferrari Pini

Stefano Bagnara wrote:


Vincenzo Gianferrari Pini wrote:

I think that we have different goals and views about what is a minor 
release, and how it should be reflected in the naming (numbering) 
scheme.


For me (and as I understand also for Noel) a James x.(y+1) release 
should be a release that (i) comes out after no more than 2-3 months 
after an x.y release, and (ii) that can be put into production just 
replacing the james.sar file and maybe adding/replacing/deleting some 
lib jars, (iii) keeping storage compatibility, (iv) without any need 
to change either config.xml, assembly.xml etc. and (v) without any 
database schema changes (btw, IMHO point (iv) is very important). 
James should be able to restart without problems, and changes to the 
configuration files should be needed only to activate new 
functionalities, and such functionalities should have been well 
tested and reasonably safe and useful.
I know that it was not this way in the past, but I feel it should 
have been, and should be from now on.



Imho this is a point release definition: what I would expect in a 
2.3.0 to 2.3.1 upgrade.


Well, I consider a point release a simple bug fixing release, with no 
new features, as a 2.3.1 would be (possibly not needed).




Based on this definition, 2.3 should have been 3.0 (and what we are 
calling 3.0 should be 4.0, but let's forget that :-) ). This 
numbering scheme discussion obviously is useful only to better 
understand each other, also in the future.



Yes, but we already used a different scheme for 2.1, 2.2 and 2.3.. so 
why change it for 2.4?


Because IMHO it was wrong :-) .



If you really want to follow this numbering we should renumber the 
current 2.3.0rc3 to 3.0.0 and not 2.3 and start working on 4.0.0, but 
as we have 3 numbers, why should we only use the first?


See above.



Anyway, I always said that I don't care about the number while 
discussing, I just care about what we release and when. So we can even 
talk about the next release and skip the number if this helps (we'll 
vote the number just before the release).


2.x releases have been storage compatible in past, so I think we can 
safely put in the 2.x scheme every future storage compatible release 
and keep 3.0 for bigger steps, but mine is only a +1 vs +0, no vetoes 
about this meaningless thing: we need code to make releases, not numbers.


Not only storage compatible, but also configuration compatible etc.
About numbering, it is like naming: helps in stating things.
And please breathe a second and take it easy before ironizing and 
telling other people that they say meaningless things etc. You won't 
convince anybody this way, you will only put them off.




So this is how I think 2.4 should be: useful things that deserve and 
*can* be added to 2.3 in a short time frame, without too much work: 
very first among others the new fastfail (*if* the without too much 
work  applies). Time driven instead of feature driven for minor 
releases.



If we take everything we have in trunk now and compare with 2.3 I 
think that fastfail is one of the few things that cannot be backported 
as is. As I already wrote we have uncomplete code both in trunk and in 
an unfinished handlerv2 branch, so it's unfair (imo) to think that 
merging fastfail to 2.3 is less work or it is safer than releasing 
current trunk.


I don't say that it can be backported as is. My hope (and I know that I 
may be wrong) is that it can be backported with some work. And releasing 
current trunk means releasing the *whole* current trunk.




Furthermore what you define useful is not what others may define 
useful, so don't be so blind: I did a lot of changes for 2.3 that 
were not useful for 2.3 itself but now are the basis for the new 
developments. If I didn't include them in 2.3 we now would have much 
more code to test for the next release.


I'm saying *functionally* useful from a James user point of view, not 
useful for *new development*. But in general you are right.




Now, how to do that? I think that the only way is through Noel's 
approach: carefully evolve 2.3 to 2.4, adding at least (at most?) the 
new fastfail, plus other carefully chosen things. The code from trunk 
currently  would not allow conditions (i), (ii) and (iv) above, and 
should be used to become 3.0 following Stefano's and Norman's 
suggested roadmap. And after 3.0, any 3.x probably should evolve from 
3.0, and a 4.0  would come out from trunk.



If this is your conditions then I say let's skip 2.4 (we can't afford 
it) and work on 3.0 (see my 2.4 proposal and call it 3.0).


I don't agree with this change in the numbering (why shouldn't we use 
the third number ???) but I really don't care now.. We can vote the 
preferred number the day that we'll have to release.


The point is timing: I would like to have a sound release come out in 
2-3 months, while working in parallel on a major one expected to come 
out in a longer time frame. And the numbering scheme just expresses 

Re: JAMES v2.4 Road Map

2006-09-14 Thread Stefano Bagnara

Vincenzo Gianferrari Pini wrote:
Yes, but we already used a different scheme for 2.1, 2.2 and 2.3.. so 
why change it for 2.4?


Because IMHO it was wrong :-) .


Ok, What I'm trying to say that consistency helps understanding: if you 
change the rules in the middle you don't help people.
And if you really have to change the rule for the next minor why don't 
we change the yet-to-be-release 2.3?

I simply say that imho this discussion does not belong to a 2.4.

Anyway, I always said that I don't care about the number while 
discussing, I just care about what we release and when. So we can even 
talk about the next release and skip the number if this helps (we'll 
vote the number just before the release).


2.x releases have been storage compatible in past, so I think we can 
safely put in the 2.x scheme every future storage compatible release 
and keep 3.0 for bigger steps, but mine is only a +1 vs +0, no vetoes 
about this meaningless thing: we need code to make releases, not numbers.


Not only storage compatible, but also configuration compatible etc.
About numbering, it is like naming: helps in stating things.
And please breathe a second and take it easy before ironizing and 
telling other people that they say meaningless things etc. You won't 
convince anybody this way, you will only put them off.


This is not true: 2.x releases have been only storage compatible. I had 
to upgrade config.xml for evey second-digit step from 2.0 to 2.1.* to 
2.2.0 to current 2.3.0rc3.


I don't say that what you say is meaningless, I say that numbering is 
meaningless in a roadmap: a roadmap should include features, maybe 
dates, but numbers are simply labels used to understand each other.


So my proposal is to choose 2 names: one for the release you and Noel 
are proposing and that will be a branch of 2.3.0 with a few features 
from trunk to be released before the end of november and the other for 
the release I and Norman want to work for and to be branched from trunk 
at start of January 2007 and released in March 2007.


I removed the (unused) 2.4 tag from our JIRA and renamed the 3.0 tag to 
Trunk so that we don't introduce much more confusion. We marked things 
resolved against 3.0, it is better to say that we resolved them in trunk 
so we can rename trunk to something else when we'll branch. My fantasy 
is limited so I would define then next-minor-release and 
next-major-release (and we could have a next-greater-release for 
storage incompatibility and other major changes).


I think that you can create a new version in jira and call it 
next-minor and make a list of things you want to merge back in this 
release. I hope it is fine for you if I won't work on this branch and to 
agree that this release should not block trunk development or the start 
of the next-major release.


I'm not trying to convince anyone, and I'm simply trying to define 
something that works for me. If you say something that I think is not 
correct I tell you: this is the way I discuss. I think I worked much 
more than most of other committers on the James code in the last year so 
I think that you may not have the same visibility I had on some of the 
code that has been included in trunk and 2.3 branch, and that's why I 
write them here. Take into consideration that I will always read and try 
to understand your point: this doesn't mean I change my ideas easily, 
but I change them very often (only stupids never change idea).


It's more than one year that I write to this list, you should have 
learned that my discussion are a little rude. Don't take it so hard.


So this is how I think 2.4 should be: useful things that deserve and 
*can* be added to 2.3 in a short time frame, without too much work: 
very first among others the new fastfail (*if* the without too much 
work  applies). Time driven instead of feature driven for minor 
releases.


If we take everything we have in trunk now and compare with 2.3 I 
think that fastfail is one of the few things that cannot be backported 
as is. As I already wrote we have uncomplete code both in trunk and in 
an unfinished handlerv2 branch, so it's unfair (imo) to think that 
merging fastfail to 2.3 is less work or it is safer than releasing 
current trunk.


I don't say that it can be backported as is. My hope (and I know that I 
may be wrong) is that it can be backported with some work. And releasing 
current trunk means releasing the *whole* current trunk.


I can only repeat my vision of the current trunk:
there are a lot of finished things applied to that tree, and only one 
thing is for sure in-progress and still subject to design analysis. This 
thing is the fastfail, that is one of the core components of your 
next-minor release.


I simply think that with almost the same efforts needed to release 
2.3+new improved fastfail (next-minor) we would release the next-major 
because that one is one of the few things that still deserve much attention.


Btw I don't know the future and I can 

RE: JAMES v2.4 Road Map

2006-09-14 Thread Noel J. Bergman
I will read and reply to the various comments later, but I want to put some
figures into the picture.

 $ du -hs branches/v2.3/src/java trunk/src/java
 13M branches/v2.3/src/java
 15M trunk/src/java

 $ svn
diff --old=https://svn.apache.org/repos/asf/james/server/branches/v2.3/src/j
ava \
--new=https://svn.apache.org/repos/asf/james/server/trunk/src/ja
va diff.txt

 $ ls -l diff.txt
 -rw-rw-r--  1 noel noel 2056010 Sep 14 13:19 diff.txt

So there are 2MB worth of differences in the Java code between trunk and
v2.3.  Some of the 2MB are overhead in the diff format, some are license
headers, some are refactoring, some are more substantial and functional
changes.

I am *not* willing to effectively accept blindly changes of roughly 15% (and
that's only the current stuff, not including major new development) of a
stable codebase.  I *am* willing to go through it with everyone, change by
change, and decide what is reasonably safe to add in the short term, and
what needs much more attention for a later merger.

--- Noel



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map

2006-09-14 Thread Norman Maurer

Noel J. Bergman schrieb:

I will read and reply to the various comments later, but I want to put some
figures into the picture.

 $ du -hs branches/v2.3/src/java trunk/src/java
 13M branches/v2.3/src/java
 15M trunk/src/java

 $ svn
diff --old=https://svn.apache.org/repos/asf/james/server/branches/v2.3/src/j
ava \
--new=https://svn.apache.org/repos/asf/james/server/trunk/src/ja
va diff.txt

 $ ls -l diff.txt
 -rw-rw-r--  1 noel noel 2056010 Sep 14 13:19 diff.txt

So there are 2MB worth of differences in the Java code between trunk and
v2.3.  Some of the 2MB are overhead in the diff format, some are license
headers, some are refactoring, some are more substantial and functional
changes.

I am *not* willing to effectively accept blindly changes of roughly 15% (and
that's only the current stuff, not including major new development) of a
stable codebase.  I *am* willing to go through it with everyone, change by
change, and decide what is reasonably safe to add in the short term, and
what needs much more attention for a later merger.

--- Noel

  
Well you don't need. Like Stefano said.. We can split development. I 
would focus with stefano on trunk and you and others can do the merge. I 
will help for sure if any problems raise.


bye
Norman



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map

2006-09-14 Thread Stefano Bagnara

Noel J. Bergman wrote:

I will read and reply to the various comments later, but I want to put some
figures into the picture.
[..]
 $ ls -l diff.txt
 -rw-rw-r--  1 noel noel 2056010 Sep 14 13:19 diff.txt

So there are 2MB worth of differences in the Java code between trunk and
v2.3.  Some of the 2MB are overhead in the diff format, some are license
headers, some are refactoring, some are more substantial and functional
changes.


Ante scriptum: This 2MB things MEANS NOTHING to me (if not the RAM 
leaked by your server :-P ):
a. 1MB is the header update patch (svn diff -r426006:426007 
https://svn.apache.org/repos/asf/james/server/trunk/src/java 
diff-license.txt)

b. 466K are in the smtpserver package
c. Most of other changes are small refactorings (where code has been 
moved in another class so it creates big diff) and new classes (we added 
new mailets, and a lot of remotemanager/jmx stuff). As an example 45K of 
this remaining bytes (almost 10%) are the new mailets I committed 3 days 
ago: new mailets (even if they may be buggy) are much less dangerous 
than the fastfail change.


That said I hope you now have a better overview of what we are talking 
about and that you understand that MOST code changes are in the 
smtpserver package that is the one now under branching/redesign.



I am *not* willing to effectively accept blindly changes of roughly 15% (and
that's only the current stuff, not including major new development) of a
stable codebase.  I *am* willing to go through it with everyone, change by
change, and decide what is reasonably safe to add in the short term, and
what needs much more attention for a later merger.


Why blindly? I always check what we commit in trunk: imho trunk is not 
special. If you never looked at it then feel free to start reviewing it, 
but the fact that you never looked at it doesn't mean that we did the 
same. I don't feel blind about trunk: in fact I tried to reproduce in 
trunk every single bug we found in 2.3 and I always fixed it in trunk 
before checking wether the solution could be applied to the branch.


I'm not ready to start an issue by issue, commit by commit discussion 
for a next-minor release.


I trust your judgement about it, so feel free to do this with Vincenzo 
and anyone else that want to be part of this selection work. My reply 
now would be either let's wait, we are not ready to branch or +1 to 
include every single patch, but we'll need to decide what to do with the 
2 handlerchain trees so it doesn't make sense that we work *together* 
for this.


I hope you won't need 2 months to review the 2MB or your roadmap will 
have some delay (just joking ;-) ), so feel free to review and to add 
any useful consideration to this thread!


Sincerely I suggest you to finish the fastfail/handlerchain stuff before 
starting this selection work as this is the bigger of the steps in your 
roadmap and If I understood your roadmap fastfail is the key component 
of the next-minor release.


I hope you will accept the next-minor / next-major proposal and that 
we are ready to start.


Stefano


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map

2006-09-14 Thread Stefano Bagnara

Vincenzo Gianferrari Pini wrote:
Furthermore I want to let you know that the new fastfail stuff need 
changes to configuration files and would no allow conditions (ii) and 
(iv), so using your numbering scheme would not be suitable for 2.4.


My point is (without integralism) to be able to get 2.4, and have my 
production system run doing the same things as before with no or at 
least little effort (no or very little changes to configuration) and 
then, when I'm confortable, start exploiting the new features by 
changing the configuration files. By little effort I mean also the 
ability to easily rollback if weird things happen. And you know that 
going from 2.2 to 2.3 was not simple at all!
*If* those things turn out to be impossible, then obviously we will 
follow your and Norman's roadmap :-) . But *if* it is feasible, as also 
Noel thinks, this is my choice.


As a note, the new fastfail stuff needs also changes to the 
assembly.xml, so even if the config.xml could be kept compatible this 
would not be the same for assembly.xml.


This is not to say that you don't have to follow that roadmap (as I said 
I'm happy if you produce an interim release and I don't have to put my 
efforts for this to happen), but to give you more information on what 
you can expect to achieve.


Stefano

--
PS: is weird how having the componet assembly in xml instead of 
hardcoded in a file is creating incompatibility issues that we wouldn't 
care of otherwise. We should keep this in mind when/if we'll ever move 
to another container.



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: JAMES v2.4 Road Map

2006-09-13 Thread Stefano Bagnara
Noel J. Bergman wrote:
 Stefano Bagnara wrote:
 
 Noel J. Bergman wrote:
 As I said long ago, if you want to move trunk to 2.4, we should
 review every difference.  Then, if we agree that each one
 represents a suitable risk/reward, fine.
 
 I'm sorry but (as I also said long ago) I'm on the opposite position
 about the 2.4 roadmap.
 
 So what is your position?  That we should simply dump trunk on users without
 proper review?  Without comparing it to what we have spent so long testing
 and reviewing in the 2.3 branch?

??? I already review and test trunk, we'll start more consolidation as
soon as we'll branch: every project and every release works like this. I
never thought about a blind tag trunk and make a final release without
even building it.

 Now I think that not only we should include everything we have now in
 trunk, but we should also define a period of feature development where
 we try to put in every cool feature we are able to develop in this time
 with one single restriction: keep storage compatibility.
 
 When do you expect to put that out?!  I'm talking about a plan that allows
 us to put out a stable release very few months with carefully made changes,
 and you just want to core dump!  I do not agree to that approach.

I think that we need features much more than releases. As I always said
we'll loose users if we keep making monthly releases with NO CHANGES.

 My proposal is to start at least 2 months of free development in trunk
 and then create the 2.4 branch to start the consolidation process.
 
 And if we do it my way, we can release 2.4 in less than 2 months.  And work
 on v3 at the same time.  And I want to branch soon, so that we can start
 working on the major changes that we should be doing for v3, and not just
 the safe but useful changes for v2.4.

Well, let's talk about facts: who is willing to work on your 2.4 as a
2.3 + selective branch? I won't work on it, but if you think you, and
other committers will have the time and willing to put out a 2.4 in 2
months without blocking the trunk development we can work on both
releases at the same time: 2.4 in 2 month, 2.5 in 6 months. I think that
the differences between my roadmap and the Norman roadmap can be removed
with few more discussions while your approach is not compatible.
Imo trunk is now more safe than any 2.3+selective merge work because
both I and Norman tested trunk but no-one tested the merge work.

 Everything we currently have in trunk deserve inclusion in the next
 release and much more of this.
 
 Wrong.  Most of what is in trunk has had a fraction of the review and
 testing that we have spent on v2.3, and you're talking about a free-for-all
 of development.

Free-for-all? I had flame wars for a fetchmail refactoring and you
talk of free-for-all??

 Furthermore I would consider a big mistake to try to release 2.4 as a
 2.3 + new fastfail things, because new fastfail things are still in
 progress and not mature enough
 
 And yet you want to use TRUNK as 2.4?!  Be consistent.  Trunk has many such
 still in progress and not mature enough things, not just fast-fail.  Maybe
 we decide that fast-fail isn't mature enough yet.  As you say:

Yes, I think that now fastfail is not mature, but working on it for 2-3
more months we can find a good solution: we were simply too busy on 2.3
to work on fastfail stabilization. Many new things have been written in
the fastfail package and I still have to test them.
Your 2 months roadmap is simply not concrete to me: we need weeks to
simply vote an alpha release and you think you can produce a new final
in 2 months? Imo if you start a selective work you will need 2 months
only to discuss what to include and what to exclude... btw as I said
before I don't think I need to convince you, we can simply try. If you
can manage a 2.4 release that will not block us from working on the 3
months development/3 months consolidation work I can leave with it.

 There is a lot of stuff that has been removed by the 2.3 branch but
 should really fit the 2.4 branch: database read/write streaming (we have
 write streaming in 2.3 but disabled by default because we had no time to
 test it enough), spool manager refactorings, 8bitmime (try again with
 new javamail fixes). We should refactor pop3 to follow the same smtp
 handlerchain pattern (and maybe do the same for remotemanager and nntp).
 We could try to include easier virtualhosting support, support for APOP
 and much other features that don't introduce storage incompatibility
 problems.
 
 Not all of those share the same level of testing, value or urgency, and yet
 you just want to dump it all on users as if we had carefully developed and
 tested them?

It would take months of discussion to decide what deserve inclusion and
what not. Imo 2.4 can't be your own needs release, but if you are able
to work on it, test it, document it, and publish it in 2 months then I
won't stop you from doing this: a new stable release is for sure good to
James. That said 

Re: JAMES v2.4 Road Map

2006-09-13 Thread Stefano Bagnara
Norman Maurer wrote:
 Now I think that not only we should include everything we have now in
 trunk, but we should also define a period of feature development where
 we try to put in every cool feature we are able to develop in this time
 with one single restriction: keep storage compatibility.
 When do you expect to put that out?!  I'm talking about a plan that allows
 us to put out a stable release very few months with carefully made changes,
 and you just want to core dump!  I do not agree to that approach.
 I don't agree with you both :-P 
 I think we need a roadmap and only workin on the code which include
 features which listed in the roadmap. Bugs should be fixed too.. 
 When someone feel to work on a other task then one listed in the roadmap
 he should raise his voice in the mailinglist and if we agree we put it
 on the roadmap and include it. If not he should wait with the work and
 wait for next release.
 Like i said before i see no problems starting to workin on 2.4 and use
 trunk as it is. I whould be happy if we could put out 2.4 in about 6
 Month later then 2.3 is released. 

Well, I think that we have not enough man-power and paid-work to define
a roadmap with dates and be sure we'll reach our goals. So we should
either define a feature set OR a date for the branch. Imo if we want to
be sure we'll release in about 6 month we should start the consolidation
branch in 2-3 months from now.

So I think we should define a list of things that could be included and
things that must be postponed and then we'll have to accept what we have
in trunk when we branch.

 Furthermore I would consider a big mistake to try to release 2.4 as a
 2.3 + new fastfail things, because new fastfail things are still in
 progress and not mature enough
 And yet you want to use TRUNK as 2.4?!  Be consistent.  Trunk has many such
 still in progress and not mature enough things, not just fast-fail.  Maybe
 we decide that fast-fail isn't mature enough yet.  As you say:
 
 I agree that we have stuff which is not 100% finish. So we need to focus
 on that first! The handler api is one of the stuff we need to finish
 first soon. Cause as longer we wait as harder it get to merge the
 stuff. 

Right: if we define a date for the consolidation-branch then we can take
care than no unfinished stuff is in trunk by that day so that we won't
need to finish stuff in the branch but only to consolidate it.
Now it is simply unfeasible to branch 2.4 from trunk and finish the
fastfail work there. Imo if we wanted to branch today we should exclude
fastfail because it is still work in progress and we still have a
further proposal branch opened on that issue. So we only could include
very few things: JMX stuff, few mailets, few management commands, and
common daemon. I won't loose a release cycle for so few features.

 A last reason to not start a 2.4 branch now and to not start a selective
 merge job is that we are not sure that 2.3.0 would not need a 2.3.1
 release in a month
 If we start v2.4 from v2.3, we don't need 2.3.1.  2.4 would be suffice.  I
 want to start using this stuff ASAP, not after another year of development
 and testing.
  --- Noel


 I agree with Stefano.. And i think we can push a 2.4 release in 6 Month
 ( At least i hope so). 
 
 So i think the next step must a roadmap! First we should dedicide which
 jira issues should be moved to 2.4 before do anything else. Without a
 roadmap we only make it more complicated.

My proposal is:
- everything we have in trunk now: now I can't see anything critical
enough to be removed.
- JAMES-426 - Make james use virtual user table domains for servernames
- JAMES-52 - 8bitmime capabilities missing
- JAMES-487 - Refactor Bundled handlers to use the HandlerChain pattern
- JAMES-577 - Switch default sendpartial to true for RemoteDelivery
- JAMES-607 - Rewrite MBoxMailRepository to use mstor
- JAMES-611 - Remove finalizers and make sure we always call dispose
when unreferencing objects
- JAMES-461 - Javamail Store based MailRepository support (was: Maildir
support)
- JAMES-614 - Add more actions to FastFailHandlers
- JAMES-549 - Refactoring SMTPHandler to allow better integration of
more the one class per command
- JAMES-599 - BeanShell Scripting in James
- JAMES-562 - Aliasmanagment should not depend on a user (see as
VUT-UsersAliasingForwarding common interface and remove tightly
dependencies between James and JamesUser)
- JAMES-595 - Change names of release artifacts to use james-server
instead of james.

As I said if some of them will not be ready it won't be included: time
based roadmap is good if we have a good amount of
new-feature-development time in the release cycles.

Other things that I would like to see there if we find the time:
- JAMES-491 - SpoolManager refactorings
- JAMES-126 - Add support for APOP authentication protocol
- JAMES-551 - Use MINA as framework
- JAMES-493 - Refactor James components/services to simplify their usage
in other IoC containers (SDI)
- JAMES-521 - 

Re: JAMES v2.4 Road Map

2006-09-13 Thread Norman Maurer
Am Mittwoch, den 13.09.2006, 10:13 +0200 schrieb Stefano Bagnara:
 Norman Maurer wrote:
  Now I think that not only we should include everything we have now in
  trunk, but we should also define a period of feature development where
  we try to put in every cool feature we are able to develop in this time
  with one single restriction: keep storage compatibility.
  When do you expect to put that out?!  I'm talking about a plan that allows
  us to put out a stable release very few months with carefully made changes,
  and you just want to core dump!  I do not agree to that approach.
  I don't agree with you both :-P 
  I think we need a roadmap and only workin on the code which include
  features which listed in the roadmap. Bugs should be fixed too.. 
  When someone feel to work on a other task then one listed in the roadmap
  he should raise his voice in the mailinglist and if we agree we put it
  on the roadmap and include it. If not he should wait with the work and
  wait for next release.
  Like i said before i see no problems starting to workin on 2.4 and use
  trunk as it is. I whould be happy if we could put out 2.4 in about 6
  Month later then 2.3 is released. 
 
 Well, I think that we have not enough man-power and paid-work to define
 a roadmap with dates and be sure we'll reach our goals. So we should
 either define a feature set OR a date for the branch. Imo if we want to
 be sure we'll release in about 6 month we should start the consolidation
 branch in 2-3 months from now.
Agree. We should define a list of features we want to include. Maybe
with prio. Then after a period we must dedicide what todo if we want to
release it soon we can remove tasks if not we can focus on a new date. I
think a release date is importend.

 
 So I think we should define a list of things that could be included and
 things that must be postponed and then we'll have to accept what we have
 in trunk when we branch.

agree.

 
  Furthermore I would consider a big mistake to try to release 2.4 as a
  2.3 + new fastfail things, because new fastfail things are still in
  progress and not mature enough
  And yet you want to use TRUNK as 2.4?!  Be consistent.  Trunk has many such
  still in progress and not mature enough things, not just fast-fail.  
  Maybe
  we decide that fast-fail isn't mature enough yet.  As you say:
  
  I agree that we have stuff which is not 100% finish. So we need to focus
  on that first! The handler api is one of the stuff we need to finish
  first soon. Cause as longer we wait as harder it get to merge the
  stuff. 
 
 Right: if we define a date for the consolidation-branch then we can take
 care than no unfinished stuff is in trunk by that day so that we won't
 need to finish stuff in the branch but only to consolidate it.
 Now it is simply unfeasible to branch 2.4 from trunk and finish the
 fastfail work there. Imo if we wanted to branch today we should exclude
 fastfail because it is still work in progress and we still have a
 further proposal branch opened on that issue. So we only could include
 very few things: JMX stuff, few mailets, few management commands, and
 common daemon. I won't loose a release cycle for so few features.
Same here. 

 
  A last reason to not start a 2.4 branch now and to not start a selective
  merge job is that we are not sure that 2.3.0 would not need a 2.3.1
  release in a month
  If we start v2.4 from v2.3, we don't need 2.3.1.  2.4 would be suffice.  I
  want to start using this stuff ASAP, not after another year of development
  and testing.
 --- Noel
 
 
  I agree with Stefano.. And i think we can push a 2.4 release in 6 Month
  ( At least i hope so). 
  
  So i think the next step must a roadmap! First we should dedicide which
  jira issues should be moved to 2.4 before do anything else. Without a
  roadmap we only make it more complicated.
 
 My proposal is:
 - everything we have in trunk now: now I can't see anything critical
 enough to be removed.
 - JAMES-426 - Make james use virtual user table domains for servernames
 - JAMES-52 - 8bitmime capabilities missing
I hope we can get this work with new javamail when its released.

 - JAMES-487 - Refactor Bundled handlers to use the HandlerChain pattern
Thats a must.

 - JAMES-577 - Switch default sendpartial to true for RemoteDelivery
 - JAMES-607 - Rewrite MBoxMailRepository to use mstor 
Im not sure about this now. For this we must get sure mstor is really
thread-safe!

 - JAMES-611 - Remove finalizers and make sure we always call dispose
 when unreferencing objects
 - JAMES-461 - Javamail Store based MailRepository support (was: Maildir
 support)
Joachim did a great work on this. Yes thats a must.

 - JAMES-614 - Add more actions to FastFailHandlers
 - JAMES-549 - Refactoring SMTPHandler to allow better integration of
 more the one class per command
 - JAMES-599 - BeanShell Scripting in James
 - JAMES-562 - Aliasmanagment should not depend on a user (see as
 VUT-UsersAliasingForwarding common 

Re: JAMES v2.4 Road Map

2006-09-12 Thread Stefano Bagnara
Noel J. Bergman wrote:
 Norman Maurer wrote:
 
 Personally, I'm ready to make it a release, and start work on 2.4,
 which
 should be a careful selection of things to add, not a core dump from
 trunk.
 We never agreed on this roadmap. And I think I won't agree on this
 approach even later.
 I agree with Stefano. For me we should use the current trunk as 2.4
 ( with handler-api2 merged when its complete). I don't see any
 problems with it. We don't did critical changes which whould break
 compatibly.
 
 It should still be a careful selection.  As I said long ago, if you want to
 move trunk to 2.4, we should review every difference.  Then, if we agree
 that each one represents a suitable risk/reward, fine.

I'm sorry but (as I also said long ago) I'm on the opposite position
about the 2.4 roadmap.
We've just finished with a lot of efforts to put out a stable release to
replace the old 2.2.0. 2.3.0 didn't introduce so much changes, but
included a lot of fixes and a lot of refactoring useful for future
improvements.

Now I think that not only we should include everything we have now in
trunk, but we should also define a period of feature development where
we try to put in every cool feature we are able to develop in this time
with one single restriction: keep storage compatibility.

We kept storage compatibility between 2.2.0 and 2.3.0 and imho we can do
the same for 2.3.0 to 2.4.0. config.xml will change, assembly.xml will
change, maybe a few minor methods in the mailet apis could change.

My proposal is to start at least 2 months of free development in trunk
and then create the 2.4 branch to start the consolidation process.
Considering that 2 months would be just before Christmas I would say let
's develop new features in trunk including the whole Christmas and we'll
branch on the first days of 2007.

Everything we currently have in trunk deserve inclusion in the next
release and much more of this. We worked hard on 2.3 and I'm not ready
and I'm not willing to start a new consolidation work just now.

We have to look the long term also: I don't care if some of the feature
we implemented in trunk will not be used by 2.4, I care that we use the
next release also to consolidate that code so we'll be much more ready
for 2.5 or 3.0.

Furthermore I would consider a big mistake to try to release 2.4 as a
2.3 + new fastfail things, because new fastfail things are still in
progress and not mature enough (we still have an incomplete branch with
a fastfail-v2 attempt). I don't want to make another release where
fastfail is again marked as experimental because we're still working
on it.

There is a lot of stuff that has been removed by the 2.3 branch but
should really fit the 2.4 branch: database read/write streaming (we have
write streaming in 2.3 but disabled by default because we had no time to
test it enough), spool manager refactorings, 8bitmime (try again with
new javamail fixes). We should refactor pop3 to follow the same smtp
handlerchain pattern (and maybe do the same for remotemanager and nntp).
 We could try to include easier virtualhosting support, support for APOP
and much other features that don't introduce storage incompatibility
problems.

Another thing is that we should wait for dnsjava 2.0.3 to include full
SPF support and we should wait for javamail 1.4.1 to try to enable
8bitmime stuff again.

A last reason to not start a 2.4 branch now and to not start a selective
merge job is that we are not sure that 2.3.0 would not need a 2.3.1
release in a month and we should really avoid having 3 open branches
(2.3, 2.4, trunk).

Stefano


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: JAMES v2.4 Road Map

2006-09-12 Thread Noel J. Bergman
Stefano Bagnara wrote:

 Noel J. Bergman wrote:
  As I said long ago, if you want to move trunk to 2.4, we should
  review every difference.  Then, if we agree that each one
  represents a suitable risk/reward, fine.

 I'm sorry but (as I also said long ago) I'm on the opposite position
 about the 2.4 roadmap.

So what is your position?  That we should simply dump trunk on users without
proper review?  Without comparing it to what we have spent so long testing
and reviewing in the 2.3 branch?

 We've just finished with a lot of efforts to put out a stable release to
 replace the old 2.2.0.

Exactly.

 Now I think that not only we should include everything we have now in
 trunk, but we should also define a period of feature development where
 we try to put in every cool feature we are able to develop in this time
 with one single restriction: keep storage compatibility.

When do you expect to put that out?!  I'm talking about a plan that allows
us to put out a stable release very few months with carefully made changes,
and you just want to core dump!  I do not agree to that approach.

 My proposal is to start at least 2 months of free development in trunk
 and then create the 2.4 branch to start the consolidation process.

And if we do it my way, we can release 2.4 in less than 2 months.  And work
on v3 at the same time.  And I want to branch soon, so that we can start
working on the major changes that we should be doing for v3, and not just
the safe but useful changes for v2.4.

 Everything we currently have in trunk deserve inclusion in the next
 release and much more of this.

Wrong.  Most of what is in trunk has had a fraction of the review and
testing that we have spent on v2.3, and you're talking about a free-for-all
of development.

 Furthermore I would consider a big mistake to try to release 2.4 as a
 2.3 + new fastfail things, because new fastfail things are still in
 progress and not mature enough

And yet you want to use TRUNK as 2.4?!  Be consistent.  Trunk has many such
still in progress and not mature enough things, not just fast-fail.  Maybe
we decide that fast-fail isn't mature enough yet.  As you say:

 There is a lot of stuff that has been removed by the 2.3 branch but
 should really fit the 2.4 branch: database read/write streaming (we have
 write streaming in 2.3 but disabled by default because we had no time to
 test it enough), spool manager refactorings, 8bitmime (try again with
 new javamail fixes). We should refactor pop3 to follow the same smtp
 handlerchain pattern (and maybe do the same for remotemanager and nntp).
 We could try to include easier virtualhosting support, support for APOP
 and much other features that don't introduce storage incompatibility
 problems.

Not all of those share the same level of testing, value or urgency, and yet
you just want to dump it all on users as if we had carefully developed and
tested them?

You've just ennumerated a whole raft of issues.  We should examine each one
to decide if THAT SPECIFIC PIECE is stable enough to go into the release,
not conflate a dozen or more items.

So we can start with ones that we all agree ARE stable enough to go into
v2.4, and not just dump a load of immature code on top of our stable
release.

 A last reason to not start a 2.4 branch now and to not start a selective
 merge job is that we are not sure that 2.3.0 would not need a 2.3.1
 release in a month

If we start v2.4 from v2.3, we don't need 2.3.1.  2.4 would be suffice.  I
want to start using this stuff ASAP, not after another year of development
and testing.

--- Noel



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: JAMES v2.4 Road Map

2006-09-12 Thread Norman Maurer
Am Dienstag, den 12.09.2006, 21:44 -0400 schrieb Noel J. Bergman:
 Stefano Bagnara wrote:
 
  Noel J. Bergman wrote:
   As I said long ago, if you want to move trunk to 2.4, we should
   review every difference.  Then, if we agree that each one
   represents a suitable risk/reward, fine.
 
  I'm sorry but (as I also said long ago) I'm on the opposite position
  about the 2.4 roadmap.
 
 So what is your position?  That we should simply dump trunk on users without
 proper review?  Without comparing it to what we have spent so long testing
 and reviewing in the 2.3 branch?
Well we should start testing the trunk ;-) (I have trunk running
allready on a testserver) So we can get sure its stable and fix bugs!

 
  We've just finished with a lot of efforts to put out a stable release to
  replace the old 2.2.0.
 
 Exactly.
And it seems that is do a much better job. I agree.

 
  Now I think that not only we should include everything we have now in
  trunk, but we should also define a period of feature development where
  we try to put in every cool feature we are able to develop in this time
  with one single restriction: keep storage compatibility.
 
 When do you expect to put that out?!  I'm talking about a plan that allows
 us to put out a stable release very few months with carefully made changes,
 and you just want to core dump!  I do not agree to that approach.
I don't agree with you both :-P 
I think we need a roadmap and only workin on the code which include
features which listed in the roadmap. Bugs should be fixed too.. 
When someone feel to work on a other task then one listed in the roadmap
he should raise his voice in the mailinglist and if we agree we put it
on the roadmap and include it. If not he should wait with the work and
wait for next release.
Like i said before i see no problems starting to workin on 2.4 and use
trunk as it is. I whould be happy if we could put out 2.4 in about 6
Month later then 2.3 is released. 
   
 
  My proposal is to start at least 2 months of free development in trunk
  and then create the 2.4 branch to start the consolidation process.
 
 And if we do it my way, we can release 2.4 in less than 2 months.  And work
 on v3 at the same time.  And I want to branch soon, so that we can start
 working on the major changes that we should be doing for v3, and not just
 the safe but useful changes for v2.4.

See my comment above. 

 
  Everything we currently have in trunk deserve inclusion in the next
  release and much more of this.
 
 Wrong.  Most of what is in trunk has had a fraction of the review and
 testing that we have spent on v2.3, and you're talking about a free-for-all
 of development.
See my comment above.. We need a roadmap.

 
  Furthermore I would consider a big mistake to try to release 2.4 as a
  2.3 + new fastfail things, because new fastfail things are still in
  progress and not mature enough
 
 And yet you want to use TRUNK as 2.4?!  Be consistent.  Trunk has many such
 still in progress and not mature enough things, not just fast-fail.  Maybe
 we decide that fast-fail isn't mature enough yet.  As you say:

I agree that we have stuff which is not 100% finish. So we need to focus
on that first! The handler api is one of the stuff we need to finish
first soon. Cause as longer we wait as harder it get to merge the
stuff. 

 
  There is a lot of stuff that has been removed by the 2.3 branch but
  should really fit the 2.4 branch: database read/write streaming (we have
  write streaming in 2.3 but disabled by default because we had no time to
  test it enough), spool manager refactorings, 8bitmime (try again with
  new javamail fixes). We should refactor pop3 to follow the same smtp
  handlerchain pattern (and maybe do the same for remotemanager and nntp).
  We could try to include easier virtualhosting support, support for APOP
  and much other features that don't introduce storage incompatibility
  problems.
 
 Not all of those share the same level of testing, value or urgency, and yet
 you just want to dump it all on users as if we had carefully developed and
 tested them?
Thats why we should try to test it again. It will never get stable if
noone tests. Please don't let us do the same mistake as in 2.3... We all
need to test it more. I have always a trunk server on a testsystem
which serve some not so importent stuff.
 
 
 You've just ennumerated a whole raft of issues.  We should examine each one
 to decide if THAT SPECIFIC PIECE is stable enough to go into the release,
 not conflate a dozen or more items.
 
 So we can start with ones that we all agree ARE stable enough to go into
 v2.4, and not just dump a load of immature code on top of our stable
 release.

See other comments.

 
  A last reason to not start a 2.4 branch now and to not start a selective
  merge job is that we are not sure that 2.3.0 would not need a 2.3.1
  release in a month
 
 If we start v2.4 from v2.3, we don't need 2.3.1.  2.4 would be suffice.  I
 want to start using this stuff