Furthermore, I'd like to see explicit procedural rules on Maven Core and
forking. For example, if there's a critical component needing development
for Core, and a PMC expresses that such development will be done outside of
Apache and then used as a dependency, shouldn't there be a vote on that?


On Fri, Aug 2, 2013 at 10:24 AM, Stephen Connolly <
stephen.alan.conno...@gmail.com> wrote:

> On 2 August 2013 16:07, Brian Fox <bri...@infinity.nu> wrote:
>
> > I think the bulk of this is pretty good. On the fork section,
> specifically:
> >
> > "
> > As soon as changes in that
> > fork are identified which should be brought back to the project those
> > changes should be introduced into at least a branch hosted on the Apache
> > Maven
> > source control in order to facilitate the easier review by the community.
> >
> > The PMC should encourage by example the early committing of changes from
> a
> > fork back to Apache Maven source control.
> > "
> >
> > This seems to want to compel code to be brought back as a
> > responsibility, I don't think we need to spell that out.
>
>
> This is why I say "as soon as ... are identified"
>
> The wording could be clearer... if somebody can figure out a better way to
> say it.
>
> Basically, as soon as you say something like... "Oh commit 1a2b3d4e, we
> really need to get that into Maven itself, it's too good to be in our
> fork"... you should be trying to hasten getting that commit into Maven
> itself.... and if you are on the PMC and one of your commits is one that
> you say this of... you should just commit it back.
>
> Until you realise that a commit is one that you want to push to Maven, hey
> it's your work... whatever... but as soon as you identify the change as
> being one that should be at Maven, as a PMC member you are expected to try
> and get it into Maven quickly so that others working on the fork see that
> this is the example by which the PMC leads.
>
> If you can think of a clearer way to express that than my wording (which
> since you are not getting my intended meaning must therefore be lacking)
> please update.
>
> The section
> > about the downsides to not doing so and attempting to do it later is
> > really the core of the concerns... the extra diligence required to
> > consume large bodies of work is bigger. That doesn't mean that code
> > contributions are inherently bad just because they were developed
> > elsewhere, it's just harder to pull in.
> >
>
> Correct.
>
>
> >
> > On Fri, Aug 2, 2013 at 5:59 AM, Stephen Connolly
> > <stephen.alan.conno...@gmail.com> wrote:
> > > I have updated the project-roles with my thoughts resulting from the
> > > healthy debate on the list and some debates elsewhere.
> > >
> > > If anyone wants to look at the resulting Work In Progress document as a
> > > whole:
> > >
> >
> http://svn.apache.org/viewvc/maven/site/trunk/content/markdown/project-roles.md?revision=1509594&view=markup
> > >
> > > Thoughts?
> > >
> > > -Stephen
> > >
> > > ---------- Forwarded message ----------
> > > From: <steph...@apache.org>
> > > Date: 2 August 2013 10:52
> > > Subject: svn commit: r1509594 - /maven/site/trunk/content/markdown/
> > > project-roles.md
> > > To: comm...@maven.apache.org
> > >
> > >
> > > Author: stephenc
> > > Date: Fri Aug  2 09:52:11 2013
> > > New Revision: 1509594
> > >
> > > URL: http://svn.apache.org/r1509594
> > > Log:
> > > After a lengthy discussion on the users@maven list and some
> > > side discussions on members@apache, I think the following changes
> > > are more in line with what we should be seeking as responsibilities
> > > of the PMC.
> > >
> > > * Forks are not bad... letting changes stack up in the fork is bad
> > >   but more from a 'it will be hard to review' point of view...
> > >   similarly using a fork to get external contributions complicates
> > >   the tracablity
> > >
> > > * We are not obligated to promote other ASF projects... but there
> > >   should be a symmetry in how that lack of obligation plays out
> > >
> > > * I identified some more responsibilities of the PMC (if I have missed
> > >   any, please add)
> > >
> > > * There is a special case where the PMC Chair can wear the dictators
> > >   hat... but that is only in the case of unresolvable consensus
> > >   and the lack of consensus is causing damage to the project
> > >   and the board is well aware of the issue and expects the chair
> > >   to put on the dictators hat (with the board watching on)
> > >
> > > As always, this is a Commit Then Review community... so these
> > > changes are being committed for review.
> > >
> > > Modified:
> > >     maven/site/trunk/content/markdown/project-roles.md
> > >
> > > Modified: maven/site/trunk/content/markdown/project-roles.md
> > > URL:
> > >
> >
> http://svn.apache.org/viewvc/maven/site/trunk/content/markdown/project-roles.md?rev=1509594&r1=1509593&r2=1509594&view=diff
> > >
> >
> ==============================================================================
> > > --- maven/site/trunk/content/markdown/project-roles.md (original)
> > > +++ maven/site/trunk/content/markdown/project-roles.md Fri Aug  2
> > 09:52:11
> > > 2013
> > > @@ -174,11 +174,31 @@ are kept confidential.
> > >
> > >  The Project Management Committee has the following responsibilities:
> > >
> > > -* Proposing active contributors for committership,
> > > -* Binding votes in project decisions,
> > > -* Voting on release artifacts,
> > > -* Ensure [Developers Conventions][5] are followed, or updated/improved
> > if
> > > necessary,
> > > -* <!-- TODO: get the rest of these -->
> > > +* Active management of those projects identified by the resolution of
> > the
> > > Board
> > > +  of Directors of the Apache Foundation;
> > > +* Ensure the project remains a healthy top-level project of the Apache
> > > Foundation
> > > +  (if a PMC member wants the project to be hosted elsewhere they
> should
> > > resign
> > > +  from the PMC stating their reason - if the PMC shrinks beyond the
> > > minimal viable
> > > +  size then as a result of a desire by the bulk of the PMC to move the
> > > project
> > > +  elsewhere, the Board of the Apache Foundation will take that into
> > account
> > > +  when moving the project into the Foundation's Attic)
> > > +* Prepare reports as required by the Board of the Apache Foundation
> and
> > > +  ensure those reports are ready for presentation by the PMC Chair in
> a
> > > timely
> > > +  manner;
> > > +* Defend the trademarks belonging to the project;
> > > +* Proposing active contributors for committership;
> > > +* Ensure that votes in the community are used as a tool to establish
> > > consensus
> > > +  and not a weapon to disenfranchise or alienate a minority of the
> > > community;
> > > +* Binding votes in project decisions;
> > > +* Ensure that code committed to the project is either committed under
> a
> > > valid CLA
> > > +  or is code that was contributed with a clear indication that the
> > Apache
> > > License
> > > +  applied (i.e. small patches submitted to the issue tracker or to the
> > > mailing list
> > > +  are assumed to be submitted with the intent of being covered by the
> > > Apache
> > > +  License unless the submitter clearly marks those patches as not
> being
> > > covered)
> > > +* Ensure that third part dependencies shipped as part of the project's
> > > releases
> > > +  are covered by a compatible license.
> > > +* Voting on release artifacts;
> > > +* Ensure [Developers Conventions][5] are followed, or updated/improved
> > if
> > > necessary;
> > >
> > >  #### Standards for Community Commitment
> > >
> > > @@ -186,22 +206,77 @@ In the spirit of supporting the health o
> > >  Management Committee members refrain from actions that subvert the
> > >  functioning of the committee itself.
> > >
> > > -First, Project Management Committee members should not maintain
> > > long-running
> > > -forks of Maven code outside of the project itself. Making significant
> > > -changes to Maven code outside of the project displays a lack of
> > > -investment in the community. Additionally, attempting to re-integrate
> > > -a large number of code changes in bulk overwhelms the ability of
> > > -volunteers in the community to review (and potentially veto) the
> > > -changes. This effectively thwarts the policing function of the
> > > -PMC.
> > > -
> > > -Second, Project Management Committee members should not divert
> > > -work on redesigning, reimplementing, or improving Maven code to
> > > -alternative projects outside of this community for the purposes of
> > > -reintroducing them as replacement for existing Maven code. While there
> > > -is a danger here of falling into a Not Invented Here mentality, new
> > > projects
> > > -created by Maven PMC members strictly to replace Maven code should not
> > be
> > > -allowed.
> > > +#### Promotion of other projects
> > > +
> > > +The Apache Foundation currently does not have a policy requiring
> > projects
> > > to
> > > +cross-promote. For example Subversion is an Apache project, yet
> projects
> > > +are free to choose from Subversion and GIT (a non-Apache project) for
> > > source
> > > +control.
> > > +
> > > +When considering integration of technologies within Maven, there is
> > > +thus no requirement that other Apache projects be picked over
> non-Apache
> > > projects.
> > > +
> > > +The primary requirements for picking technologies to integrate with
> > Maven
> > > +are thus:
> > > +
> > > +* A compatible license, i.e. Category A or Category B
> > > +* A good technical fit
> > > +* A strong preference on behalf of the portion of the community that
> > > +  will be doing the integration.
> > > +
> > > +Where a PMC member is advocating a specific technology, they should
> > declare
> > > +any interest / involvement that they have in that technology or a
> > competing
> > > +technology - irrespective of whether the project is an Apache project
> > or a
> > > +project hosted elsewhere.
> > > +
> > > +PMC members with a stated interest / involvement should try to abstain
> > from
> > > +making binding votes in either direction with respect to the relevant
> > > +technology choices.
> > > +
> > > +#### Forks of the project codebase
> > > +
> > > +All code that gets released by the community should have sufficient
> > > opertunity
> > > +for review both:
> > > +
> > > +* By the PMC, to check the legal responsibilities delegated by
> > > +  the Board; and
> > > +* By the committers (which includes the PMC), to check that the
> > technical
> > > +  direction and quality is in line with the consensus roadmap.
> > > +
> > > +It is self evident that the opertunity for review is much greater if
> the
> > > code
> > > +is committed to the project's source control as early as possible.
> > > Similarly
> > > +small commits are easier to review than large commits.
> > > +
> > > +There is nothing inherently wrong with maintaining a fork of the Maven
> > > +codebase outside of the Apache Foundation. Individual developers can
> > have
> > > +their own style of working and may prefer to work in a fork so that
> they
> > > +can throw away failed experiments with less visibility (though it
> could
> > be
> > > +argued that the visibility of such failed experiments can be valuable
> > > +documentation for others). As soon as changes in that
> > > +fork are identified which should be brought back to the project those
> > > +changes should be introduced into at least a branch hosted on the
> Apache
> > > Maven
> > > +source control in order to facilitate the easier review by the
> > community.
> > > +
> > > +The PMC should encourage by example the early committing of changes
> > from a
> > > +fork back to Apache Maven source control.
> > > +
> > > +Similarly, if a fork is being hosted elsewhere in order to get
> > > contributions
> > > +from other talented individuals, the PMC members should endevour to
> > bring
> > > +those individuals and their tallent to the project as committers.
> > > +
> > > +Finally, where a fork is hosted outside of Apache hardware, there is
> > less
> > > +traceability of the code provenance, for example GIT commits can be
> > > squashed
> > > +and history re-written to mask or otherwise hide the source of
> > > contributions.
> > > +This does not mean that code coming from an external fork inherently
> has
> > > +such issues, instead it means that the requirements for review and
> > > verification
> > > +of provenance grow exponentially when dealing with large sets of
> changes
> > > +originating from a long running fork hosted outside of Apache
> foundation
> > > +source control. Anybody maintaining a long running fork should be
> aware
> > > +of the risk that review obligations may grow above the time
> capabilities
> > > +of the PMC and committers such that when they eventually decide to try
> > and
> > > +bring the changes in their fork back to the Apache Maven project their
> > > +contribution may end up being rejected on the basis of the review of a
> > > +large set of changes being too difficult/timeconsuming.
> > >
> > >  ### [Project Management Chair](
> > > http://www.apache.org/foundation/how-it-works.html#pmc-chair)
> > >
> > > @@ -217,6 +292,14 @@ the project management committee. They d
> > >  additional gravitas in the project, it is the Project Management
> > >  Committee as a whole that is responsible for the direction of the
> > project.
> > >
> > > +If things break down and there is no consensus and there is no clear
> > > +ability to reach any conclusion *and* it is in the interest of the
> > > +foundation because damage is done and the board expects the chair
> > > +to act as an officier of the foundation and clean things up, then the
> > chair
> > > +can act as an ultimate decision maker, however, by this point the
> > > +board of the foundation must already be well aware of the situation
> and
> > > +should be actively monitoring the chair.
> > > +
> > >    [1]: http://stackoverflow.com/questions/tagged/maven
> > >    [2]: mailto:users@maven.apache.org
> > >    [3]: mailto:priv...@maven.apache.org
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> > For additional commands, e-mail: users-h...@maven.apache.org
> >
> >
>



-- 
Cheers,
Paul

Reply via email to