The board positions and officer roles are an essential part of Jenkins' community governance and well-being. This document outlines the Jenkins Governance Board and Jenkins officer election process. The election process is driven by the Jenkins Governance board members who are not up for reelection (aka the election committee). More contributors might be added to the election committee if approved by the regular governance meeting.
The charter of the Jenkins board is to ensure the health of not only the software project, but of the communities of plugin developers and users. To do this effectively, members of the board must bring various perspectives to the table: what are the needs of users; of committers; of organizations, both large and small; of commercial interests. As the composition of the Jenkins board changes over time, we want to ensure this balance of viewpoints is maintained. Current board members understand this balance, and are in the best position to select new candidates. A board comprised fully of write-in candidates runs the risk of being overweighed with one type of perspective over all others.
Make sure that the board reflects "the will of project participants" instead of just being self-appointed.
Make sure that the board reflects the balance of different viewpoints and needs of users, committers, organizations of any size, and commercial interests.
Maintain stability and avoid sudden direction changes.
The elections are coordinated by the Jenkins Governance Board members who are not up for re-election this year. These contributors are responsible for managing the process, preparing the nominee list for elections, forming and verifying the voter list, and processing/announcing the election results.
You can contact the election committee via Jenkins Election Committee. Please use this link for any queries and feedback regarding the elections.
The Governance Board includes five members
Election occurs every year, normally electing two people to the board in each year.
There will be a period of at least three weeks designated for the board to encourage the community to submit nominations. The board will meet in private to select final candidates
The number of elected board members affiliated with one company must be 50% or less.
If a board member gets employed by a company and the limitation gets violated, somebody must step down and the board will follow the #Interim Procedures
Use the Condorcet Internet Voting Service (CIVS) as the method to elect multiple people in one vote.
The election committee is responsible for preparing and running the election process. This includes various preparation steps within the CIVS and discourse.
The election committee creates the election-voter-20XX
group in the Jenkins community forum.
As template, the group from the past year can be used, to set permissions and the group profile.
The election committee from the previous year adds the new election committee members to the election-committee as group owner, and removes themselves from the group.
The poll is created using a designated email address, all election committee members have access to. The election committee from the previous year adds the new election committee members to the Google group as group manager, and removes themselves from the group afterwards.
The group’s email address is used to create and manage the poll(s) in CIVS.
Include the officer role in the poll name, if there is more than one candidate for the role, like Jenkins Election 20XX - Infrastructure Officer
.
Otherwise, omit the part after the year, if there is not more than one candidate for an office and the role is a position on the board.
The name of the supervisor includes both names of the election committee members, like John Doe and Jane Doe
.
This information is shown publicly to voters and used in emails.
The description of the poll contains a link to the election announcement page, listing all candidates and their statements for the annual election.
The names of candidates are entered in alphabetical order.
Tick Present choices on voting page in exactly the given order.
at the bottom of the poll to preserve the order.
The radio button Private
is selected.
The list of email addresses of eligible voters from the election-voter-20XX
discourse group is supplied in the next step, after poll creation and activation.
The opinion of members of the community at large is highly valued, and the board welcomes additional nominations beyond who we might consider. If you feel that a particular person is well suited to help guide Jenkins, please submit a name and the reason for your nomination to the Jenkins Election Committee.
The election committee will review all submissions and compile a final list of candidates to be voted on by the community, for the board member seats and officer roles up for election. The board reserves the right to omit nominations from the final ballot if they feel that a particular viewpoint is already well represented on the board, or if there are other reasons preventing a nominee from being effective in the target role. In the case of rejection, a justification must be provided to the contributor who submitted the nomination. The decision may be escalated to the Jenkins governance meeting and overridden by voting there.
After receiving and vetting the nominations, the election committee is responsible for contacting the nominees and confirming whether they want to run in the election. The candidates should also provide their statements, list of affiliations (see Corporate Disclosure), any account/social media links which may help voters to get more information about them, and plans if they are elected to the role. This information is published by the election committee before the voting starts.
Any Jenkins project and/or community contributor is eligible to vote in the election if there is a contribution made before September 01 of the election year. Contributing does not only mean a code contribution, as contributions could be:
As long as you are contributing to the Jenkins project or community, you are eligible to register for voting.
Voter registration is announced through the Jenkins mailing lists, blog, and social media accounts. Users can register to vote in the election by joining the annual election voting group.
To register, you must have an account on community.jenkins.io. You can use your existing GitHub account, or create a new account specifically for Jenkins community discussion.
Once voter registration is over, the election committee will process the form submissions and prepare a list of the registered voters. In the case of rejection, one of the election committee members will send a rejection email.
Voting happens through the Condorcet Internet Voting Service. Once the voting period begins, all voters will receive a notification to the email used for your Jenkins community account. There will be separate emails and polls for each role (board members and each officer) with more than 1 candidate. If you have not received an email within 24 hours from the voting start date, please contact the Jenkins Election Committee. Every contributor can vote only once, and multiple intentional votes will be considered a violation and serious misbehavior, subject to the Jenkins Code of Conduct.
Voters will have at least two weeks to submit their votes. Voting is anonymous. Each voter ranks a set of possible choices. Individual voter rankings are then combined into an anonymous overall ranking of the choices. Refer to this page for more information about the ranking algorithm.
Once voting is over, the election committee will process the results, notify the elected candidates, and prepare the announcement. The results should be announced shortly after the elections, in the Jenkins mailing lists, blog, and social accounts.
Voting results take effect immediately after the announcement. Board members and former officers are responsible to organize knowledge and permission transfers for the newly elected contributors. The transition process is to be defined by former and newly elected contributors, with an expectation that the transition concludes within one month after the results announcement.
The election committee is responsible to hold a retrospective for the elections and to make the results of it public.
The election committee is encouraged to post about phase changes (nomination phase, voting phase, etc.) on the Jenkins blog and social media accounts. The LinkedIn and Twitter posts from the past years can be used as a template.
Additionally, posts on the mailing lists (jenkinsci-dev, jenkinsci-users), community forums, and places seen by many people, such as GitHub organization profiles, are encouraged
If a board member resigns, the board is allowed to appoint an interim board member to fulfill the remainder of the term, subject to approval in a regular governance meeting.
As an independent community, it is important to us that the Jenkins board does not become overly influenced by any one single corporate entity. It is also important that the board members are actively involved in the project. No more than two of the four elected members of the governing board may be affiliated with a single corporate entity. You can find out more about our philosophy in the Governance Document.
To handle this within the election cycle, we do not wish to limit the candidacy for employees of any given company.
Initially, the number of candidates per company is ignored and candidates are eliminated normally.
Winners are calculated. If a company is over quota for elected members of the board, we take the top zero, one, or two candidates from that company and all the other candidates that aren’t affiliated with that company, dropping the lower placing candidates who are affiliated with that company.
The calculation is then re-run with the new pool.
Like many things in the Jenkins community, the disclosure of corporate affiliation is based on the honor system. With major multi-national corporations, such as Amazon, which have hundreds of affiliate companies, we ask that candidates also disclose any pertinent subsidiary relationship.
There are several motivations behind the above proposal:
Odd number of people prevents the tie problem
Given the variety of ways to contribute, we couldn’t identify a singular criteria to define the right to vote in board elections. At the same time, we wanted to preserve stability by limiting voting rights to only those with some involvement in the project.
2022 - announcement
No results available. The candidates up for election have been selected without a vote, as there was only one candidate per seat and role.
2021 - results, announcement
2020 - results, candidates, announcement
2019 - results, announcement, retrospective, dev list discussion
Outline how to create a poll in CIVS.
Document how to create an election group in Discourse.
Add a link to the elections from 2022.
In 2020 we made changes to address the 2019 retrospective freedback.
Add officer election to the document.
Modify the voter eligibility definition: all contributors are eligible if they contributed before Sep 01, 2020. Jenkins LDAP account is no longer required.
Document the two-stage voting process de-facto used in 2019.
Three Board positions are elected instead of two in the base document (Dean Yu’s seat + two new seats). With this change, the 2020 election will have only one board member elected unless a board member steps down.
Continuous Delivery Foundation will supervise the election.
We will run the voting using The Condorcet Internet voting system instead of Single Transferable Vote.
Related decisions:
Introduce a new Documentation officer position (content officer from the 2015 Proposal).
All officer positions will be voted on in 2019 and then in 2020.
Decisions:
Formally approve the Governance board election process. This page represents the process.
Expand the board from three people to five people; Kohsuke holding a permanent board seat until such a time he decides to resign.
Related decisions:
Jenkins Code of Conduct is accepted and published. Jenkins Governance Board will be responsible for processing escalations and enforcing the Code of Conduct if needed.