Proposal to create Extensions PMC


Chip Childers <cchilders@...>
 

Hi all!

The PMC Council is considering the attached proposal to restructure the
foundation's PMCs.

A critical part of this proposal was a set of changes to the Development
Governance and Operations Policies that define how a PMC's Governance by
Contribution voting process works. Last week, the CFF Board of Directors
unanimously approved these changes (they will be posted to cloudfoundry.org
this week). The TL;DR here is that PMCs can choose, at the time of
formation, to delegate technical decisioning making completely to the
projects. That's the proposed model for this Extensions PMC.

https://docs.google.com/document/d/1E8UePs_PjQrlgqkSyP_Hk4bNcXfqsGH7iX2LXnbLW58/edit?usp=sharing


This is being shared for public comment. Please take a look and feel free
to comment in the Google doc, in this email thread or by contacting me
directly if you wish to remain anonymous.

Comment period will be open until at least EOD Wednesday of this week.

Thanks!

-chip
--
Chip Childers
VP Technology, Cloud Foundry Foundation
1.267.250.0815


Dr Nic Williams <drnicwilliams@...>
 

Chip/DrMax et al,
It might be helpful for the document to introduce the topic with a clear 2016/17 definition of what is "Core CF", and what "incubating project" means. I'm personally not actually sure - e.g. is the goal of Abacus & MySQL release to be CF Core? If so, does this mean that all CF Certified PaaS must deploy them? If this is clearly documented somewhere, perhaps a link in line is useful to me/others who also forget/are unclear.

The proposal frames itself in part around the @cloudfoundry-community organization. 
This organization is collection of projects related to CF but do not necessarily have ambitions of being "Core CF". They can be solutions to problems; tools to help run CF; brokers to run alongside CF; apps to run on top of CF. It's been wonderful - because in part we can abandon projects when we think up all new ways to solve problems; or perhaps because Core CF components evolve or are removed or new ones introduced that help lift the tide for all ancillary tools. The projects afaict typically don't have full time teams working on them - they are more byproducts of ongoing real life work; or after hours inspiration from the suffering during work hours :)
Did this organization of code bases get mentioned in this proposal because there is a desire by the Extensions PMC to do something with them? Perhaps explicitly flesh this out? At a glance the referenced projects are incubating projects with F/T teams - is this important; or is "incubating towards CF Core/Certification" the important aspect?

On Tue, Nov 1, 2016 at 2:05 AM +1000, "Chip Childers" <cchilders(a)cloudfoundry.org> wrote:










Hi all!
The PMC Council is considering the attached proposal to restructure the foundation's PMCs.
A critical part of this proposal was a set of changes to the Development Governance and Operations Policies that define how a PMC's Governance by Contribution voting process works. Last week, the CFF Board of Directors unanimously approved these changes (they will be posted to cloudfoundry.org this week). The TL;DR here is that PMCs can choose, at the time of formation, to delegate technical decisioning making completely to the projects. That's the proposed model for this Extensions PMC.
https://docs.google.com/document/d/1E8UePs_PjQrlgqkSyP_Hk4bNcXfqsGH7iX2LXnbLW58/edit?usp=sharing 

This is being shared for public comment. Please take a look and feel free to comment in the Google doc, in this email thread or by contacting me directly if you wish to remain anonymous.
Comment period will be open until at least EOD Wednesday of this week.
Thanks!
-chip--
Chip ChildersVP Technology, Cloud Foundry Foundation1.267.250.0815


Chip Childers <cchilders@...>
 

In line:

On Mon, Oct 31, 2016 at 4:56 PM Dr Nic Williams <drnicwilliams(a)gmail.com>
wrote:

Chip/DrMax et al,

It might be helpful for the document to introduce the topic with a clear
2016/17 definition of what is "Core CF", and what "incubating project"
means.
Good questions!

"Core CF" - This really isn't a defined term. In the proposal (which I
wrote the initial draft of), I was using the term to basically mean that we
can think of the software within the CFF as being one of three categories:
Components of the Elastic Runtime, Components of BOSH and "Extensions". My
intention with that term was to describe the first two (ER and BOSH).

"Incubating Projects" - the definition of "incubating" is in the Development
Operations Policy
<https://www.cloudfoundry.org/wp-content/uploads/2015/09/CFF_Development_Operations_Policy.pdf>,
a portion of which is:

