Re: Releasable by default?
Hi, On 10/14/15 2:46 PM, Benson Margulies wrote: On Wed, Oct 14, 2015 at 8:31 AM, Jason van Zylwrote: 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 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?
Re: Releasable by default?
Replace always working with always releasable. To me it means the same thing. > On Oct 14, 2015, at 8:46 AM, Benson Margulieswrote: > > On Wed, Oct 14, 2015 at 8:31 AM, Jason van Zyl wrote: >> I don’t think we need a policy for this, it’s just common sense not to break >> master. >> >> If someone inadvertently makes master not work properly then provide a >> reason and put that change on a branch. 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. 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. > > 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. > 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. > > > >> >>> On Oct 14, 2015, at 8:14 AM, Benson Margulies 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). >>> >>> 2: If we ever have to deal with a security fix, we will find it much >>> less painful. >>> >>> 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. >>> >>> What do people think? >>> >>> - >>> 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, 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: dev-unsubscr...@maven.apache.org >> For additional commands, e-mail: dev-h...@maven.apache.org >> > > - > 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, Takari and Apache Maven http://twitter.com/jvanzyl http://twitter.com/takari_io
Re: Releasable by default?
I don’t think we need a policy for this, it’s just common sense not to break master. If someone inadvertently makes master not work properly then provide a reason and put that change on a branch. 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. > On Oct 14, 2015, at 8:14 AM, Benson Margulieswrote: > > 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). > > 2: If we ever have to deal with a security fix, we will find it much > less painful. > > 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. > > What do people think? > > - > 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, 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: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org
Re: Releasable by default?
On Wed, Oct 14, 2015 at 8:31 AM, Jason van Zylwrote: > I don’t think we need a policy for this, it’s just common sense not to break > master. > > If someone inadvertently makes master not work properly then provide a reason > and put that change on a branch. 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. 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. 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. 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. > >> On Oct 14, 2015, at 8:14 AM, Benson Margulies 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). >> >> 2: If we ever have to deal with a security fix, we will find it much >> less painful. >> >> 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. >> >> What do people think? >> >> - >> 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, 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: dev-unsubscr...@maven.apache.org > For additional commands, e-mail: dev-h...@maven.apache.org > - To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org