Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWayne Beaton2016-09-23 15:50:10 -0400
committerWayne Beaton2016-09-23 15:50:10 -0400
commitcec0d264b10f44d1b61f4df4b62082d1e5ce0856 (patch)
tree35ffb820b5ebd4f32d653fdfddc5b2d819507257
parent869e204931ed3431984e9931ba49759c65d8546a (diff)
downloadorg.eclipse.dash.handbook-cec0d264b10f44d1b61f4df4b62082d1e5ce0856.tar.gz
org.eclipse.dash.handbook-cec0d264b10f44d1b61f4df4b62082d1e5ce0856.tar.xz
org.eclipse.dash.handbook-cec0d264b10f44d1b61f4df4b62082d1e5ce0856.zip
Add more content to the elections section.
I've pulled in some more existing content from the wiki and tuned it a bit. Additionally, I've changed the position of this section in the handbook so that it now appears before the paperwork section (one flows nicely into the next).
-rw-r--r--source/chapters/elections.adoc166
-rw-r--r--source/config.adoc2
-rw-r--r--source/eclipse.adoc4
-rw-r--r--source/locationtech.adoc2
-rw-r--r--source/polarsys.adoc2
5 files changed, 158 insertions, 18 deletions
diff --git a/source/chapters/elections.adoc b/source/chapters/elections.adoc
index a8372e3..53cd660 100644
--- a/source/chapters/elections.adoc
+++ b/source/chapters/elections.adoc
@@ -1,6 +1,6 @@
[[elections]]
-Elections
----------
+== Elections
+
Roles in a project are assigned based on merit demonstrated in a
publicly-accessible forum, in the form of an election. Elections
start with a nomination that contains a statement of merit. The nature
@@ -13,15 +13,137 @@ in an open source project at {forgeName}. Employment does not, for example, guar
committer status; committer status must be earned by everybody.
[[elections-committer]]
-Committer Elections
-~~~~~~~~~~~~~~~~~~~
-A committer election starts with a statement of merit for the nominee.
-The statement of merit should, for example, include links to contributions
-made by the nominee (e.g. Git commits, Gerrit reviews, pull requests,
-or Bugzilla records).
+=== Committer Elections
+
+Contributors who have the trust of the project's committers can,
+through election, be promoted to _committer status_ for that project. The breadth of
+a committer's influence corresponds to the breadth of their
+contribution. A development team's contributors and committers may (and
+should) come from a diverse set of organizations. A committer gains
+voting rights allowing them to affect the future of the project.
+Becoming a committer is a privilege that is earned by contributing and
+showing discipline and good judgment. It is a responsibility that should
+be neither given nor taken lightly, nor is it a right based on
+employment by an Eclipse Foundation member company or any company employing
+existing committers.
+
+Being a {forgeName} Committer is more than just having
+write-access to the project resources: there are specific
+IP due diligence and record keeping activities that Committers _must_
+follow. New committers must ensure that they are familiar with the
+{committerGuidelinesUrl}[Committer Guidelines].
+
+New committers should be encouraged to join the
+{incubationListUrl}[Incubation Mailing List]; this list is a good place
+to ask questions about process, services available, and other aspects
+of working as a committer.
+
+[[elections-requirements]]
+==== What are the Requirements?
+
+There are only three requirements around nominating and electing new
+committers (note that there are additional <<paperwork>> requirements for
+the new committer):
+
+* *Define Trust.* Each project is entitled to define how it
+evaluates "[people] who have the trust of the Project's Committers ...
+[through] contributing and showing discipline and good judgment". This
+definition needs to be a transparent and public document on the
+project's website (the top-level project charter may provide this).
+It is extremely important to publish these criteria
+to avoid any issues around cliques or "the in-crowd" preventing others
+from joining a project.
+* *Employment Neutral.* There must not be any hint of "we (company W)
+hired person X to work on project Y thus person X should elected a
+committer". Committer status is independent of employment; there
+are well-supported mechanisms for contributors without
+commit-rights and thus Committer status is not required for a team
+member to be effective. Additionally, the team will want to make sure
+that they have confidence in the candidate irrespective of employment
+and management because the committer status will continue even after
+moves to another job.
+* *Public and Archival Election.* The nomination and election process
+for a new Committer is for more than just the project team - it is also
+for the entire {forgeName} community, current and future. The larger
+community uses the artifacts of elections as (one of many pieces of)
+evidence about the maturity of the project team, and thus quality of the
+frameworks.
+
+NOTE: Nominations such as "we all know Bob, vote for him" may work within
+the team, but actually harm the project's reputation in the larger
+{forgeName} community: that larger community does not know Bob and does
+not understand why the project team _trusts_ him with the source code.
+
+[[elections-nomination]]
+==== What Should a Nomination Look Like?
+
+A committer nomination should explain the candidate's contributions to
+the project and thus why they should be elected as a Committer. Cite the
+issues they have fixed via patches; cite the community forum postings they have
+answered; cite the _dev list_ design discussions to which they have
+contributed; etc. In all cases, provide urls to source material.
+
+[[elections-how]]
+==== How does an Election work?
Use the {developerPortalUrl}[developer portal] to elect a committer.
+* Log in and navigate to the _Eclipse Projects_ section;
+* Expand your project by clicking the _[view]_ link on the right;
+* Click _[nominate] a new committer for <project>_; and
+* Follow the workflow.
+
+Project committers will be notified to participate in the election via
+the project's _dev list_.
+
+NOTE: Your project must have a _dev list_ specified in the project's
+<<pmi,metadata>> and existing project team members must be subscribed to
+the list.
+
+An election starts with a nomination by an existing committer.
+
+[graphviz, elections-overview, svg]
+.An overview of the Election Process
+----
+digraph {
+ // Graph properties
+ bgcolor=transparent
+
+ // Decisions
+ node [shape=diamond;style=filled;fillcolor=white;fontsize=10];
+ time[label="", group=g1];
+ approval[label="PMC\nApproves", group=g1];
+
+ // Notes
+ node [shape=plaintext;fillcolor=transparent;fontsize=10]
+ oneweek[label="One week passes or\nall committers\nhave voted"];
+
+ node [shape=box;style=filled;fillcolor=white;fontsize=12];
+ start[label="Nominate", group=g1];
+ ongoing[label="Ongoing", group=g1];
+ timedout[label="Timed out"];
+ complete[label="Complete", group=g1];
+ approved[label="Approved"];
+ vetoed[label="Vetoed"];
+ rejected[label="Rejected"];
+
+ edge [fontsize=10];
+ start->ongoing
+ ongoing->ongoing[label="Committers Vote"];
+ ongoing->time
+ time->timedout[xlabel="Not\nenough\nvotes"]
+ time->complete
+ time->rejected[xlabel="Vetoed\nby\ncommitter"]
+ complete->approval
+ approval->approved[xlabel="Yes"]
+ approval->vetoed[xlabel="No"]
+
+ edge [color=grey]
+ oneweek->time
+}
+----
+
+
Only project committers may vote in a committer election. To be successful,
the election must receive a minimum of three positive +pass:[+1]+ votes.
Any committer can veto the election by casting a +pass:[-1]+ vote. For projects
@@ -38,8 +160,8 @@ The <<paperwork, paperwork>> process will automatically be initiated following
PMC approval of an election.
[[elections-pl]]
-Project Lead Elections
-~~~~~~~~~~~~~~~~~~~~~~
+=== Project Lead Elections
+
Similar to a committer election, a project lead election starts with a
statement of merit. The merit statement should, rather than focus on
specific code contributions, focus instad on the leadership qualities
@@ -78,8 +200,8 @@ A PMC-approved election will be referred to the EMO/ED as a recommendation
for appointment. The final decision rests with the EMO/ED.
[[elections-pmc-member]]
-PMC Member Elections
-~~~~~~~~~~~~~~~~~~~~
+=== PMC Member Elections
+
The manner in which a top-level project's Project Management Committee
(PMC) 'Member' is appointed varies by PMC. Some PMCs are set up to have a
representative from each of the projects in the top-level project. Other
@@ -90,15 +212,27 @@ In all cases, the PMC Lead makes a recommendation to the EMO/ED to appoint
a PMC Member. The final decision rests with the EMO/ED.
[[elections-pmc-lead]]
-PMC Lead Appointments
-~~~~~~~~~~~~~~~~~~~~~
+=== PMC Lead Appointments
+
PMC 'Leads' are are not elected. They are vetted by the EMO, approved by
the Eclipse Board of Directors, and appointed by the EMO/ED.
[[elections-faq]]
-Frequently Asked Questions
-~~~~~~~~~~~~~~~~~~~~~~~~~~
+=== Frequently Asked Questions
[qanda]
Do we really need to do this? ::
Yes.
+
+Can I still be a committer if I change employers? ::
+ Yes. Your status as a committer is not tied to your employment status.
+ You may, however, require <<paperwork>> from your new employer (or if
+ you become self-employed). If you change employers, please contact
+ emo-records@eclipse.org for help regarding paperwork requirements.
+
+What happens if committers don't vote? ::
+ If a project has three or fewer committers, then all committers must
+ vote. If even one out of the three does not vote, then the election will
+ end in failure. If the non-voting committer is also not active, then
+ they can, perhaps, be retired by the project lead. Connect with
+ emo@eclipse.org for assistance. \ No newline at end of file
diff --git a/source/config.adoc b/source/config.adoc
index 10e46ce..683dbf8 100644
--- a/source/config.adoc
+++ b/source/config.adoc
@@ -12,6 +12,7 @@
:developerPortalUrl: http://portal.eclipse.org
:committerQuestionnaireUrl: http://portal.eclipse.org
+:committerGuidelinesUrl: http://www.eclipse.org/legal/committerguidelines.php
:ipDueDiligenceUrl: http://www.eclipse.org/legal/EclipseLegalProcessPoster.pdf
:ipThirdParty: http://www.eclipse.org/org/documents/Eclipse_Policy_and_Procedure_for_3rd_Party_Dependencies_Final.pdf
:ipPolicyUrl: http://eclipse.org/org/documents/Eclipse_IP_Policy.pdf
@@ -28,6 +29,7 @@
:claUrl: https://www.eclipse.org/legal/CLA.php
:claSignUrl: https://projects.eclipse.org/user/sign/cla
:cooUrl: https://eclipse.org/legal/CoO.php
+:incubationListUrl: https://dev.eclipse.org/mailman/listinfo/incubation
:jarSigningUrl: https://wiki.eclipse.org/JAR_Signing
:downloadsUrl: https://wiki.eclipse.org/IT_Infrastructure_Doc#Downloads
diff --git a/source/eclipse.adoc b/source/eclipse.adoc
index 92b3e91..c064158 100644
--- a/source/eclipse.adoc
+++ b/source/eclipse.adoc
@@ -27,12 +27,12 @@ include::chapters/starting.adoc[]
include::chapters/resources.adoc[]
+include::chapters/elections.adoc[]
+
include::chapters/paperwork.adoc[]
include::chapters/ip.adoc[]
-include::chapters/elections.adoc[]
-
include::chapters/release.adoc[]
include::chapters/pmi.adoc[]
diff --git a/source/locationtech.adoc b/source/locationtech.adoc
index f07c743..e3eefe3 100644
--- a/source/locationtech.adoc
+++ b/source/locationtech.adoc
@@ -25,6 +25,8 @@ include::chapters/starting.adoc[]
include::chapters/resources.adoc[]
+include::chapters/elections.adoc[]
+
include::chapters/paperwork.adoc[]
include::chapters/ip.adoc[]
diff --git a/source/polarsys.adoc b/source/polarsys.adoc
index 68bea17..d3e4afe 100644
--- a/source/polarsys.adoc
+++ b/source/polarsys.adoc
@@ -25,6 +25,8 @@ include::chapters/starting.adoc[]
include::chapters/resources.adoc[]
+include::chapters/elections.adoc[]
+
include::chapters/paperwork.adoc[]
include::chapters/ip.adoc[]

Back to the top