C. Project Incubation. The purpose of the incubation process is to ensure
that Projects have a successfully operating open and collaborative
development community, follow development and quality guidelines as
established by the PMC Council, have clear intellectual property oversight
of the code base of the Project, adopt Foundation policies and are an
architectural fit for the PMC.

Incubation is a term tied to project lifecycle within the CFF... We have
incubation, active and the attic. Incubation is as described above. Active
are projects that are "matured" (and each PMC defines this themselves) to
the point that they should be considered "active". Some general indicators
of a project's readiness to graduate from incubating to active include:
project operations (how the team / community is working together),
intellectual property cleanliness (are the legal docs in order, etc...) and
code maturity (is the code ready for production).

For those that care about things like governance structure, it's important
to understand that there's a technicality regarding PMC decision making
that relates to project status (incubating / active / attic). Only
committers on *Active* projects represent a vote for a company within a PMC.


I'm personally not actually sure - e.g. is the goal of Abacus & MySQL
release to be CF Core? If so, does this mean that all CF Certified PaaS
must deploy them? If this is clearly documented somewhere, perhaps a link
in line is useful to me/others who also forget/are unclear.
Let's forget about the "Core" word for a bit... and go back to first
principles. We have the three categories of projects (as listed above...
ER, BOSH, Extensions) hosted within the Foundation. The goal of this
reorganization is to simultaneously consolidate the projects that form the
two platforms (ER & BOSH) and create a better way for "extensions" to be
supported within the Foundation. The consolidation allows governance by
contribution voting to be scoped properly for the two platforms (and the
projects that make up those two platforms). The creation of an Extensions
PMC allows for collaboration on projects that are surrounding the two
platforms (ex: buildpacks run within ER, Services can be deployed by BOSH
and tied into ER, etc...).

A goal of a project shouldn't be to be "Core" unless it really is a
component of one of the platforms (again, understanding that "Core" has no
real definition). However, projects SHOULD want to move from incubating to
active, if merely to help indicate their status as production ready.




The proposal frames itself in part around the @cloudfoundry-community
organization.

This organization is collection of projects related to CF but do not
necessarily have ambitions of being "Core CF". They can be solutions to
problems; tools to help run CF; brokers to run alongside CF; apps to run on
top of CF. It's been wonderful - because in part we can abandon projects
when we think up all new ways to solve problems; or perhaps because Core CF
components evolve or are removed or new ones introduced that help lift the
tide for all ancillary tools. The projects afaict typically don't have full
time teams working on them - they are more byproducts of ongoing real life
work; or after hours inspiration from the suffering during work hours :)

Did this organization of code bases get mentioned in this proposal because
there is a desire by the Extensions PMC to do something with them? Perhaps
explicitly flesh this out? At a glance the referenced projects are
incubating projects with F/T teams - is this important; or is "incubating
towards CF Core/Certification" the important aspect?
That topic was included to specifically point out that
cloudfoundry-community isn't related to the proposal. Seems counter
intuitive, I know. ;-)

A couple of points:

