Movatterモバイル変換


[0]ホーム

URL:


Projects

AProject is a collaborativeeffort to produce a specific artifact, which may be a body of code,or documentation, or some other material. A Project must besponsored by one or moreGroups. A Projectmay have web content, one or more file repositories, and one ormoremailing lists.

TheBylaws define several ways for theCommunity to expand via Projects. A step-by-step guide is providedhere for the following common cases:

This page is a summary and interpretation of theBylaws. If there is a conflict between this page andthe Bylaws then the Bylaws are considered authoritative.

Becoming anAuthor

AnyContributor may requesttheAuthor role by contacting therelevantProject Lead.References to at least twosponsored contributions to the Project arerequired. An Author receives the following privileges above thoseof a Contributor:

An Author who is not a Committer still requires the assistanceof a Committer to push PRs, but the Author role is nonetheless astep above being an unregistered Contributor.

Project Leads are encouraged togrant the Author role only to Contributorswho appear likely to continue to contribute for some time so thatthey will eventually be nominated to the Committer role.

The following is the minimal message.

To:<OpenJDK Project Lead>Subject:<project name> Author request for:<full name><contributor's e-mail><contributor's references>

Where the following substitutions are made in the message:

<OpenJDK Project Lead>
The Project Lead as identified by theCensus.
<project name>
The short name for the Project as listed on the left side-barof the mainOpenJDK page.
<full name>
The full name of the Contributor (not e-mail address, OpenJDKusername, etc.).
<contributor's e-mail>
The Contributor's e-mail address.
<contributor's references>
A brief description of qualifications, including references topast contributions to the Project. The references should be in theform of URLs to specific Git PRs authored by the Contributor. Atleast two references should be provided.

The new Author will receive an e-mail invitation to register inOpenJDK, at which time an OpenJDK username will be assigned. Oncethe invitation has been accepted, theCensuswill be updated. After you have an OpenJDK username, you mustassociate your GitHub username with your OpenJDK username.

Under normal circumstances, expect at most one week between thetime the Project Lead is contacted and an invitation isreceived.

Appointing aContributor to be an Author

TheProject Lead may appoint anyContributor who has made at least twosponsored contributions to the Projectto be a Author by notifying theregistrar. The registrarwill contact the new Author to obtain additional information, andwill update the Census.

The following is the minimal message.

To: registrar at openjdk dot orgSubject: New<project name> Author:<full name><author's e-mail><contributor's qualifications>

Where the following substitutions are made in the message:

<project name>
The short name for the Project as listed on the left side-barof the mainOpenJDK page.
<full name>
The full name of the nominated Contributor (not e-mail address,OpenJDK username, GitHub username, etc.).
<author's e-mail>
The e-mail address of the newly appointed Author.
<contributor's qualifications>
A brief description of qualifications, includingreferences.

Under normal circumstances, expect at most one week between thetime the registrar is contacted and an invitation is received.

Nominating aContributor or Author to be a Committer

AnyCommitter may nominate aContributor to be a newCommitter. Becoming an Author may be helpful in establishingcredibility to become a Committer, but it is not required.

As a rough guide, a Contributor should make at least eightsignificant contributions to that Project before beingnominated.

Step 1: Nominate

Send a call-for-votes to the Project's OpenJDKmailing list. The voting method forapproval isLazy Consensus andonly currentCommitters are eligible tovote.

To:<OpenJDK project mailing list>Subject: CFV: New<project name> Committer:<full name>I hereby nominate<full name> to<project name> Committer.<contributor description>Votes are due by<deadline>.Only current<project name> Committers [1] are eligible to voteon this nomination.  Votes must be cast in the open by replyingto this mailing list.For Lazy Consensus voting instructions, see [2].<nominator>[1] https://openjdk.org/census[2] https://openjdk.org/projects/#committer-vote

Where the following substitutions are made in the message:

<OpenJDK project mailing list>
The primaryOpenJDK mailinglist for the project.
<full name>
The full name of the nominated Contributor (not e-mail address,OpenJDK username, GitHub username, etc.).
<project name>
The short name for the Project as listed on the left side-barof the mainOpenJDK page.
<contributor description>

