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 alphabetical order. Individuals will be ordered by last name, then first name; organizations will be ordered by their names as shown on the ballot. Capitalization will not affect the order. Any remaining ordering ambiguity will be resolved and published before voting begins. Then the PMO will take the whole number (ignoring any fractional part) of the closing value of the NASDAQ Composite Index (as shown on http://quotes.wsj.com/index/NASDAQ/historical-prices) 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 http://quotes.wsj.com/index/SPX/historical-prices 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 http://quotes.wsj.com/index/DJIA/historical-prices 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 assigned number 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.
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. Numbers are initially assigned to the candidates in alphabetic order, thus: 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)
At 10:00 AM Pacific Time on the day after all three input values are available, the PMO will use these numbers to determine the winner. As is commonly available on Unix/Linux systems, sha512sum (or its algorithmic equivalent output) will be used with the input numbers to determine the outcome of the tiebreaker:
$ 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.