1) The CFF doesn't "own" that organization. It's as you describe it... a
collection of projects that have organically been shared in a common
location.
2) It DOES seem like a little bit of curation of the projects in that repo
might be useful. It's filled with interesting code, some of which is able
to be used and some of which is likely quite stale. A first-time
participant in the CF ecosystem (as I've heard from many individuals) can
have a hard time knowing what's in there, what's valuable and what's no
longer valuable.

In general, I'd like to see if the community wants to do more curation of
the code in there or not. It's up to people that want to take the
opportunity to do so! Anyone want to think about ways to make it more
useful to the ecosystem?






On Tue, Nov 1, 2016 at 2:05 AM +1000, "Chip Childers" <
cchilders(a)cloudfoundry.org> wrote:

Hi all!

The PMC Council is considering the attached proposal to restructure the
foundation's PMCs.

A critical part of this proposal was a set of changes to the Development
Governance and Operations Policies that define how a PMC's Governance by
Contribution voting process works. Last week, the CFF Board of Directors
unanimously approved these changes (they will be posted to
cloudfoundry.org this week). The TL;DR here is that PMCs can choose, at
the time of formation, to delegate technical decisioning making completely
to the projects. That's the proposed model for this Extensions PMC.


https://docs.google.com/document/d/1E8UePs_PjQrlgqkSyP_Hk4bNcXfqsGH7iX2LXnbLW58/edit?usp=sharing


This is being shared for public comment. Please take a look and feel free
to comment in the Google doc, in this email thread or by contacting me
directly if you wish to remain anonymous.

Comment period will be open until at least EOD Wednesday of this week.

Thanks!

-chip
--
Chip Childers
VP Technology, Cloud Foundry Foundation
1.267.250.0815 <(267)%20250-0815>

--
Chip Childers
CTO, Cloud Foundry Foundation
1.267.250.0815


Chip Childers <cchilders@...>
 

All,

The PMC Council voted yesterday, forming the Extensions PMC with Dr. Max as
the PMC Lead. All of the projects within the Buildpacks, Services and
Utilities PMCs are now under the new structure. One exception is that we
are proposing that the MySQL service be part of the Runtime PMC. Runtime
will (hopefully) formally approve that change during it's next regularly
scheduled meeting.

-chip

On Mon, Oct 31, 2016 at 11:59 AM Chip Childers <cchilders(a)cloudfoundry.org>
wrote:

Hi all!

The PMC Council is considering the attached proposal to restructure the
foundation's PMCs.

A critical part of this proposal was a set of changes to the Development
Governance and Operations Policies that define how a PMC's Governance by
Contribution voting process works. Last week, the CFF Board of Directors
unanimously approved these changes (they will be posted to
cloudfoundry.org this week). The TL;DR here is that PMCs can choose, at
the time of formation, to delegate technical decisioning making completely
to the projects. That's the proposed model for this Extensions PMC.


https://docs.google.com/document/d/1E8UePs_PjQrlgqkSyP_Hk4bNcXfqsGH7iX2LXnbLW58/edit?usp=sharing


This is being shared for public comment. Please take a look and feel free
to comment in the Google doc, in this email thread or by contacting me
directly if you wish to remain anonymous.

Comment period will be open until at least EOD Wednesday of this week.

Thanks!

-chip
--
Chip Childers
VP Technology, Cloud Foundry Foundation
1.267.250.0815 <(267)%20250-0815>
--
Chip Childers
CTO, Cloud Foundry Foundation
1.267.250.0815


Michael Maximilien
 

Since I have not seen anything else, I will assume we are somewhat settled
here... I like the idea of keeping things simple with two classes of
projects and then BOSH.

------
As far as extensions is concern, I am planning a kick off call right after
Thanksgiving to give us a chance to discuss how we move forward and I also
want to share my vision for this PMC.

The key challenge is what is best time for the majority. Can you please
reply to maxim(a)us.ibm.com or mmaximilien(a)gmail.com with your intent to
participate and the best time for your timezone.

If we cannot reach a good time for all and there is enough interests then I
might schedule two the same day.

Feedback appreciated. Best,

Max

On Tue, Nov 1, 2016 at 11:12 AM, Chip Childers <cchilders(a)cloudfoundry.org>
wrote:

In line:

On Mon, Oct 31, 2016 at 4:56 PM Dr Nic Williams <drnicwilliams(a)gmail.com>
wrote:

Chip/DrMax et al,

It might be helpful for the document to introduce the topic with a clear
2016/17 definition of what is "Core CF", and what "incubating project"
means.
Good questions!

"Core CF" - This really isn't a defined term. In the proposal (which I
wrote the initial draft of), I was using the term to basically mean that we
can think of the software within the CFF as being one of three categories:
Components of the Elastic Runtime, Components of BOSH and "Extensions". My
intention with that term was to describe the first two (ER and BOSH).

"Incubating Projects" - the definition of "incubating" is in the Development
Operations Policy
<https://www.cloudfoundry.org/wp-content/uploads/2015/09/CFF_Development_Operations_Policy.pdf>,
a portion of which is:

C. Project Incubation. The purpose of the incubation process is to ensure
that Projects have a successfully operating open and collaborative
development community, follow development and quality guidelines as
established by the PMC Council, have clear intellectual property oversight
of the code base of the Project, adopt Foundation policies and are an
architectural fit for the PMC.

Incubation is a term tied to project lifecycle within the CFF... We have
incubation, active and the attic. Incubation is as described above. Active
are projects that are "matured" (and each PMC defines this themselves) to
the point that they should be considered "active". Some general indicators
of a project's readiness to graduate from incubating to active include:
project operations (how the team / community is working together),
intellectual property cleanliness (are the legal docs in order, etc...) and
code maturity (is the code ready for production).

