Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Development Resources"

(Projects: Ongoing)
(90 intermediate revisions by 11 users not shown)
Line 1: Line 1:
 +
<!--
 +
== Community ==
 +
 +
*'''[[Community/Developer Hangouts | Developer Hangouts]]'''
 +
*'''[[Community/Getting Help | Getting Help]]'''
 +
*'''[[Community/Events | Events]]'''
 +
-->
 +
 
== Users: Contributing To A Project  ==
 
== Users: Contributing To A Project  ==
  
 +
*'''[[Development Resources/Quick Start -- Contributing Project Code|Quick Start -- Contributing Project Code]]''' Interested in contributing code. Awesome! This is how to get started.
 
*'''[[Development Resources/How To Behave|How To Behave]]''' Practical advice on how to ask questions, report bugs, and be generally successful in your interactions with an Open Source Project.
 
*'''[[Development Resources/How To Behave|How To Behave]]''' Practical advice on how to ask questions, report bugs, and be generally successful in your interactions with an Open Source Project.
 
*'''Reporting Bugs.''' All Eclipse projects use [https://bugs.eclipse.org/bugs/ Bugzilla] to track bugs and features. Please read the [[Bug Reporting FAQ]] and then sign up for a bugzilla account to join in the fun.  
 
*'''Reporting Bugs.''' All Eclipse projects use [https://bugs.eclipse.org/bugs/ Bugzilla] to track bugs and features. Please read the [[Bug Reporting FAQ]] and then sign up for a bugzilla account to join in the fun.  
 
*'''Getting Answers.''' [http://www.eclipse.org/mail/ Mailing lists] are for development team conversations; [http://www.eclipse.org/newsgroups/ newsgroups] and [[IRC]] are for the larger user and adopter community and thus are the correct place to ask for help.  
 
*'''Getting Answers.''' [http://www.eclipse.org/mail/ Mailing lists] are for development team conversations; [http://www.eclipse.org/newsgroups/ newsgroups] and [[IRC]] are for the larger user and adopter community and thus are the correct place to ask for help.  
 
*'''Downloads.''' Get binaries from the [http://www.eclipse.org/downloads/ main downloads page]. Click through to the project pages for integration, milestone, and nightly builds.  
 
*'''Downloads.''' Get binaries from the [http://www.eclipse.org/downloads/ main downloads page]. Click through to the project pages for integration, milestone, and nightly builds.  
*'''Source Code.''' Get the source code from either [[CVS Howto|CVS]], [[SVN Howto|SVN]], or [[Git]] (each project makes their own choice).  
+
*'''Source Code.''' Get the source code from either [[SVN Howto|SVN]], or [[Git]] (each project makes their own choice).  
*'''Contribute!''' The best way to contribute to a project is to contribute (sorry for the recursion). Pick a bug from a project that interests you, build a fix, and contribute it to the bug as a patch. If you're not sure how to start, ask questions on the bug, or communicate with the [http://www.eclipse.org/projects/listofprojects.php project] via their communication channel (normally a [http://www.eclipse.org/forums/ forum]).
+
*'''[[Development Resources/Contributing|Contribute!]]''' The best way to contribute to a project is to contribute (sorry for the recursion). Pick a bug from a project that interests you, build a fix, and contribute it to the bug as a patch. If you're not sure how to start, ask questions on the bug, or communicate with the [http://www.eclipse.org/projects/listofprojects.php project] via their communication channel (normally a [http://www.eclipse.org/forums/ forum]).
 +
*'''IP Due Diligence for Contributions'''. Certain processes must be followed. Dotting the i's and crossing the t's. It all starts with the [http://www.eclipse.org/legal/EclipseLegalProcessPoster.pdf Eclipse IP Due Diligence Poster], but there's a little [[Development Resources/IP Due Diligence for Git and Gerrit|something more (or less) for projects that use Git or Gerrit]].
 +
** Note that the second page of the poster provides a list of approved third-party licenses.
 
*'''Large Contributions.''' Small contributions to Eclipse projects should be made through [https://bugs.eclipse.org/bugs/ Bugzilla], but larger contributions require a [[TM and RSE FAQ#How_do_I_submit_a_contribution_beyond_a_simple_bug_fix.3F|separate process]]. Or, if the contribution is larger still, you could [[Development Resources/HOWTO/Starting A New Project|start a new project]].
 
*'''Large Contributions.''' Small contributions to Eclipse projects should be made through [https://bugs.eclipse.org/bugs/ Bugzilla], but larger contributions require a [[TM and RSE FAQ#How_do_I_submit_a_contribution_beyond_a_simple_bug_fix.3F|separate process]]. Or, if the contribution is larger still, you could [[Development Resources/HOWTO/Starting A New Project|start a new project]].
 +
*'''[[Development Resources/Contributing via Git|Contributing via Git]]'''. Contributing to an Eclipse project using Git or Gerrit.
 +
*:See also '''[[Development Resources/Handling Git Contributions|Handling Git Contributions]]''' from a committer's perspective.
  
 
== Projects: Getting Started ==
 
== Projects: Getting Started ==
 
*'''[[Development Resources/HOWTO/Starting A New Project|Starting a New Project]]''' Words of advice, what to expect, that sort of thing, ...
 
*'''[[Development Resources/HOWTO/Starting A New Project|Starting a New Project]]''' Words of advice, what to expect, that sort of thing, ...
 +
**Should you create a '''[[Development Resources/HOWTO/Starting A New Project/Subproject or Component|Subproject or Component?]]'''
 
**'''[[Development Resources/HOWTO/Project Naming Policy | Naming a Project]]'''. Help with choosing an appropriate name for your project.  
 
**'''[[Development Resources/HOWTO/Project Naming Policy | Naming a Project]]'''. Help with choosing an appropriate name for your project.  
 
**'''[[Development Resources/Initial Contribution|Initial Contribution]]''' All Eclipse projects start with an initial contribution of code. Some contributions are big, other are small. Whatever the case, the IP Team needs to review your first drop of code before anything gets added to the repository.
 
**'''[[Development Resources/Initial Contribution|Initial Contribution]]''' All Eclipse projects start with an initial contribution of code. Some contributions are big, other are small. Whatever the case, the IP Team needs to review your first drop of code before anything gets added to the repository.
 
*'''[http://www.eclipse.org/projects/listofprojects.php List of Projects]''' All projects at Eclipse, including valuable links.
 
*'''[http://www.eclipse.org/projects/listofprojects.php List of Projects]''' All projects at Eclipse, including valuable links.
 +
*'''[[Development Resources/The First 90 Days|The First 90 Days]]''' What to expect, and what you need to do during the first 90 days with your brand spanking new Eclipse Project.
 +
*'''[[Social Coding]]''' Git, Gerrit, CLAs, and hosting your Eclipse Foundation project with another hosting service (e.g. GitHub)
 +
*'''[[Architecture Council/Contributor Guide Recommendation|Contribution Guide]]''' Consider including a contribution guide in the root of you Git repositories (see {{Bug|397644}}).
  
== Committers: Being A Committer  ==
+
== Projects: Ongoing==
 +
*'''[[Project Management Infrastructure|Project Management]]''' Project management, Project management infrastructure, and the Developer Portal.
 +
*'''[[Development Resources/HOWTO/Release Cycle|Release Cycle]]''' Release cycle, and reviews.
 +
*[[Architecture Council/Contributor Guide Recommendation|Contribution Guide Recommendations]] from the Architecture Council
 +
** All Git repositories must have a [[Architecture Council/Contributor Guide Recommendation#Source Code Repositories|CONTRIBUTING file]] or an equivalent
  
 +
===Policies and Guidelines===
 +
Here's a list of various policies and guidelines for Eclipse projects.
 +
 +
* [[Development Resources/HOWTO/Project Naming Policy|The Eclipse Project Naming Policy]]
 +
* [[Development Resources/HOWTO/The Eclipse Code Namespace Policy|The Eclipse Code Namespace Policy]]
 +
* [[Version_Numbering|The Eclipse Version Numbering Policy]]
 +
* [http://eclipse.org/security/policy.php The Eclipse Security Policy]
 +
* [http://www.eclipse.org/legal/privacy.php The Eclipse Privacy Policy]
 +
* [http://www.eclipse.org/org/documents/Eclipse_IP_Policy.pdf The Eclipse Intellectual Property Policy]
 +
* [http://www.eclipse.org/org/documents/Eclipse_Policy_and_Procedure_for_3rd_Party_Dependencies_Final.pdf Guidelines for the Review of Third Party Dependencies]
 +
* [http://www.eclipse.org/legal/logo_guidelines.php Guidelines for Eclipse Logos & Trademarks]
 +
* [[Links to non-eclipse.org content|Guidelines for Links to non-eclipse.org content]] on your project website
 +
* [[User Interface Guidelines]]
 +
* [http://eclipse.org/org/documents/Eclipse_Using_Proprietary_Tools_Final.php Guidelines for the Use of Proprietary Tools]
 +
* [http://eclipse.org/org/documents/Eclipse_SpecOrgs_final.pdf Eclipse Foundation Policy on Interacting with Standards and Specification Organizations]
 +
* [http://eclipse.org/org/documents/Licensing_Example_Code.pdf Licensing of Examples]
 +
* [http://eclipse.org/org/documents/LGPL_API_Policy.pdf Policy to Consider the Limited Usage of LGPL APIs in Eclipse Projects]
 +
* [http://eclipse.org/org/documents/Eclipse%20ANTITRUST%202003_11_10%20Final.pdf Eclipse Foundation Antitrust Compliance Policy]
 +
* [[Policies/Uploading and Downloading from Eclipse Software Policy|Uploading and Downloading from Eclipse Software Policy]] '''Work in progress.''' A policy concerning project software that uploads or downloads.
 +
 +
== Committers: Being A Committer  ==
 +
{{Warning|The Project Management elements of the Developer Portal are being moved to the new [[Project Management Infrastructure]]. All project metadata can now be edited directly on project summary/information pages. Committer elections and creation of new CQs for the IP due diligence process must still be done using the Developer Portal. We are in the process of updating documentation.}}
 +
*'''[[Development Resources/Committer Cheat Sheet|Committer Cheat Sheet]]''' The concise list of things that you need to know when you're a committer.
 +
*'''[[Development Resources/Becoming a Committer|Becoming a Committer]]''' What do you need to do to become a committer on an Eclipse Project?
 +
*'''[[Development Resources/Committer Bootcamp|Committer Bootcamp]]''' Presentation, links, and help for new committers.
 +
*'''[[Development Resources/New Commmitter Handbook|New Committer Handbook]]''' Helpful information and bits of advice for new committers.
 
*'''Eclipse Development Process.''' The [http://www.eclipse.org/projects/dev_process/development_process.php Eclipse Development Process] (EDP) describes the high-level development process for Eclipse projects. Individual projects set their own day-to-day development process.
 
*'''Eclipse Development Process.''' The [http://www.eclipse.org/projects/dev_process/development_process.php Eclipse Development Process] (EDP) describes the high-level development process for Eclipse projects. Individual projects set their own day-to-day development process.
 
*'''Becoming a Committer.''' The Standard Project Charter's [http://www.eclipse.org/projects/dev_process/Eclipse_Standard_TopLevel_Charter_v1.1.php#Committers Committers] section has some information. The Eclipse Development Process document's section on [http://www.eclipse.org/projects/dev_process/development_process.php#4_7_Committers_and_Contributors Committers and Contributors] has more.  
 
*'''Becoming a Committer.''' The Standard Project Charter's [http://www.eclipse.org/projects/dev_process/Eclipse_Standard_TopLevel_Charter_v1.1.php#Committers Committers] section has some information. The Eclipse Development Process document's section on [http://www.eclipse.org/projects/dev_process/development_process.php#4_7_Committers_and_Contributors Committers and Contributors] has more.  
*'''Portal.''' The [http://portal.eclipse.org/ portal] is designed to be your single point of contact with the Foundation and to guide you through the various Foundation processes.  
+
*'''[[Project Management Infrastructure]]''' Use the project management infrastructure to manage information about your project, including project descriptions, releases, reviews, and more.
*'''Map.''' [http://www.zeemaps.com/Eclipsecommittersworldwide Map of Committers and Contributors]. Put yourself on the map!
+
*'''Portal.''' Use the [http://portal.eclipse.org/ portal] to elect new project committers and create new CQs.
 
*'''Reaching out.''' [[Development Resources/Reaching out|Talking to other committers, requesting assistance, channels for communication.]]  
 
*'''Reaching out.''' [[Development Resources/Reaching out|Talking to other committers, requesting assistance, channels for communication.]]  
 
*'''Community Development''' [[Community Development for Eclipse Projects|Developing a community]] and Eco-system around your project is every committer's job.  
 
*'''Community Development''' [[Community Development for Eclipse Projects|Developing a community]] and Eco-system around your project is every committer's job.  
*'''APIs''' The Eclipse Project provides some great [http://www.eclipse.org/eclipse/development/ API Resources].
+
*'''APIs''' See [[Eclipse/API_Central]]. The Eclipse Project also provides some [http://www.eclipse.org/eclipse/development/ API Resources].
 
*'''[[Development Resources/Words of Wisdom and Bits of Advice|Words of Wisdom and Bits of Advice]]'''. Things that Eclipse Project leads and committers need, and should, be doing on a regular basis (daily/weekly/weekly/quarterly/etc).  
 
*'''[[Development Resources/Words of Wisdom and Bits of Advice|Words of Wisdom and Bits of Advice]]'''. Things that Eclipse Project leads and committers need, and should, be doing on a regular basis (daily/weekly/weekly/quarterly/etc).  
*'''Cartoons.''' Quick reference guides in a fun and easy format: [http://www.eclipse.org/projects/dev_process/ip-process-in-cartoons.php The IP Process in Eight Cartoons] and [http://www.eclipse.org/projects/dev_process/three-laws-of-eclipse.php The Three Laws of Eclipse].
 
 
*'''Coding Guidelines.''' [[Development Conventions and Guidelines|Coding standards, naming conventions, version numbering, etc]].  
 
*'''Coding Guidelines.''' [[Development Conventions and Guidelines|Coding standards, naming conventions, version numbering, etc]].  
 
*'''Difficult People.''' Some advice on interacting with sometimes frustrating users [[Mylyn Contributor Reference#Communication]].
 
*'''Difficult People.''' Some advice on interacting with sometimes frustrating users [[Mylyn Contributor Reference#Communication]].
 
*'''[[Friends of Eclipse/Funds Allocation|Friends of Eclipse Funding]]'''. Some money is available from the Eclipse Foundation to help your project pay for meeting space, hardware, and other expenses (sorry, we can't pay committers).
 
*'''[[Friends of Eclipse/Funds Allocation|Friends of Eclipse Funding]]'''. Some money is available from the Eclipse Foundation to help your project pay for meeting space, hardware, and other expenses (sorry, we can't pay committers).
*'''[[Development Resources/Handling Git Contributions|Handling Git Contributions]]'''. Contributions from Git outside Git repositories are subject to our IP Policy and Due Diligence Process.
+
* '''[[Development Resources/How to Use Eclipse Copyright Tool|How to Use the Eclipse Copyright Tool]].''' The Eclipse Project's [[Platform-releng-faq#How do I use the releng plugin?|Releng Tools]] plug-in provides--among other things--a handy tool that can help you get your [http://eclipse.org/legal/copyrightandlicensenotice.php copyright headers] right.
 +
*Intellectual Property Management
 +
**'''Cartoons.''' Quick reference guides in a fun and easy format: [http://www.eclipse.org/projects/dev_process/ip-process-in-cartoons.php The IP Process in Eight Cartoons] and [http://www.eclipse.org/projects/dev_process/three-laws-of-eclipse.php The Three Laws of Eclipse].
 +
**'''[[Development Resources/Handling Git Contributions|Handling Git Contributions]]'''. Contributions from Git outside Git repositories are subject to our IP Policy and Due Diligence Process.
 +
**'''[[Development Resources/Contribution Questionnaire|Contribution Questionnaire]] (CQ)'''. Managing intellectual property contributions, including discussion of when you need a CQ for a third party library.
 +
**'''[[Development Resources/IP/Test and Build Dependencies|Test and Build Dependencies]]'''. Special considerations for libraries that are not strictly distributed by the project, but rather are as build and test time.
  
 
=== Committers and The Eclipse.Org Website  ===
 
=== Committers and The Eclipse.Org Website  ===
  
*'''/projects - List of Projects.''' Your project is listed on the [http://www.eclipse.org/projects/listofprojects.php projects] page automatically based on your project's meta-data (see below).  
+
*'''/projects - List of Projects.''' Your project is listed on the [http://www.eclipse.org/projects/listofprojects.php projects] page automatically based on your project's metadata (see below).  
*'''Standard Project Summary.''' Your project has a standard format [[Development Resources/Project Summary Page | project summary page]] (e.g., [http://www.eclipse.org/projects/project_summary.php?projectid=technology.dash Project Dash]). The summary page is driven by your project's meta-data (see below).  
+
*'''Standard Project Summary.''' Your project has a standard format [[Development Resources/Project Summary Page | project summary page]] (e.g., [http://projects.eclipse.org/projects/technology.dash Project Dash]). The summary page is driven by your [[Project Management Infrastructure/Project Metadata|project's metadata]].  
*'''Standard Project Plan.''' Your project has a standard format project plan page (e.g., [http://www.eclipse.org/projects/project-plan.php?projectid=technology.dash] for Project Dash). The project plan page is driven by your project's meta-data (see below) and has an entire page of documentation [[Development Resources/Project Plan]].  
+
*'''Standard Project Plan.''' Your project has a standard format project plan page (e.g., [http://www.eclipse.org/projects/project-plan.php?projectid=technology.dash] for Project Dash). The project plan page is driven by your project's metadata (see below) and has an entire page of documentation [[Development Resources/Project Plan]].  
*'''[[Development Resources/IP Log | IP Log]].''' Your project has a standard format IP log (e.g., [http://www.eclipse.org/projects/ip_log.php?projectid=technology.dash Project Dash]). The IP log is driven by your project's meta-data (see below) and also has an entire page of documentation of its own.  
+
*'''[[Development Resources/IP Log | IP Log]].''' Your project has a standard format IP log (e.g., [http://www.eclipse.org/projects/ip_log.php?id=technology.dash Project Dash]). [[Development Resources/Automatic IP Log|The Automatic IP Log Generator]] is driven by your [[Project Management Infrastructure/Project Metadata|project's metadata]].
*'''[[Development Resources/HOWTO/Project Meta-Data|Project Meta-Data]].''' Many pieces of the eclipse.org infrastructure are driven by the project meta-data, thus it is important to keep the meta-data current and correct. Use [[Development Resources/HOWTO/Project Meta-Data|the instructions]] and [http://portal.eclipse.org the portal] to update the meta-data.  
+
*'''[[Project Management Infrastructure/Project Metadata|Project Metadata]].''' Many pieces of the eclipse.org infrastructure are driven by the project metadata, thus it is important to keep the metadata current and correct. This includes basic information about projects including description, scope, and repositories; releases; reviews; and more.
 
*'''IT Infrastructure.''' Here is a general howto on using our [[IT Infrastructure Doc|IT infrastructure]]. More information is also available on the [[Webmaster FAQ]].  
 
*'''IT Infrastructure.''' Here is a general howto on using our [[IT Infrastructure Doc|IT infrastructure]]. More information is also available on the [[Webmaster FAQ]].  
** [[IT SLA|IT Service Level Agreement]]
 
 
** [[IT Infrastructure Doc#Bugzilla | Bugzilla]]
 
** [[IT Infrastructure Doc#Bugzilla | Bugzilla]]
** [[IT Infrastructure Doc#Downloads | Downloads]]
 
 
** [[IT Infrastructure Doc#Builds | Builds]]
 
** [[IT Infrastructure Doc#Builds | Builds]]
*'''Building and Maintaining a Project Website.''' The [[Phoenix]] project has [[Phoenix Documentation|documentation]] on building sites with the Phoenix API.  
+
** [[IT Infrastructure Doc#Downloads | Downloads]]
 +
** [[IT SLA|IT Service Level Agreement]]
 +
*'''Building and Maintaining a Project Website.''' Eclipse project website development, code-named [[Phoenix]], has [[Using Phoenix|documentation]] on building sites with the Phoenix API.
 +
** Alternatively, you can opt to use the automatically-generated [[Development Resources/Data Driven Project Website|Data-Driven Project Website]].
 
*'''External Links.''' [[Links to non-eclipse.org content]]
 
*'''External Links.''' [[Links to non-eclipse.org content]]
  
Line 57: Line 109:
 
*'''[[Development Resources/Project Plan|Project Plan]]''' The project plan is how projects communicate their future intent to the rest of the Eclipse community.  
 
*'''[[Development Resources/Project Plan|Project Plan]]''' The project plan is how projects communicate their future intent to the rest of the Eclipse community.  
 
*'''[[Development Resources/Builds|Builds]]''' You have some options with regard to how you build your Eclipse project for distribution.
 
*'''[[Development Resources/Builds|Builds]]''' You have some options with regard to how you build your Eclipse project for distribution.
 +
**'''[[Hudson]]''' Some information about Hudson-based builds, including requesting a new job.
 +
* Code quality analysis
 +
**'''[[Sonar]]''' is available for Eclipse projects to track and improve the quality of their code.
 
*'''[[Development Resources/HOWTO/Review Information for Project Leads|Reviews]]''' Reviews are undertaken a key points in the life of a project. Project leads should coordinate reviews with their PMC and the EMO.
 
*'''[[Development Resources/HOWTO/Review Information for Project Leads|Reviews]]''' Reviews are undertaken a key points in the life of a project. Project leads should coordinate reviews with their PMC and the EMO.
 
** '''[[Development Resources/HOWTO/Creation Reviews|Creation Review]]'''
 
** '''[[Development Resources/HOWTO/Creation Reviews|Creation Review]]'''
** '''[[Development Resources/HOWTO/Release Reviews|Release Review]]'''
+
** '''[[Development Resources/HOWTO/Release Cycle|Release Cycle]]''' and '''[[Development Resources/HOWTO/Release Reviews|Release Review]]'''
 
** '''[[Development Resources/HOWTO/Graduation Reviews|Graduation Review]]'''
 
** '''[[Development Resources/HOWTO/Graduation Reviews|Graduation Review]]'''
 
** '''[[Development Resources/HOWTO/Restructuring Reviews|Restructuring Review]]'''
 
** '''[[Development Resources/HOWTO/Restructuring Reviews|Restructuring Review]]'''
** '''[[Development Resources/HOWTO/Termination Reviews|Termination Review]]'''
+
** '''[[Development Resources/HOWTO/Review Information for Project Leads#Termination_.28Archive.29_Reviews|Termination Review]]'''
 
*'''Manage Project Metadata, Bugzilla Components, etc.''' Project metadata feeds the [http://www.eclipse.org/projects/project_summary.php?projectid=technology project summary pages] and other Eclipse tools. In the metadata, you specify important information like release dates, project plans, and description. Use the "Eclipse Projects" section on the [http://portal.eclipse.org portal] to specify project metadata. The "tools for all committers" link provides access to Bugzilla components.  
 
*'''Manage Project Metadata, Bugzilla Components, etc.''' Project metadata feeds the [http://www.eclipse.org/projects/project_summary.php?projectid=technology project summary pages] and other Eclipse tools. In the metadata, you specify important information like release dates, project plans, and description. Use the "Eclipse Projects" section on the [http://portal.eclipse.org portal] to specify project metadata. The "tools for all committers" link provides access to Bugzilla components.  
*'''About Files and Copyright Notices.''' There's the official [http://www.eclipse.org/legal/guidetolegaldoc.php guide to legal documentation] and then there's a slightly different, but perhaps more readable, [http://www.eclipse.org/legal/guidetolegaldoc2.php guide to legal documentation from the developers point of view].  
+
*'''About Files and Copyright Notices.''' There's the official [http://www.eclipse.org/legal/guidetolegaldoc.php guide to legal documentation] and then there's a slightly different, but perhaps more readable, [http://www.eclipse.org/legal/guidetolegaldoc2.php guide to legal documentation from the developers point of view]. More directly, there's the [http://eclipse.org/legal/copyrightandlicensenotice.php Default Eclipse Foundation Copyright and License Notice] page.
 
*'''Releases.''' Of course the whole point of an Eclipse project is to release code to the community. At the same time, the Eclipse community relies on a [http://www.eclipse.org/projects/dev_process/release-review.php well-defined release review process]. It's relatively simple, but it does require planning ahead to schedule the necessary legal and community reviews.
 
*'''Releases.''' Of course the whole point of an Eclipse project is to release code to the community. At the same time, the Eclipse community relies on a [http://www.eclipse.org/projects/dev_process/release-review.php well-defined release review process]. It's relatively simple, but it does require planning ahead to schedule the necessary legal and community reviews.
 
*'''[[Development Resources/TCK Access|TCK Access]]''' Information regarding Technology Compatibility Kit (TCK) use by Eclipse Projects.
 
*'''[[Development Resources/TCK Access|TCK Access]]''' Information regarding Technology Compatibility Kit (TCK) use by Eclipse Projects.
Line 70: Line 125:
 
**'''[[Development Resources/Handling Git Contributions|Handling Git Contributions]]'''. Contributions from Git outside Git repositories are subject to our IP Policy and Due Diligence Process.  
 
**'''[[Development Resources/Handling Git Contributions|Handling Git Contributions]]'''. Contributions from Git outside Git repositories are subject to our IP Policy and Due Diligence Process.  
 
*'''[[Development Resources/Changing Leadership|Changing Leadership]]''' Electing new Project Leads and retiring the used up ones.
 
*'''[[Development Resources/Changing Leadership|Changing Leadership]]''' Electing new Project Leads and retiring the used up ones.
*'''Nominating and Electing New Committers.''' Use the [http://portal.eclipse.org portal] to nominate and elect new committers (you can review the portal workflow [https://dev.eclipse.org/portal/myfoundation/tests/swim.php?file=committer_election/committer_election.txt&lines= here]). Please follow the [[Development Resources/HOWTO/Nominating and Electing a New Committer|nomination guidelines]] so that the elections are relevant for the whole community.  
+
*'''Nominating and Electing New Committers.''' Use the [http://portal.eclipse.org portal] to nominate and elect new committers. Please follow the [[Development Resources/HOWTO/Nominating and Electing a New Committer|nomination guidelines]] so that the elections are relevant for the whole community.  
 
*'''Removing Inactive Committers.''' The [http://portal.eclipse.org/ portal] provides a simple tool for project leads to remove inactive committers (and to correct errors in the automatic inactive committer detection algorithm).  
 
*'''Removing Inactive Committers.''' The [http://portal.eclipse.org/ portal] provides a simple tool for project leads to remove inactive committers (and to correct errors in the automatic inactive committer detection algorithm).  
 
*'''Press Releases.''' The Eclipse Foundation's marketing department would like to help you put out your project-related press releases; the guidelines are simple enough [http://www.eclipse.org/org/press-release/pressguidelines.htm].  
 
*'''Press Releases.''' The Eclipse Foundation's marketing department would like to help you put out your project-related press releases; the guidelines are simple enough [http://www.eclipse.org/org/press-release/pressguidelines.htm].  
 
*'''Creating and Managing Mailing Lists and Newsgroups''' Newsgroups are used by most projects to communicate with their community. Mailing lists tend to be used for communication amongst project developers (committers and contributors). Contact [mailto:webmaster@eclipse.org Webmaster] to create and manage [http://www.eclipse.org/newsgroups/index_all.php newsgroups] and [http://www.eclipse.org/mail/index_all.php mailing lists].
 
*'''Creating and Managing Mailing Lists and Newsgroups''' Newsgroups are used by most projects to communicate with their community. Mailing lists tend to be used for communication amongst project developers (committers and contributors). Contact [mailto:webmaster@eclipse.org Webmaster] to create and manage [http://www.eclipse.org/newsgroups/index_all.php newsgroups] and [http://www.eclipse.org/mail/index_all.php mailing lists].
 +
*'''Team calls''' You can request a dedicated [[Asterisk]] conference call line for your project.
  
 
=== New Project Leads ===
 
=== New Project Leads ===
Line 84: Line 140:
 
*'''The Official Story.''' The [http://www.eclipse.org/legal/guidetolegaldoc2.php guide to legal documents] describes what legal documents to include with code and deliverable software.  
 
*'''The Official Story.''' The [http://www.eclipse.org/legal/guidetolegaldoc2.php guide to legal documents] describes what legal documents to include with code and deliverable software.  
 
*'''Committer Guidelines.''' [http://www.eclipse.org/legal/committerguidelines.php] issues to be aware of, and the processes one should follow, when working as a committer on Eclipse.org projects.  
 
*'''Committer Guidelines.''' [http://www.eclipse.org/legal/committerguidelines.php] issues to be aware of, and the processes one should follow, when working as a committer on Eclipse.org projects.  
*'''The Poster.''' The famous IP process poster [http://www.eclipse.org/legal/EclipseLegalProcessPoster.pdf].  
+
*'''[http://www.eclipse.org/org/documents/Eclipse_Policy_and_Procedure_for_3rd_Party_Dependencies_Final.pdf Third Party Dependencies].''' This document contains the guidelines for the review of third-party dependencies.
 +
*'''The IP Due Diligence/Legal Process Poster.''' The famous IP [http://www.eclipse.org/legal/EclipseLegalProcessPoster.pdf process poster].  
 
*'''The Policy.''' The official written word version of the due diligence process for contributing code [http://www.eclipse.org/org/documents/Eclipse_IP_Policy.pdf].  
 
*'''The Policy.''' The official written word version of the due diligence process for contributing code [http://www.eclipse.org/org/documents/Eclipse_IP_Policy.pdf].  
 
*'''The Cartoons.''' [http://www.eclipse.org/projects/dev_process/ip-process-in-cartoons.php The IP Process in Eight Cartoons]  
 
*'''The Cartoons.''' [http://www.eclipse.org/projects/dev_process/ip-process-in-cartoons.php The IP Process in Eight Cartoons]  
Line 108: Line 165:
 
== HOWTOs and Help ==
 
== HOWTOs and Help ==
  
*[[Development Resources/HOWTO/Bugzilla Use|bugzilla use]]  
+
*[[EPP/How to create a package|How to Create an EPP Package]]. Creating and maintaining a package for distribution from [http://www.eclipse.org/downloads the Eclipse Downloads] page.
*[[Development Resources/Automatic IP Log|IP log]]  
+
*[[Development Resources/HOWTO/Bugzilla Use|Bugzilla Use]]  
*[[Development Resources/Project Plan|project plan]]  
+
*[[Development Resources/Automatic IP Log|Using the Automatic IP Log Generator]]  
*[[Development Resources/HOWTO/Project Meta-Data|project meta-data]]  
+
*Maintaining a [[Development Resources/Project Plan|Project Plan]]  
*[[Development Resources/HOWTO/Left Menu|"about this project" left menu]]  
+
*Maintaining [[Development Resources/HOWTO/Project Meta-Data|Project Metadata]]  
*[[Development Resources/HOWTO/Conforming Incubation Branding|incubation branding]]
+
*[[Development Resources/HOWTO/Left Menu|"About this project"]] on the Project website
 +
*[[Development Resources/HOWTO/Conforming Incubation Branding|Incubation Branding]] and the [[Development Resources/HOWTO/Parallel IP Process|Parallel IP Process]]
  
 
= Information and Miscellany =
 
= Information and Miscellany =
  
*[http://www.eclipse.org/projects/lists.php Lists of committers]
+
*[[http://www.eclipse.org/projects/lists.php Lists of committers]]
 +
 
 +
 
 +
= Website =
 +
 
 +
This section details website specific information, both for the Eclipse.org and project specific pages.
 +
 
 +
* [[Development Resources/web_site_refresh | Web Site Refresh]]
 +
 
 +
 
 +
= Marketplace =
 +
 
 +
* [https://marketplace.eclipse.org/quickstart Quick Start]
 +
 
 +
= EMO Processes =
 +
 
 +
*'''[[Development Resources/Processes | Processes]]'''
 +
 
  
 
''This page is moderated by the EMO''  
 
''This page is moderated by the EMO''  
  
 
[[Category:Development_Resources]] [[Category:How_to_Contribute]] [[Category:Architecture_Council]]
 
[[Category:Development_Resources]] [[Category:How_to_Contribute]] [[Category:Architecture_Council]]

Revision as of 10:28, 1 May 2015


Users: Contributing To A Project

  • Quick Start -- Contributing Project Code Interested in contributing code. Awesome! This is how to get started.
  • How To Behave Practical advice on how to ask questions, report bugs, and be generally successful in your interactions with an Open Source Project.
  • Reporting Bugs. All Eclipse projects use Bugzilla to track bugs and features. Please read the Bug Reporting FAQ and then sign up for a bugzilla account to join in the fun.
  • Getting Answers. Mailing lists are for development team conversations; newsgroups and IRC are for the larger user and adopter community and thus are the correct place to ask for help.
  • Downloads. Get binaries from the main downloads page. Click through to the project pages for integration, milestone, and nightly builds.
  • Source Code. Get the source code from either SVN, or Git (each project makes their own choice).
  • Contribute! The best way to contribute to a project is to contribute (sorry for the recursion). Pick a bug from a project that interests you, build a fix, and contribute it to the bug as a patch. If you're not sure how to start, ask questions on the bug, or communicate with the project via their communication channel (normally a forum).
  • IP Due Diligence for Contributions. Certain processes must be followed. Dotting the i's and crossing the t's. It all starts with the Eclipse IP Due Diligence Poster, but there's a little something more (or less) for projects that use Git or Gerrit.
    • Note that the second page of the poster provides a list of approved third-party licenses.
  • Large Contributions. Small contributions to Eclipse projects should be made through Bugzilla, but larger contributions require a separate process. Or, if the contribution is larger still, you could start a new project.
  • Contributing via Git. Contributing to an Eclipse project using Git or Gerrit.
    See also Handling Git Contributions from a committer's perspective.

Projects: Getting Started

  • Starting a New Project Words of advice, what to expect, that sort of thing, ...
    • Should you create a Subproject or Component?
    • Naming a Project. Help with choosing an appropriate name for your project.
    • Initial Contribution All Eclipse projects start with an initial contribution of code. Some contributions are big, other are small. Whatever the case, the IP Team needs to review your first drop of code before anything gets added to the repository.
  • List of Projects All projects at Eclipse, including valuable links.
  • The First 90 Days What to expect, and what you need to do during the first 90 days with your brand spanking new Eclipse Project.
  • Social Coding Git, Gerrit, CLAs, and hosting your Eclipse Foundation project with another hosting service (e.g. GitHub)
  • Contribution Guide Consider including a contribution guide in the root of you Git repositories (see bug 397644).

Projects: Ongoing

Policies and Guidelines

Here's a list of various policies and guidelines for Eclipse projects.

Committers: Being A Committer

Warning2.png
The Project Management elements of the Developer Portal are being moved to the new Project Management Infrastructure. All project metadata can now be edited directly on project summary/information pages. Committer elections and creation of new CQs for the IP due diligence process must still be done using the Developer Portal. We are in the process of updating documentation.

Committers and The Eclipse.Org Website

New Committers

  • Legal Paperwork. Becoming a new committer involves some legal paperwork. Here's what and why [2]
  • Development Process. For the overall smooth flow of the Eclipse eco-system, committers agree to follow a few process rules. Here's what they are [3]. There's also a more humorous summary version [4].
  • Parallel IP Process. Many new committers join with a block of code that they'd like to include right away. The Parallel IP process is designed to speed that inclusion. Here's the what, why, and how of that process [5].

Leads: Managing A Project

  • Eclipse Development Process (EDP) Official description of the meta-process for Eclipse projects.
  • IP log Your project must maintain an IP Log. This document keeps track of third-party libraries used and distributed by the project, contributions, and more. It is especially important for adopters who need to know where the intellectual property of your project comes from. You are required to provide an IP Log prior to a release review. We encourage you to keep your IP log current rather than rushing at the end. The automatic IP log extracts most information from bugzilla and IPzilla, but it requires you to use the 'iplog+' flag.
  • Project Plan The project plan is how projects communicate their future intent to the rest of the Eclipse community.
  • Builds You have some options with regard to how you build your Eclipse project for distribution.
    • Hudson Some information about Hudson-based builds, including requesting a new job.
  • Code quality analysis
    • Sonar is available for Eclipse projects to track and improve the quality of their code.
  • Reviews Reviews are undertaken a key points in the life of a project. Project leads should coordinate reviews with their PMC and the EMO.
  • Manage Project Metadata, Bugzilla Components, etc. Project metadata feeds the project summary pages and other Eclipse tools. In the metadata, you specify important information like release dates, project plans, and description. Use the "Eclipse Projects" section on the portal to specify project metadata. The "tools for all committers" link provides access to Bugzilla components.
  • About Files and Copyright Notices. There's the official guide to legal documentation and then there's a slightly different, but perhaps more readable, guide to legal documentation from the developers point of view. More directly, there's the Default Eclipse Foundation Copyright and License Notice page.
  • Releases. Of course the whole point of an Eclipse project is to release code to the community. At the same time, the Eclipse community relies on a well-defined release review process. It's relatively simple, but it does require planning ahead to schedule the necessary legal and community reviews.
  • TCK Access Information regarding Technology Compatibility Kit (TCK) use by Eclipse Projects.
  • Migrating to Git Want to move your project off of CVS/SVN and over to Git?
    • Handling Git Contributions. Contributions from Git outside Git repositories are subject to our IP Policy and Due Diligence Process.
  • Changing Leadership Electing new Project Leads and retiring the used up ones.
  • Nominating and Electing New Committers. Use the portal to nominate and elect new committers. Please follow the nomination guidelines so that the elections are relevant for the whole community.
  • Removing Inactive Committers. The portal provides a simple tool for project leads to remove inactive committers (and to correct errors in the automatic inactive committer detection algorithm).
  • Press Releases. The Eclipse Foundation's marketing department would like to help you put out your project-related press releases; the guidelines are simple enough [6].
  • Creating and Managing Mailing Lists and Newsgroups Newsgroups are used by most projects to communicate with their community. Mailing lists tend to be used for communication amongst project developers (committers and contributors). Contact Webmaster to create and manage newsgroups and mailing lists.
  • Team calls You can request a dedicated Asterisk conference call line for your project.

New Project Leads

Everyone: IP Cleanliness

Maintaining intellectual property (IP) cleanliness is a critical part of being an Eclipse project, committer, and community member.

  • The Official Story. The guide to legal documents describes what legal documents to include with code and deliverable software.
  • Committer Guidelines. [7] issues to be aware of, and the processes one should follow, when working as a committer on Eclipse.org projects.
  • Third Party Dependencies. This document contains the guidelines for the review of third-party dependencies.
  • The IP Due Diligence/Legal Process Poster. The famous IP process poster.
  • The Policy. The official written word version of the due diligence process for contributing code [8].
  • The Cartoons. The IP Process in Eight Cartoons
  • The Legal Department. Licenses, IP policies, agreements, etc. [9]
  • Logos & Trademarks. Documents about the Eclipse logos and trademarks [10] [11]. The Eclipse Foundation owns the trademarks on all the Eclipse Project names. The Foundation holds these trademarks on behalf of, and for the benefit of, the projects.
  • More IP Stuff. See IP Stuff

FAQs and Guidelines

HOWTOs and Help

Information and Miscellany


Website

This section details website specific information, both for the Eclipse.org and project specific pages.


Marketplace

EMO Processes


This page is moderated by the EMO

Back to the top