Describe the Contributor's past contributions to the Project,and any relevant qualifications including references to pastcontributions. The references should be in the form of a list ofURLs to specific PRs or an HTML query which produces the list. Forexample, the following is a query for a GitHub username,GHusername to the JDK main-line dvelomentrepositories:

https://github.com/openjdk/jdk/commits?author=GHusername
<deadline>
Insert a date and time, with time zone, two weeks after thecall-for-votes is sent.
<nominator>
Nominating Committer's name.
Step 2:Vote

Committers vote by replying to the proposal with the first lineof the message body in the following form:

Vote:<vote>

where<vote> is one ofyes,veto, orabstain. A justification for the vote may beprovided on subsequent lines, and is required in order for aveto vote to be valid. Multiple votes areallowed but only the most recent vote will be counted. Votes mustbe cast in the open, on the mailing list to which thecall-for-votes was originally sent; votes sent as private replieswill not be counted.

The following is a minimum affirmative reply.

To:<OpenJDK project mailing list>Subject: Re: CFV: New<project name> Committer:<full name>Vote: yes
Step 3: Announce Result

Once all Project Members have voted or the deadline has passedthen the result must be announced to the mailing list where thecall-for-votes and voting took place. If the announcement isapproval then it must also be sent to theregistrar. The registrarwill contact the new Committer to obtain additional information, ifnecessary, and will update the Census.

This is a typical announcement of approval:

To:<OpenJDK mailing list>CC: registrar at openjdk dot orgSubject: Result: New<project name> Committer:<full name>Voting for<full name> [1] is now closed.Yes:<number of "yes" votes>Veto: 0Abstain:<number of "abstain" votes>According to the Bylaws definition of Lazy Consensus, this issufficient to approve the nomination.<nominator>[1] https://mail.openjdk.org/<reference to original CFV>

Where the following substitutions are made in the message:

<reference to original CFV>
Find the original call-for-votes in the OpenJDK mail archivesand provide a link to it.

Nominating aCommitter to be a Reviewer

This role is relevant only to Projects that require formalchange review before a push. TheCensus noteswhich Projects have this requirement.

AnyProject Reviewer may nominateany of the Project's Committers to be a Project Reviewer of thesame Project. A Project Lead is automatically considered to be aReviewer, and remains a Reviewer after leaving the Project Leadrole.

As a rough guide, a Committer should author and push at least 32significant PRs to the Project before being nominated to be aReviewer.

Step1: Nominate

Send a call-for-votes to the Project's OpenJDKmailing list. The voting method forapproval isThree-VoteConsensus and only currentReviewers areeligible to vote.

To:<OpenJDK project mailing list>Subject: CFV: New<project name> Reviewer:<full name>I hereby nominate<full name> to<project name> Reviewer.<committer description>Votes are due by<deadline>.Only current<project name> Reviewers [1] are eligible to voteon this nomination.  Votes must be cast in the open by replyingto this mailing list.For Three-Vote Consensus voting instructions, see [2].<nominator>[1] https://openjdk.org/census[2] https://openjdk.org/projects/#reviewer-vote

Where the following substitutions are made in the message:

<OpenJDK project mailing list>
The primaryOpenJDK mailinglist for the project.
<full name>
The full name of the nominated Contributor (not e-mail address,OpenJDK username, GitHub username, etc.).
<project name>
The short name for the Project as listed on the left side-barof the mainOpenJDK page.
<committer description>
Describe the Committer's past contributions to the Project, andany relevant qualifications includingreferences.
<deadline>
Insert a date and time, with time zone, two weeks after thecall-for-votes is sent.
<nominator>
Nominating Reviewer's name.
Step 2:Vote

Reviewers vote by replying to the proposal with the first lineof the message body in the following form:

Vote:<vote>