For those that care about things like governance structure, it's important
to understand that there's a technicality regarding PMC decision making
that relates to project status (incubating / active / attic). Only
committers on *Active* projects represent a vote for a company within a PMC.


I'm personally not actually sure - e.g. is the goal of Abacus & MySQL
release to be CF Core? If so, does this mean that all CF Certified PaaS
must deploy them? If this is clearly documented somewhere, perhaps a link
in line is useful to me/others who also forget/are unclear.
Let's forget about the "Core" word for a bit... and go back to first
principles. We have the three categories of projects (as listed above...
ER, BOSH, Extensions) hosted within the Foundation. The goal of this
reorganization is to simultaneously consolidate the projects that form the
two platforms (ER & BOSH) and create a better way for "extensions" to be
supported within the Foundation. The consolidation allows governance by
contribution voting to be scoped properly for the two platforms (and the
projects that make up those two platforms). The creation of an Extensions
PMC allows for collaboration on projects that are surrounding the two
platforms (ex: buildpacks run within ER, Services can be deployed by BOSH
and tied into ER, etc...).

A goal of a project shouldn't be to be "Core" unless it really is a
component of one of the platforms (again, understanding that "Core" has no
real definition). However, projects SHOULD want to move from incubating to
active, if merely to help indicate their status as production ready.




The proposal frames itself in part around the @cloudfoundry-community
organization.

This organization is collection of projects related to CF but do not
necessarily have ambitions of being "Core CF". They can be solutions to
problems; tools to help run CF; brokers to run alongside CF; apps to run on
top of CF. It's been wonderful - because in part we can abandon projects
when we think up all new ways to solve problems; or perhaps because Core CF
components evolve or are removed or new ones introduced that help lift the
tide for all ancillary tools. The projects afaict typically don't have full
time teams working on them - they are more byproducts of ongoing real life
work; or after hours inspiration from the suffering during work hours :)

Did this organization of code bases get mentioned in this proposal
because there is a desire by the Extensions PMC to do something with them?
Perhaps explicitly flesh this out? At a glance the referenced projects are
incubating projects with F/T teams - is this important; or is "incubating
towards CF Core/Certification" the important aspect?
That topic was included to specifically point out that
cloudfoundry-community isn't related to the proposal. Seems counter
intuitive, I know. ;-)

A couple of points:

1) The CFF doesn't "own" that organization. It's as you describe it... a
collection of projects that have organically been shared in a common
location.
2) It DOES seem like a little bit of curation of the projects in that repo
might be useful. It's filled with interesting code, some of which is able
to be used and some of which is likely quite stale. A first-time
participant in the CF ecosystem (as I've heard from many individuals) can
have a hard time knowing what's in there, what's valuable and what's no
longer valuable.

In general, I'd like to see if the community wants to do more curation of
the code in there or not. It's up to people that want to take the
opportunity to do so! Anyone want to think about ways to make it more
useful to the ecosystem?






On Tue, Nov 1, 2016 at 2:05 AM +1000, "Chip Childers" <
cchilders(a)cloudfoundry.org> wrote:

Hi all!

The PMC Council is considering the attached proposal to restructure the
foundation's PMCs.

A critical part of this proposal was a set of changes to the Development
Governance and Operations Policies that define how a PMC's Governance by
Contribution voting process works. Last week, the CFF Board of Directors
unanimously approved these changes (they will be posted to
cloudfoundry.org this week). The TL;DR here is that PMCs can choose, at
the time of formation, to delegate technical decisioning making completely
to the projects. That's the proposed model for this Extensions PMC.

https://docs.google.com/document/d/1E8UePs_PjQrlgqkSyP_
Hk4bNcXfqsGH7iX2LXnbLW58/edit?usp=sharing

This is being shared for public comment. Please take a look and feel free
to comment in the Google doc, in this email thread or by contacting me
directly if you wish to remain anonymous.

Comment period will be open until at least EOD Wednesday of this week.

Thanks!

-chip
--
Chip Childers
VP Technology, Cloud Foundry Foundation
1.267.250.0815 <(267)%20250-0815>

--
Chip Childers
CTO, Cloud Foundry Foundation
1.267.250.0815


--
max
http://maximilien.org
http://blog.maximilien.com