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

Reply via email to