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]