where<vote> is one ofyes,veto, orabstain. A justification for the vote may beprovided on subsequent lines, and is required in order for aveto vote to be valid. Multiple votes areallowed but only the most recent vote will be counted. Votes mustbe cast in the open, on the mailing list to which thecall-for-votes was originally sent; votes sent as private replieswill not be counted.

The following is a minimum affirmative reply.

To:<OpenJDK project mailing list>Subject: Re: CFV: New<project name> Reviewer:<full name>Vote: yes
Step3: Announce Result

Once all Reviewers have voted or the deadline has passed thenthe result must be announced to the mailing list where thecall-for-votes and voting took place. If the announcement isapproval then it must also be sent to theregistrar. The registrarwill contact the new Reviewer to obtain additional information, ifnecessary, and will update the Census.

This is a typical announcement of approval:

To:<OpenJDK mailing list>CC: registrar at openjdk dot orgSubject: Result: New<project name> Reviewer:<full name>Voting for<full name> [1] is now closed.Yes:<number of "yes" votes>Veto: 0Abstain:<number of "abstain" votes>According to the Bylaws definition of Three-Vote Consensus, this issufficient to approve the nomination.<nominator>[1] https://mail.openjdk.org/<reference to original CFV>

Where the following substitutions are made in the message:

<reference to original CFV>
Find the original call-for-votes in the OpenJDK mail archivesand provide a link to it.

Proposing a NewProject

AnyContributor may proposethe creation of a new Project.

Step 0: Discuss [optional]

It is recommended that any proposal for a new Project bediscussed publicly before being proposed for a vote. Send an e-maildescribing the motivation, goals, and initial Lead of the proposedProject to thegeneraldiscussion list. Include any suggested initial Authors,Committers, and Reviewers, if known. (Reviewers are only relevantif the Project will require formal change review.) Describeexisting bodies of code, if any, that will be used as the Project'sstarting point. The proposing Contributor should be an activeparticipant in any subsequent discussion and should refine theproposal as necessary in response to comments.

The header for the Project proposal e-mail is as follows:

To: discuss at openjdk dot orgSubject: Call for Discussion: New Project:<project name>

Where<project name> is the suggestedshort name of the Project as it would appear on the left side-barof the mainOpenJDK page.

At least oneGroup Lead mustdeclare that their Group is a sponsor of the proposed Project.

Step 1: Propose

Send a combined motion for the creation of the Project and theappointment of its initial Lead to theannouncement list. Thee-mail should contain the Project name, description, initial Leadname and qualifications, sponsoring Groups, and suggested initialAuthors, Committers, Reviewers, if any. The voting method isLazy Consensus and onlycurrentOpenJDK Members are eligibleto vote.

The format for the call-for-votes e-mail is as follows:

To: announce at openjdk dot orgSubject: CFV: New Project:<project name>I hereby propose the creation of the<project name> Project with<lead name> as the Lead and<group list> as the sponsoringGroup(s).<project description><lead description><list of suggested initial authors, committers, and reviewers>Votes are due by<deadline>.Only current OpenJDK Members [1] are eligible to vote on thismotion.  Votes must be cast in the open on the discuss list.Replying to this message is sufficient if your mail programhonors the Reply-To header.For Lazy Consensus voting instructions, see [2].<nominator>[1] https://openjdk.org/census#members[2] https://openjdk.org/projects/#new-project-vote

Where the following substitutions are made in the message:

<project name>
The name of the proposed Project as it would appear on the leftside-bar of the mainOpenJDKpage.
<project description>
Describe the Project's deliverable.
<lead name>
The full name of the proposed Project Lead (not e-mail address,OpenJDK username, GitHub username, etc.)
<lead description>
Describe the proposed Lead's relevant qualifications.
<group list>
A comma-separated list containing at least one Group whose Leadhas agreed to sponsor the Project.
<list of suggested initial authors,committers, and reviewers>
Provide the full names (not e-mail address, OpenJDK name, etc.)of people which the prospective Project Lead may choose to appointas initial Authors, Committers, and Reviewers (if necessary).
<deadline>
Insert a date and time, with time zone, two weeks after thecall-for-votes is sent.
<nominator>
The proposing Contributor's name.

