When the Java Community votes to elect members to serve on the Executive Committee (EC), there is a chance that more than one candidate will receive the same number of votes for the same seat: namely, a tie. This page describes the process that is in place for resolving ties in the EC Elections, as well as previous processes that were prepared for resolving ties throughout the history of the Java Community Process. Just as the JCP document is a living document that gets revised over time, the tiebreaker process has changed multiple times since the creation of the JCP Executive Committee. The current version of the process is labeled "2026," and the previous versions are labeled "2024" and "2017."
2026 process | 2024 process | 2017 process
2026 EC Election tiebreaker
2026 tiebreaker game
For the 2026 tiebreaker, the PMO will use the winning team’s final score from the Charlotte Hornets vs Los Angeles Lakers NBA game on November 17, 2026.
The JCP Program Management Office will resolve an Executive Committee election tie in two stages. First, a NASDAQ closing value will determine a rotation of the tied candidates’ assigned numbers. Second, the specified stock-index values and basketball score will be used to calculate a SHA-512 digest that determines the selection order. Anyone will be able to reproduce the calculation from the published inputs.
-
Number assignment
At 10:00 AM Pacific Time on the Tuesday following the last day of the ballot, the PMO will assign consecutive numbers, beginning with 1, to the tied candidates in the order in which they appear, from top to bottom, within their seat category on the nominees page. Candidates who are not part of the tie will be skipped; the tied candidates will receive consecutive numbers beginning with 1.The candidate names displayed in the leftmost column on the nominees pages will be the order used. That order will determine the initial number assignments; variations in names used elsewhere and differences in language, locale, or sorting software will not affect it. Subsequent spelling or presentation corrections will not change the order.
Then the PMO will take the whole number (ignoring any fractional part) of the closing value of the NASDAQ Composite Index (as shown on WSJ historical prices for the NASDAQ Composite Index) for the last day of the ballot, and divide that value by the number of tied candidates in that category. The PMO will then take the remainder of that division and add that to the originally assigned numbers. Any number greater than the number of ties will have the number of ties subtracted from those numbers.
Thus, the original + NASDAQ division remainder = new value.
For each candidate, if the new value is greater than X (where X is the number of tied candidates), then subtract X from the new value.For example, if the closing value of the NASDAQ Composite Index is 14201 and there are three candidates tied, then we divide 14201 by 3, which gives us 4733 and a remainder of 2. Thus:
The candidate initially assigned number 1 would have position 3 (1 + 2 = 3).
The candidate initially assigned number 2 would have position 1 (2 + 2 = 4, 4 - 3 = 1).
The candidate initially assigned number 3 would have position 2 (3 + 2 = 5, 5 - 3 = 2). -
The calculation will take place only after all required input values are available. The PMO will calculate the SHA-512 digest at 10:00 AM Pacific Time the following day.
The PMO will use three whole-number values, determined as described below, as a single-line input to sha512sum.a) First, the closing value of the S&P 500 Index (truncated to the whole number) as shown on WSJ historical prices for the S&P 500 Index for the Tuesday following the last day of the ballot
b) Second, the closing value of Dow Jones Industrial Average (truncated to the whole number) as shown on WSJ historical prices for the Dow Jones Industrial Average for the Tuesday following the last day of the ballot
c) Third, the winning team’s final score from the NBA basketball game that's been stated for this year's tiebreaker, as reported by the NBA. -
The SHA-512 digest will contain 128 lowercase hexadecimal characters. Only those characters will be used to select the winners. Filenames, spaces, and other command output will be disregarded. The tied candidates will be ranked by the first occurrence of each candidate’s final number after the NASDAQ-based rotation in the digest, read from left to right. Available seats will be awarded in that order. Repeated occurrences of the same number will not affect the ranking.
If the end of the digest is reached before all available seats have been filled, the PMO will calculate another SHA-512 digest using the preceding digest’s 128 lowercase hexadecimal characters followed by one newline character (LF, ASCII decimal 10). Selection will continue from the new digest, retaining winners already selected. The candidate-number assignments will remain unchanged for every subsequent digest. This process will repeat until all available seats have been filled.
The PMO will publish a record of any tiebreaker calculation, including the tied candidates and their initial numbers, the NASDAQ closing value and division remainder, the final numbers after rotation, the three input values, the exact input text, the SHA-512 digest or digests, and the resulting selection order.
Example
Megacorp, S-Mart, and Samuel Johnson are all tied, each receiving an equal number of votes for one seat in an EC election's final tally. In this example, Samuel Johnson, Megacorp, and S-Mart appear in that top-to-bottom order within their seat category on the nominees page. The tied candidates are therefore initially numbered Samuel Johnson (1), Megacorp (2), and S-Mart (3).
The NASDAQ Composite Index closed at 13,790.98 on the last day of the ballot.
This truncates to 13790; dividing 13790 by 3 yields 4,596 with a remainder of 2.
Thus the numbers assigned to the tied candidates become:
Samuel Johnson: 3 (1 + 2 = 3)
Megacorp: 1 (2 + 2 = 4, 4 - 3 = 1)
S-Mart: 2 (3 + 2 = 5, 5 - 3 = 2)
Our three numbers are:
- 4538 (the truncated SPX closing value for the Tuesday following the last day of the ballot)
- 35088 (the truncated DJIA closing value for the Tuesday following the last day of the ballot)
- 123 (an illustrative winning score from the designated NBA game)
Using these example values, the following command calculates the SHA-512 digest. An equivalent SHA-512 tool may also be used, provided it processes exactly the same input bytes:
$ printf '%s\n' '4538 35088 123' | sha512sum
which gives the hashed result of:
cab44ec33db319adb6d25f8b2abf84d6c56f5ad4a2d905771dd9582f29cf72e2a65b229446b016d1ad61693bb1ab9ba6866d71bc95ade72127625c2c9106278d
For the example values, the exact input will be 4538 35088 123, followed by one newline character (LF, ASCII decimal 10). All calculations will use this same format: three integers in the specified order, single spaces between them, and no other characters.
In our example, we're looking for 1, 2, or 3. The number 3 appears first in the sequence, therefore Samuel Johnson would have won the seat.