On 2009-11-26, at 11:23 AM, Ralph Goers wrote:
On Nov 26, 2009, at 5:56 AM, Jason van Zyl wrote:
On 2009-11-26, at 8:04 AM, Todd Thiessen wrote:
I can only speak from experience with what we have done here
internally but I can also attest that releasing too often is a
real pain. You end up having a bunch of releases publicized that
no one cares about. It only serves to clutter a repository and
makes it confusing to consumers wrt which one to use.
I love the agile model of development but I don't think this
equates to "releasing something immediately if there are fixes
available" as Jason put it. The release needs to be weighed
against the value it provides and the extra time and effort the
community needs to soak and test that release. Agile states that
your software should be releasable at anytime, but it does not
state that it should be continually released.
Of course, the opposite (ie: not releasing enough) is just as bad
if not worse. Have to find that sweet spot ;-).
The logic here is flawed because it is from a single perspective of
an individual who finds it burdensome to validate each and every
release.
I don't understand why that logic is flawed. The individual in
question would be on the Maven PMC and not have time to validate all
the releases. Asking them to spend their time every week validating
releases is a bit much.
Hence it being flawed. The automation is going to catch most of the
problems, the ITs and performance framework will do much of what any
PMC member can do building the same applications they work on day in
and day out. All the the users who have things that don't work is who
I want to reach. There is nothing of legal or IP consequence in these
releases and the PMC isn't going to find anything substantial. So it's
generally a waste of time requiring the 72 hours for which most people
just do the same thing they did last time.
The value of releasing everyday if there is a fix is because that
fix may be very valuable to a user.
That value is illusory. The end user is far more likely to get
pissed off that their Maven version is always out of date. People
really don't like upgrading all that often. Alphas are a little
different since end users obviously have some reason that they want
to test the new functionality, but even there you can't expect them
to download a release start testing their stuff and before they are
even done a new release is out.
The value is categorically not illusory. The fixes we been making
along the way have had been useful for people. With the alpha-4 we got
Tycho working properly for a lot of people, and for alpha-5 we fix a
lot of problems with APT (annotations). So you've managed to conflate
what you believe to be useful and what I've found to be useful. Above
I would say is largely your opinion. I have found it different for the
alpha releases.
I pushed extremely aggressively against Benjamin and Igor to put in
place the regression test suite and performance framework so that
we don't have to fear validation for the most part. I'm confident
at this point that we're going to find the problems before any of
you do 95% of the time. This is how it should be. When we have a
fix it should be made immediately available in a consumable form by
the general public because it probably matters to someone. We are
at this point responding to people taking the time to accurate
report errors. If you watch the process that happens it usually a
matter of hours before Benjamin fixes it.
I have no problem with building in test coverage. More is better.
The release process here is entirely broken from a users
perspective, but that's the Apache Way.
You know, I really dislike it when you throw this nonsense around.
It gives the board the impression that the Maven community doesn't
belong at Apache when these sentiments are mostly just yours.
Of course they are my opinions. How can they be construed any other
way. I'm just another developer here right?
The Apache Way is "community over code". That means sometimes you
have to do things that are beneficial for the community that may not
be beneficial to a single individual.
The community of users if made up of many individuals so I'm not
exactly sure what your point is.
Here people think developers are more important then users which is
why we have the contorted set of practices we have here now.
No. The community is more important than a single user. I don't view
the requirement of having at least 3 PMC members test a release and
approve it as "contorted".
That's fine, that's your opinion. I happen to have my own. For alphas
having to wait 72 hours for mostly bug fixes to me is dumb. These are
bug fixes specific to users in the community where the validation
performed by anyone is largely not affected by those bugs. Further
with the IT and performance frameworks in place the validation by the
PMC means little. What actually needs to be validated are that the
specific bugs that we've attempted to correct are in fact corrected.
And the only people who can do that are the people we're trying to
help who requested the fixes. They need complete and available builds.
In practice we're finding they don't like to pick them up off the grid.
Again, I don't care. If people want to do alphas every week or two
weeks then that's fine. When I release the shell it will have self-
provisioning capabilities so I probably won't care about releasing any
alphas at that point because the shell will roll itself forward or
back. Then we'll have a good balance. Folks can try every build coming
off the grid if they want from inside the shell and then we can do
monthly releases here if that makes people more comfortable.
The work needs to be instantly validated and we can do that now,
and once that criterion is met it should be released. This is not
the case with many of our plugins which can have a dire impact on
users because the tests for critical plugins that just haven't
gotten the attention they need yet. I plan to help try and fix this
as well but there's only so much that can be done at a time.
These are alphas and getting them out as soon as the rules allow
here is important for people trying to evaluate 3.x.
No one is arguing about getting alphas out quickly. But taking your
argument to its logical conclusion would imply that a fix is done in
the morning and a release is performed by lunch. Then another fix is
done and a release is performed in the afternoon. Or perhaps we have
8 releases that day. Where is the value in that?
If each of those fixes something someone reported the value is that it
keeps them actively participating. It's not hard to release 8 times a
day either, the only limit is us.
The simple fact is that there is a point at which people are
"comfortable" with releases being made. IMO once a day is too much
and once a month is way too slow.
I'm comfortable releases being made 8 times a day if there are 8
errors found and fixed that day. You're not.
Ralph
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org
Thanks,
Jason
----------------------------------------------------------
Jason van Zyl
Founder, Apache Maven
http://twitter.com/jvanzyl
----------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org