The Bylaws specify separate votes on the creation of a newProject, by the OpenJDK Members, and the appointment of its initialLead, by the Group Leads of the sponsoring Groups. Any such GroupLead may therefore request that the two motions be voted uponindependently, though this is not expected to be the commoncase.

Step 2:Vote

Eligible voters cast their vote by sending e-mail to thegeneral discussionlist. Replying to the proposal will achieve this automaticallyfor those people whose mail programs honor theReply-To header. The first line of the message bodyshould be in the following form:

Vote:<vote>

where<vote> is one ofyes,veto, orabstain. A justification for the vote may beprovided on subsequent lines, and is required in order for aveto vote to be valid. Multiple votes areallowed but only the most recent vote will be counted. Votes mustbe cast in the open, on thegeneral discussion list;votes sent as private replies will not be counted.

The following is a minimum affirmative reply:

To: discuss at openjdk dot orgSubject: Re: CFV: New Project:<project name>Vote: yes
Step 3: Announce Results

Once all OpenJDK Members have voted or the deadline has passed,the proposing Contributor must send the results to theannouncement list. If theannouncements are of approval then they must also be sent to theregistrar.

This is a typical announcement of approval:

To: announce at openjdk dot orgCC: registrar at openjdk dot orgSubject: Result: New Project:<project name>Voting on the<project name> Project with initial Lead<lead name> [1] is now closed.Yes:<number of "yes" votes>Veto: 0Abstain:<number of "abstain" votes>According to the Bylaws definition of Lazy Consensus, this issufficient to approve the new Project and its initial Lead.<nominator>[1] https://mail.openjdk.org/<reference to original CFV>

Where the following substitutions are made in the message:

<reference to original CFV>
Find the original call-for-votes in the OpenJDK mail archivesand provide a link to it.
Step 4: Appoint

The registrar will send an e-mail questionnaire to the newProject Lead to collect information necessary to launch the Projecton OpenJDK. In addition to information for web pages, filerepositories, and mailing list(s), the Lead will be asked to selectthe initial Authors, Committers, and Reviewers (if necessary). Theregistrar will issue registration invitations as appropriate andwill update the Census.

Last update: 2023/08/15
OpenJDK logo
Installing
Contributing
Sponsoring
Developers' Guide
Vulnerabilities
JDK GA/EA Builds
Mailing lists
Wiki ·IRC
Mastodon
Bluesky
Bylaws ·Census
Legal
Workshop
JEP Process
Source code
GitHub
Mercurial
Tools
Git
jtreg harness
Groups
(overview)
Adoption
Build
Client Libraries
Compatibility & Specification Review
Compiler
Conformance
Core Libraries
Governing Board
HotSpot
IDE Tooling & Support
Internationalization
JMX
Members
Networking
Porters
Quality
Security
Serviceability
Vulnerability
Web
Projects
(overview,archive)
Amber
Babylon
CRaC
Code Tools
Coin
Common VM Interface
Developers' Guide
Device I/O
Duke
Galahad
Graal
IcedTea
JDK 7
JDK 8
JDK 8 Updates
JDK 9
JDK (…,23,24,25)
JDK Updates
Jigsaw
Kona
Kulla
Lanai
Leyden
Lilliput
Locale Enhancement
Loom
Memory Model Update
Metropolis
Mission Control
Multi-Language VM
Nashorn
New I/O
OpenJFX
Panama
Penrose
Port: AArch32
Port: AArch64
Port: BSD
Port: Haiku
Port: Mac OS X
Port: MIPS
Port: Mobile
Port: PowerPC/AIX
Port: RISC-V
Port: s390x
SCTP
Shenandoah
Skara
Sumatra
Tsan
Valhalla
Verona
VisualVM
Wakefield
Zero
ZGC
Oracle logo
© 2025 Oracle Corporation and/or its affiliates
Terms of Use · License:GPLv2 ·Privacy ·Trademarks

[8]ページ先頭

©2009-2025 Movatter.jp