You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@incubator.apache.org by wa...@apache.org on 2019/04/09 16:26:44 UTC

[incubator] branch master updated: Plan Podling Lifecycle UX in Whimsy

This is an automated email from the ASF dual-hosted git repository.

wave pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator.git


The following commit(s) were added to refs/heads/master by this push:
     new df7276f  Plan Podling Lifecycle UX in Whimsy
df7276f is described below

commit df7276f6a27b98ff71b9ffe522737e8da173cfb8
Author: Dave Fisher <da...@davefisher.tech>
AuthorDate: Tue Apr 9 09:26:39 2019 -0700

    Plan Podling Lifecycle UX in Whimsy
---
 WHIMSY_PLAN.md | 260 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 260 insertions(+)

diff --git a/WHIMSY_PLAN.md b/WHIMSY_PLAN.md
new file mode 100644
index 0000000..b788a30
--- /dev/null
+++ b/WHIMSY_PLAN.md
@@ -0,0 +1,260 @@
+# Incubator Podling Lifecycle from Whimsy
+
+We would like to finish the data migration and UX work to manage the podling lifecycle and
+related data from Whimsy. What follows is a description of the data currently in `podlings.xml`,
+the data needed that is not in the `podlings.xml`, an initial plan for the Podling Lifecycle UX
+to be discussed, and then examples of podlings in various states from `podlings.xml`
+
+## Podlings xml
+
+The podling catalog is in this file: [`podling.xml`][0]
+
+Values are stored for all Incubator podlings in a single xml file each in a `podling` node.
+Not all of the data pertain to current podlings.
+- Podling name. This is set when the podling is created. It can be changed later but that
+  can be expensive if the resources also need to be renamed.
+- Status - This is one of these three values: "current", "graduated" or "retired". Podlings
+  in the Incubator are current. When the podling exits it either "graduates" or "retires"
+- Resource - This is the name used for resources. It is initialized to lower case of Podling name w/o spaces.
+  Once the podling's resources are created it is very expensive to change these.
+- ResourceAliases - If the podling's resource and name is changed the older resource names are stored in 
+  this field. Some older podlings had multiple names or short names for resources.
+- Sponsor - Most often this is the "incubator", but it may also be any Apache PMC if there are directly
+  sponsoring a project in the incubator.
+- Start date - This is the date that the podling starts incubation. It can be the date the podling entry is created
+  or the date that the incubation vote passed.
+- End date - This is the date the podling leaves the incubator. It is either the date that 
+  the Board votes to accept the graduation proposal, the date another PMC chooses to accept the podling
+  as part of their PMC, or the date the podling retires.
+- Description - a short description of the podling.
+- Champion - the champion for the project.
+- Mentors - a list of the podling's mentors with their Apache IDs. This is now maintained from
+  Whimsy. [Whimsy roster page][1]
+- Reporting group - which months is a current podling reporting to the IPMC. A new podling will be monthly.
+- Resolution - when the podlings leaves the Incubator it either graduates or retires. These fields
+  describe what happened, 
+  - tlp attribute - If "true" the podling became a TLP 
+  - link attribute - If a name change was involved to the new TLP, the podling graduates into an existing PMC,
+    or retires with a new location then this is the text on a link.
+  - url attribute - If there is a link then this is the url.
+  - description - an optional description about retirement or graduation
+
+
+## Podling data currently not in `podlings.xml`
+
+We have to decide how best to handle the data that is in the Podlings Status page and the
+Podlings YML file. We should narrow this down to what is critical to keep and then decide
+where it should go.
+
+These items seem to be the most critical:
+
+1. SGA - the date that the SGA is received.
+2. ASF Copyright - the data that the donated code has had the copyright updated to Apache
+   along with the License headers updated as appropriate.
+3. Distribution Rights - the date that the code and its dependencies have been confirmed
+   to follow the [Legal Policy][23] on allowed 3rd party licenses.    
+4. Issue Tracker - are issues tacked in JIRA or Github?
+5. Wiki - does the project have a wiki, and is it a Confluence Space or a Github wiki?
+6. News - while it should be able to track new committers and PPMC members automatically 
+   from the Roster page it makes sense to allow the podling to track other events.
+   Releases can be detected as well and automatically added.
+7. Proposal - this url is not always the same as the podling name. For example the Tuweni
+   is proposed as Cava.
+8. Podling Name Search issue.
+9. Name change information - there is [INCUBATOR-199][24] which requests adding more explicit
+   information about name changes to podlings along with improvements to resolutions.
+
+There are design choice here. Do we fold all of these additional pieces of information into
+`podlings.xml`, or do we normalize the Podling YML file to only include these fields.
+A third option is to replace the Podling YML with a data file in another format.
+
+## Podling UX for Whimsy
+
+Eliminating the need to hand edit files without removing the ability is a goal. Let's discuss
+the actions that need to be recorded. Work was started in this direction in Whimsy and
+this can be continued.
+
+1. New Podling - begins incubation. This adds the `podling` record to `podlings.xml`.
+   We should discuss if this a first time only page or can be combined with Rename and Exit.
+   If so then this could be termed the Podling Lifecycle Page.
+   - Podling name.
+   - Resource.
+   - Sponsor.
+   - Start date.
+   - Description.
+   - Champion.
+   - Reporting group. This can be computed from the Start date.
+   - Proposal.
+   - News. The start of the podling.
+   - Issue Tracker. (is this choice best deferred to later?)
+   - Wiki. (is this choice best deferred to later?)
+   
+2. Podling Roster / Status - this page exists and currently handles roster changes. It could be
+   expanded to cover updates:
+   - Roster (as now)
+     - Mentors
+     - PPMC Members
+     - Committers
+   - News
+     - News about adding Committers, PPMC members, and Mentors can be automatic.
+     - Manual news should addable.
+     - PPMC members should be able to remove news.
+   - IP related events
+     - SGA
+     - ASF Copyright
+     - Distribution Rights
+     - Podling Name Search (does the current automated procedure work in all cases?)
+   - Reporting group.
+     - IPMC Chair removes the monthly checkbox or removes it depending on reporting.
+   
+   Also, the page can show the [clutch analysis][20] for the podling.
+   The [current generated JSON file][21] which can be abbreviated to remove redundant information like "LDAP".
+   
+3. Rename Podling - this expensive operation needs to be discouraged, but when it is needed
+   appropriate guidance should be provided.
+   - Podling name
+   - Description
+   - Podling Name Search (does the current automated procedure work in all cases?)
+   - Resource (expensive) - leads to explanation / checklist.
+   - News entry about renaming.
+   
+4. Exit Incubation - a page that covers the several transitions a podling may make as it
+   exits the Incubator by graduating or retiring.
+   - End Date
+   - Graduation?
+     - New TLP?
+     - To an existing PMC?
+       - Which PMC?
+       - Subproject link?
+   - Retirement?
+     - Development going to be elsewhere?
+       - 3rd Party link?
+   - Description of the change 
+   - Resolution (automatically filled in with the answers)
+     - tlp attribute
+     - link attribute
+     - url attribute
+     - description
+
+
+#### Example Podlings from `podlings.xml`
+
+A current podling:
+```
+    <podling name="Crail" status="current" resource="crail" sponsor="Incubator" startdate="2017-11-01">
+        <description>Crail is a storage platform for sharing performance critical data in distributed data processing jobs at very high speed.</description>
+        <reporting group="3"/>
+        <champion availid="lresende">Luciano Resende</champion>
+        <mentors>
+            <mentor username="jhyde">Julian Hyde</mentor>
+            <mentor username="lresende">Luciano Resende</mentor>
+        </mentors>
+    </podling>
+```
+
+A brand new podling:
+```
+    <podling name="DataSketches" status="current" resource="datasketches" sponsor="Incubator" startdate="2019-03-30">
+        <description>DataSketches is an open source, high-performance library of stochastic streaming algorithms commonly called "sketches" in the data sciences. Sketches are small, stateful programs that process massive data as a stream and can provide approximate answers, with mathematical guarantees, to computationally difficult queries orders-of-magnitude faster than traditional, exact methods.</description>
+        <reporting group="2" monthly="true">May, June, July</reporting>
+        <champion availid="jbonofre">Jean-Baptiste Onofré</champion>
+        <mentors>
+            <mentor username="chenliang613">Liang Chen</mentor>
+            <mentor username="kenn">Kenneth Knowles</mentor>
+            <mentor username="kamaci">Furkan Kamaci</mentor>
+        </mentors>
+    </podling>
+```
+
+A podling that changed its name (highlights the [INCUBATOR-199 issue][24]):
+```
+    <podling name="Flagon" status="current" resource="flagon" resourceAliases="senssoft" sponsor="Incubator" startdate="2016-07-13">
+        <description>Flagon is a software tool usability testing platform</description>
+        <reporting group="1"/>
+	<champion availid="lewismc">Lewis John McGibbney</champion>
+        <mentors>
+            <mentor username="lewismc">Lewis John McGibbney</mentor>
+            <mentor username="dmeikle">David Meikle</mentor>
+            <mentor username="atri">Atri Sharma</mentor>
+        </mentors>
+    </podling>
+```
+
+A podling graduated to a TLP:
+```
+    <podling name="CXF" status="graduated" resource="cxf" sponsor="Incubator" startdate="2006-08-15" enddate="2008-04-16">
+        <description>The CXF project will create a SOA services framework by merges the ObjectWeb Celtix project and the Codehaus XFire project.</description>
+        <resolution tlp="true"/>
+        <mentors>
+            <mentor username="jim">Jim Jagielski</mentor>
+            <mentor username="jstrachan">James Strachan</mentor>
+        </mentors>
+    </podling>
+```
+
+A podling sponsored by a PMC that graduated into the PMC:
+```
+    <podling name="Derby" status="graduated" resource="derby" sponsor="DB" startdate="2004-08-15" enddate="2005-07-18">
+        <description>Java relational database</description>
+        <resolution link="DB Derby" url="http://db.apache.org/derby/"/>
+        <mentors>
+            <mentor username="coar">Ken Coar</mentor>
+        </mentors>
+    </podling>
+```
+
+A podling that graduated with a name change:
+```
+    <podling name="OpenOffice.org" status="graduated" resource="openofficeorg" resourceAliases="ooo" sponsor="Incubator" startdate="2011-06-13" enddate="2012-10-17">
+        <description>OpenOffice.org is comprised of six personal productivity applications: a word processor (and its web-authoring component), spreadsheet, presentation graphics, drawing, equation editor, and database.</description>
+        <resolution link="OpenOffice" url="https://openoffice.apache.org/"/>
+        <mentors>
+            <mentor username="jim">Jim Jagielski</mentor>
+            <mentor username="rubys">Sam Ruby</mentor>
+            <mentor username="danese">Danese Cooper</mentor>
+            <mentor username="curcuru">Shane Curcuru</mentor>
+            <mentor username="noirin">Noirin Plunkett</mentor>
+            <mentor username="joes">Joe Schaefer</mentor>
+            <mentor username="grobmeier">Christian Grobmeier</mentor>
+            <mentor username="rgardler">Ross Gardler</mentor>
+        </mentors>
+    </podling>
+```
+
+A podling that retired:
+```
+    <podling name="Provisionr" status="retired" resource="provisionr" sponsor="Incubator" startdate="2013-03-07" enddate="2013-11-22">
+        <description>Provisionr provides a service to manage pools of virtual machines on multiple clouds.</description>
+        <resolution>Failed to grow a community. Retired at request of PPMC.</resolution>
+        <champion availid="tomwhite">Tom White</champion>
+        <mentors>
+            <mentor username="rvs">Roman Shaposhnik</mentor>
+            <mentor username="tomwhite">Tom White</mentor>
+            <mentor username="mnour">Mohammad Nour El-Din</mentor>
+        </mentors>
+    </podling>
+```
+
+A podling that retired and moved development elsewhere:
+```
+    <podling name="Heraldry" status="retired" resource="heraldry" sponsor="Incubator" startdate="2005-07-14" enddate="2007-06-09">
+        <description>Identity for the rest of us.</description>
+        <resolution link="OpenID.net" url="http://openid.net/">Project retired. Some activity moved to OpenID.net</resolution>
+        <mentors>
+            <mentor username="ben">Ben Laurie</mentor>
+            <mentor username="pquerna">Paul Querna</mentor>
+            <mentor username="twl">Ted Leung</mentor>
+            <mentor username="farra">J. Aaron Farr</mentor>
+            <mentor username="wrowe">William Rowe</mentor>
+        </mentors>
+    </podling>
+```
+
+
+[0]: https://incubator.apache.org/podling.xml "All podlings"
+[1]: https://whimsy.apache.org/roster/ppmc "All current podling roster pages"
+[20]: https://incubator.apache.org/clutch/gobblin.html "Example podling clutch analysis"
+[21]: https://incubator.apache.org/clutch.json "Clutch Analysis - JSON data"
+[23]: http://www.apache.org/legal/resolved.html "What can be included in an Apache project?"
+[24]: https://issues.apache.org/jira/projects/INCUBATOR/issues/INCUBATOR-199 "Request to extend podlings.xml"
+


---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@incubator.apache.org
For additional commands, e-mail: cvs-help@incubator.apache.org