I'm okay with making the current RC a first milestone toward 2.1.0, if
we know what the endgame for 2.1.0 is. How do we know when we're done?
Also, can we focus on having a 2.1.0 GA out in the next two or so
months? It's been since April that we had a release, and that one had
some pretty big problems that are keeping people away. I don't want to
set the bar too high on these releases, especially when there's so
little development time to go around. IMO, if we can start out with
*some* success, we can build off of that and keep things moving.
Personally, I'd much rather see 3-4 new features every three months in a
GA release, instead of 12-16 new features in a year. It also gives us a
much better chance of making our releases stable and predictable.
As far as the performance problems on the 2.1.x branch, that's on my
todo list for tomorrow, to merge in my changes from the RC branch to get
the 2.1.x branch back up to snuff. Sorry that's been slow coming (no pun
intended) but I'm starting to get caught up WRT SVN syncing now, so
hopefully tomorrow will be the day.
As far as supporting 3 codelines, my own thought is to keep 2.0.x on
life support long enough to get a GA release of 2.1 out (and maybe a
little longer, I don't know what's really feasible here), but not to
spend too much time spit-shining 2.0.x anymore. If we can find a way to
fix the most broken features without bringing down the rest of that
house of cards, then that'll be good enough for me.
Brett, Christian, I think JIRA voting is a great way to "weight" the
survey results with the users' priorities, but I want to make sure we
have an alternate mechanism that allows us to talk about features -
which will be sets of JIRA issues, in reality - outside of an
issue-tracking context. We need to use Confluence for this sort of work,
writing proposals that can be reviewed and voted on, IMO. I was just
thinking that Dennis' use of the survey system was a great idea, and
could be a perfect fit for this sort of planning.
-john
Ralph Goers wrote:
I should have read your email before I replied. I pretty much agree with
all of what you are proposing. FWIW, the bug I am working on is MNG-624
and yes, it has a ton of votes. It also addresses MNG-3057, MNG-2446,
MNG-2412 and probably several others that are related. My change is
pretty much working but I want to test more and unfortunately it is on
the current 2.1.x branch which runs terribly slow. I am sure I am going
to have conflicts when I try to merge it in with 2.0.10-RC so I am not
in too much of a hurry to commit it anywhere until we figure out which
branch is the "real" 2.1.x.
Ralph
Brett Porter wrote:
On 26/08/2008, at 6:44 AM, John Casey wrote:
To start, I'd personally prefer to see the code we current have in
the release process designated as 2.1.0. It's seen a lot of change to
the internal implementations, and while we've gone to great lengths
to ensure it's functionally compatible with 2.0.x, it contains a
fairly risky level of change for a revision release. This means that
the 2.0.x branch would be rolled back to the 2.0.9 release, and we'd
proceed toward a 2.0.10 that fixes the worst of the regressions with
a minimal of code change. At that point, I'd prefer to see 2.0.x go
into end-of-life mode soon, with 2.1 and later replacing it.
+1
From there, I'd propose that we make a plan. I think we have a long
list of features we'd like to implement and other features we'd
really like to reimplement. No doubt each of us has his/her
favorites, but what I'd like to suggest is using the survey tool we
used for the plugin priorities to come up with a ordered set of
priorities for the features we want to include. Then, we can chop
that list up (maybe every fourth feature), and call them 2.2, 2.3,
2.4, etc. At this point, 2.1 would be a baseline that is as near as
possible to perfect compatibility with 2.0.x, and 2.1.1 might fix
regressions in that code until we have the agreed-upon features for
2.2 done.
+1 to the approach. I like the idea of having a clear objective for
when it is "done". I think we could do milestone/beta releases along
the way to get some feedback on the new features.
I would lean towards still doing that for 2.1: make the current 2.0.10
code a milestone/beta release to see how it goes in the wild as is (I
believe these will still get reasonable exposure), and pick off 3 or 4
important features to include for the final release. However, if
consensus is to just go as is for 2.1 and immediately move to 2.2
that's fine with me too.
I say this because we basically already have implementations for
reactor changes, pgp security, and parallel downloads, for example.
I'm watching the secure passwords thing with keen interest as well,
and I know Ralph has something in mind I think for MNG-612 which is
the most voted for feature - so these could be done in a managable
fashion in a short amount of time to have a fairly compelling upgrade
release. About the only other thing I'd add to that is a review of
what behaviour we want to deprecate so we can start getting it out in
subsequent versions, and move all other features to 2.2+.
In case you're concerned about who's going to drive the items on this
list, my own feeling is that it needs to capture the sense of the
development community. To that end, the survey should be conducted
among developers, without direct input from users. However, each
developer should be acting in the interests of the user community at
least part of the time, so we need to focus on balancing the cool
with the useful to make sure our releases are relevant to users.
+1, I'm happy with starting to encourage JIRA voting as the way to
guide features that are in demand by users.
Of course, it also means that all of us will sometimes have to be
patient for the feature near and dear to our hearts to come up in the
release plan, and help get the other things out of the way first.
However, I think this could help us unify a lot of the different
directions we all seem to be heading WRT Maven's core, and maybe keep
things moving forward at a steady pace.
Need to be careful with this - I would say we choose the features that
people are willing to work on. As long as someone is upfront about
what they are going to do, it is done properly and we agree that it's
good for Maven, we should have room to add things to the release. It's
a balance - we don't want to get in the way of good work, but we don't
want to lose focus either.
I think it would be a non-issue if we have some clear objectives set
out up front since the willing contributors are involved in both parts
of the process. Common sense will dictate whether something is a good
addition or a disruptive change at the time.
To get things started, we have a long list of proposals out here:
http://docs.codehaus.org/display/MAVEN/All+Proposals
Also, from users, we have these:
http://docs.codehaus.org/display/MAVENUSER/User+Proposals
But I'm sure this is at most 10% of what people have in mind for
Maven. Maybe we can have a short discussion of things we need to be
doing in the relatively near term for the health of Maven, then cap
that discussion and turn it into a survey to help us consolidate
priorities. Then, we can chop them up into a release plan and get
started.
Sounds good. How about we open the permissions on the MAVEN space to
everyone and move all the proposals into one place?
Cheers,
Brett
--
Brett Porter
[EMAIL PROTECTED]
http://blogs.exist.com/bporter/
---------------------------------------------------------------------
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]
--
John Casey
Developer, PMC Member - Apache Maven (http://maven.apache.org)
Blog: http://www.ejlife.net/blogs/buildchimp/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]