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 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.
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.
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?
Btw I don't know the future and I can only tell you what I guess: as I
said I don't want/need to convince anyone if everyone agree that we
can work on this 2 versions as separated and indipendent branches.
The only thing that worry me is that I want to be sure that if you
release in hurry a new fastfail architecture in the "next-minor" we
still mark it as experimental so we can tune it in the next-major or
in the next-greater if needed. Nothing more than this from me.
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.
Yes, maybe this is feasible.
Btw if you include config.xml and assembly.xml in your rollback you
can do it anyway: you just need storage compatibility for this. The
only difference is that you have an increased entry level because you
have at least to create the new config.xml in order to use it.
As I said I think that a new interim release (next-minor) is a good
thing to james. I just wanted to put emphasys on the fact that I can't
work on it because I spent too much on 2.3 branch (and if you remember
at that time I said I wouldn't have worked much on the branch because
I had to work in trunk) and if I want to keep working on James in
future I must ensure that James keep up with the needs of my customers.
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 conservative release.
But probably the next-minor would be impossible to create without some
of your and Norman's help.
I only care that this will not become a delaying issue for the
release I want to work on (call it 2.4, 2.5, 3.0, TNG or reloaded,
not important now).
I agree. I see work always being done on trunk, and some backporting
to a 2.4 branch.
Ok!
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.
Well, in the last year we at least produced a release, the year
before this one nothing happened.
As a james user I prefer to have a release, than nothing.
I don't expect our small developers community to be able to follow
strict roadmaps and that's why I proposed a time based roadmap. We
had a 2 years release cycle for the 2.2=>2.3 step (i've been
involved only in the second year). It took one year from 2.1.3 to
2.2. So I would be happy enough if we can start producing a new
release every six months: this is four times better than with 2.3
and 2 times better than 2.2.
Stefano, since you came in you did a tremendous and enormous work,
and we all did appreciate it a lot, and we know that a very large
part of 2.3 is your merit. But one year ago (after a regrettable
delay) we were going to come out with a ("smaller") 2.3, that we were
then unable to finalize also because of your "vulcanic" :-)
activity. And I bet that if a few months ago we didn't decide to
converge after some arguments, 2.3 would still be "on the clouds".
Ok, but you should also understand that we probably wouldn't have 2.3
out if I never worked on trunk: for full months you see only "bago" in
the svn log (for statistic funs: starting from 7 aug 2005 to 9 may
2006 you can find more than 200 commits and more than 90% were mine).
At that time I always said: simply decide when to branch and I'll help
with bug fixes but not with the other release issues. I did much more
than this. I fixed our package build, updated the website, fixed the
licesing issues and so on... I don't know why you never understood
that it was a matter of branching. I simply didn't agree to stop
working on trunk to let the code consolidate itself.
All true. In fact we had to "force" you somehow to help coming out with
2.3, and btw you and Norman worked much more than me also in the last
tasks for 2.3 :-) . Btw, I hope that with rc3 we are finally done!
.....
I don't think that this is a generally valid approach but this time we
are talking about few efforts and not overriding each other. I have to
admit that if Norman was on the "next-minor" boat and against the
"next-major" I would have thought much more before proposing to try
following both, but I learned to work very well with Norman while I
have much more "discussion" problems with the other PMC committers (I
know this is a limit of mine) so the "split" thing make sense to me.
It seems that everyone can work on what he thinks it's better: and
opensource world works better when the project goals matches personal
goals.
But a total split would be not good. As said above we need some help
from you and Norman for next-minor, and for example the areas where I
can mostly help are independent from the split...
.....
Stefano
Vincenzo
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]