Hi,

On 10/14/15 2:46 PM, Benson Margulies wrote:
On Wed, Oct 14, 2015 at 8:31 AM, Jason van Zyl <[email protected]> wrote:
I don’t think we need a policy for this, it’s just common sense not to break 
master.

Agreed..


If someone inadvertently makes master not work properly then provide a
> reason and put that change on a branch.

If you missed it is no problem to undone a change if it really hurts...


>  The developer who did it might not have time at
>  the point someone else finds the issue so anyone can
>  correct the issue with a reasonable explanation.



All our projects should work on master. But I’m not going to try and force 
someone to fix the issue by policy if they happen to make a mistake. Just fix 
it and carry on.

'Always working' is not the same as 'always releasable'. From an
English language standpoint, collection of working, interdependent
snapshots is a 'working' state. Your use of the term 'break' is
important here; no one 'broke' anything AFAIK in the sense checking in
grossly broken code; rather, various people rendered various things
unreleasable due to snapshot dependencies, or due to code that is
working, but in their view not ready to release.

I don't think people are making mistakes. I think that they don't
honestly all or always  see 'always releasable' as a guiding
principle.

To be concrete: maven-release-plugin was left unreleasable due to a
snapshot dependency on SCM. SCM is perhaps unreleasable due to several
1/2-cooked JIRAs. A whole raft of plugins are unreleasable due to the
'Maven 3 baseline' project.

My simple answer to this would be: Just fix maven-release-plugin by using the last release state of scm...

If you need to fix something on a particular maven plugin simply create a branch from the latest release and fix the problem and release it...That's it..So i don't see any problem here...

The trunk at the momement represents the current state of development and at the moment we are working to get 3.0.0 state working...which does not mean the plugins are unreleasable....


>
Maybe this one isn't a fair Axiom Scheme
of examples, because I think there was a general consensus to do this
stuff on trunk -- but it is talking quite a long time.

Sure does it takes time cause it's a quite large change and apart from that are all doing this in our spare time...



If the term 'policy' disturbs you due to the implications of coercion,
  then let's not call it a policy. Let's call it a working principle.

To be honest this results in the end to nothing different than a coercion...

I'm not trying to coerce anyone; the Apache veto/revert mechanism for
CTR is perfectly sufficient, as per your remark about 'fix it and move
on.' I perceive a presumption of 'leave it to the person who wants to
make a release to make a branch'. I'd like to move the presumption in
the other direction.

Sometimes it happens someone is working on something...has to do something more imporant (private/businees/job) whatever...so the priority changes and that's it...we are an open source project....






On Oct 14, 2015, at 8:14 AM, Benson Margulies <[email protected]> wrote:

I'd like to open a discussion of a possible policy.

The policy would look something like the following:

___

All of the projects managed by the Maven PMC are maintained in a
releasable condition. If a developer wants to make a change that will
result in an a component being unreleasable for any significant period
of time, that developer is responsible for setting up a branch
structure that preserved the releasability of the component for the
duration. They might do their work on a sandbox branch, or they might
set up a maintenance branch for the current state of the code.
___


I see several advantages to this policy:

1: The work to fix a small problem or add a small feature is
proportionate.  You can't suddenly find yourself needing to release
four components and / or make a branch and do merges to get a fix out
to the users (including yourself).

This does not solve your problem...I have found several times that trying to fix a simple thing on the first glance...and the result was releases of several parts (shared/etc.)...and in the end a plugin...This "policy" will not change the sligthest thing on that...




2: If we ever have to deal with a security fix, we will find it much
less painful.

As already mentioned if we are really in this situation...there is no problem to create a separate branch from the last release (plugin, core etc.) and fix the problem and release it...


3: We recognize the reality that we're all volunteers, and that good
intentions don't always lead to timely activity.

It seems to me that this is in the general territory of 'CD' which is
pretty popular in the world at large.

for 'CD' we need to make the releases via a Single-Button in Jenkins which we don't have at the moment...

Kind regards
Karl Heinz Marbaise





What do people think?

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder, Takari and Apache Maven
http://twitter.com/jvanzyl
http://twitter.com/takari_io
---------------------------------------------------------

What matters is not ideas, but the people who have them. Good people can fix 
bad ideas, but good ideas can't save bad people.

  -- Paul Graham


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to