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 "Nebula/Contributions"

(Reference the bug in the pull request)
(36 intermediate revisions by 2 users not shown)
Line 1: Line 1:
xxxx
+
Hi,
 +
 
 +
Welcome to the Eclipse Nebula project. We love new contributions. We provide the Eclipse community with a large set of rich UI compoments. So thank you for considering your contribution.
  
 
__TOC__
 
__TOC__
  
= Patches =
+
=Contact=
We use Gerrit to accept all your patches.  
+
* [https://dev.eclipse.org/mailman/listinfo/nebula-dev Mailing list]
 +
* [https://www.eclipse.org/forums/index.php/f/64/ Newsgroup/Forum]
  
== Patches with a signed CLA==
+
=New Users=
To provide patches to Nebula, create an Eclipse account, get your Gerrit password and push your changes to the Gerrit git repo.
+
* [[Nebula/Contributions/Setup IDE|Setup Your IDE]]
  
* [https://dev.eclipse.org/site_login/createaccount.php Create an Eclipse Account] (or use your existing one)
+
= Pull Requests =
* [http://wiki.eclipse.org/Development_Resources/Contributing_via_Git#Eclipse_Foundation_Contributor_License_Agreement Sign the CLA]
+
We use [https://help.github.com/articles/about-pull-requests/ GitHub Pull Requests] to accept all your patches on the [https://github.com/eclipse/nebula Nebula GitHub repository].  
* [https://git.eclipse.org/r/#/settings/http-password Get your Gerrit password]
+
* Clone the following repo [https://youname@git.eclipse.org/r/nebula/org.eclipse.nebula.git https://'''''yourname'''''@git.eclipse.org/r/nebula/org.eclipse.nebula.git]
+
* [http://wiki.eclipse.org/Gerrit All you need to know about Gerrit, and more.]
+
  
Please [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Nebula always use file a bug] and use the following commit message:
+
See GitHub's extensive documentation on working with Pull Requests. Start with the [https://help.github.com/articles/github-flow/ GitHub flow overview] and then continue with the rest of the [https://help.github.com/categories/collaborating-with-issues-and-pull-requests/ documentation].
  
Bug ''bugnumber''  ''bug description''
+
== File a bug==
<empty line>
+
For administration purposes [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Nebula we require a Bugzilla bug] for every pull request.
Exact changes you made
+
+
Signed-off-by: Wim Jongman <wim.jongman@remainsoftware.com>
+
  
To update an Existing commit, use the change Id that Gerrit has created for your original commit:
+
== Reference the bug in the pull request ==
 +
[https://bugs.eclipse.org/bugs/show_bug.cgi?id=462471 Reference the Bugzilla Bug in the Pull Request] (e.g.: "Bug: 123456" or "[123456]")
  
Bug ''bugnumber''  ''bug description''
+
== Patches with a signed ECA ==
<empty line>
+
To provide patches to Nebula, sign the [https://www.eclipse.org/legal/ECA.php ECA] (click on the ECA Form link in the bold paragraph, [https://accounts.eclipse.org/user/register creating a new account] if you do not have one already), fork [https://github.com/eclipse/nebula Nebula] on GitHub and submit a Pull Request.
Exact changes you made
+
+
Change-Id: yaddieyaddieyaddieyaddieyaddieyaddieyaddieyaddie
+
Signed-off-by: Wim Jongman <wim.jongman@remainsoftware.com>
+
  
== Patches without a signed CLA ==
+
* [[Nebula/Contributions/Setup IDE|Setup Your IDE]]
We cannot accept patches, in any form, without a signed CLA.
+
* [https://wiki.eclipse.org/GitHub All you need to know about GutHub use at Eclipse, and more.]
  
= New Widgets =
+
Please [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Nebula always use a valid bugnumber] and use the following commit message:
Before you decide to contribute your code to Eclipse, keep in mind that your code must follow the EPL, Eclipse's Public License. This means that committers and contributors need to follow some rules.
+
  
A good overview of what this entails and how this affects you [http://www.eclipse.org/legal/#Committers can be read here.]
+
Bug: ''bugnumber'' ''bug description''  
 
+
<empty line>
There are two ways of contributing your code.
+
  Good description of the changes you made.
 
+
# One or more new widgets in the Nebula Incubation project.
+
# A new project inside Nebula
+
 
+
If you choose the first option, read on. If you choose the second option, please contact the Nebula lead through the [https://dev.eclipse.org/mailman/listinfo/nebula-dev mailing list] and make your intentions clear. [[Development Resources/HOWTO/Starting A New Project|Then continue to read on this page.]]
+
 
+
== Introduce Yourself and your Widget(s) ==
+
If we don't know you, please take the time to introduce yourself to the Nebula mailing list. Be elaborate. Things that you talk about could be your contributions, the bugs that you have filed, the patches that you committed, your experience in UI development, etcetera. We need to know that you are a the kind of person that we want to have on board. If you are not comfortable with this, it could also be enough to point to the code that you want to contribute and tell us how this could be useful to the greater Nebula community.
+
 
+
You can subscribe to the mailing list by writing a mail to the mailing list administrator. How this is done is all explained [https://dev.eclipse.org/mailman/listinfo/nebula-dev on this page]. Tell us what your plans are and what your UI component does. Then wait for the discussion. If nothing happens immediately: be patient and persistent. We '''''love''''' new contributions.
+
 
+
== Code Quality and Citizenship ==
+
Once part of the Nebula project, your code is visible to thousands of developers. Make sure that you provide quality code. Also make sure that your widget is stable even if your API is not. The work that you provide represents the complete Nebula community. Ask on the list if you are not sure. Take a look at [http://www.eclipse.org/nebula/author_tips.php the widget author tips]. The user interface is a very important part of any application.
+
 
+
Once you are in the project, take care of your bug reports and make sure that they are followed up. We require that you do not only take care of your own component but also look after the greater Nebula together with the other active committers.
+
 
+
== Widget Vote ==
+
As soon as the contribution becomes serious, the lead will start a vote for the new contribution. This is an internal procedure for the Nebula project. The vote period is one week. For the vote to pass, we require no (0) -1's. Everybody can express their opinion but only committer votes count. The vote will be done through the [https://dev.eclipse.org/mailman/listinfo/nebula-dev nebula-dev mailing list.]
+
 
+
== File a bug to request your contribution ==
+
You will be instructed the project lead to file a bug against Nebula core in bugzilla. Before you can do that, you need to get an Eclipse account.
+
 
+
* [https://dev.eclipse.org/site_login/createaccount.php Create an Eclipse Account] (or use your existing one)
+
* [http://wiki.eclipse.org/Development_Resources/Contributing_via_Git#Eclipse_Foundation_Contributor_License_Agreement Sign the CLA]
+
 
+
Once the account has been created and the CLA is signed, you need to file a bug against Nebula Core.
+
 
+
Here are some example bugs of previous contributions:
+
 
+
* https://bugs.eclipse.org/bugs/show_bug.cgi?id=328836
+
* https://bugs.eclipse.org/bugs/show_bug.cgi?id=365948
+
 
+
You need to include the source code and additional resources like images and stuff like that (one or more plug-in projects) as an attachement. Only the code that you own and have the copyright. Each source member needs to have the standard EPL header like you see in every Eclipse source. Do not include any third party code. Do not include any zip files in the projects. Just your sources and other resources. You can include some additional information like links to the working product or links to screenshots.
+
 
+
Ready? [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Nebula&component=Core File a bug against Nebula/Core].
+
 
+
== Provide Legal Information ==
+
If your code is to be distributed from Eclipse, we need to you comply to some legal rules. One of the rules is the inclusion of copyright notices in source code and legal documents in features and plug-ins.
+
 
+
Information about this is described in [http://www.eclipse.org/legal/guidetolegaldoc.php A Guide to the Legal Documentation for Eclipse-Based Content] which [http://www.eclipse.org/legal/#Committers is linked from here.]
+
 
+
== We will assess your contribution ==
+
We will take a look at your code to assess the quality. If we have problems with it we will let you know on the bug. We will also do a preliminary check on any [[IP_Stuff|IP (Intelectual Property) issues]]. After this is done, the project lead will file a new bug in a separate Bugzilla system known as IPZilla. This bug is called a [[Development Resources/Contribution Questionnaire|CQ (Contribution Questionnaire)]].
+
 
+
Here an automatic scanning of the source will take place. It will be examined on foul words, religious statements, terroristic information and all that. You will also need to declare that you have the rights to the code.
+
 
+
One of the [http://www.eclipse.org/eclipse/eclipse-charter.php Eclipse PMC members will do some magic and authorize] the CQ. After this has been done, we have to wait on the Eclipse legal team to do a triage on the code and give their final OK.
+
 
+
== Committer vote ==
+
The Eclipse committer vote is normally based on meritocracy. This means that you are invited by the community to participate based on what you have done. In case of a new widget contribution, the Nebula project lead deviates from this rule but proposing you as committer as soon as the code is accepted by Eclipse legal.
+
 
+
The voting process is a formality but you cannot have any votes against you (-1). Once you are voted in (three or more +1), you will be provided with an Eclipse committer ID by the [[Webmaster_FAQ|Eclipse Webmasters]].
+
 
+
The rationale for this process is based on the fact that there is no common code base in Nebula. All widgets are self sustained and isolated pieces of code, mostly maintained by their original contributor.
+
 
   
 
   
Only one committer is initially voted in. If your team consists of more than one committer then the other committers can earn their way in by providing contributions and showing their support to the Nebula project.
+
Signed-off-by: Wim Jongman <wim.jongman@remainsoftware.com>
  
If you want to come on board immediately with more than one new committer, this can only be done by [[Development Resources/HOWTO/Starting A New Project|filing a new project]].
+
To update an Existing commit, add the new commits to the existing pull request. If you submit a Pull Request and have forgotten to add the "Signed-off-by" field, you will have to force push an updated commit.
  
== Create a Contribution to the Example View ==
+
== Patches without a signed ECA ==
Nebula contains an overall Example View that provides an extension point. With this extension point you can contribute a Tab to the view that shows all the details of your widget.  
+
We cannot accept patches, in any form, without a signed [https://www.eclipse.org/legal/ECA.php ECA].
  
All Nebula Widgets are required to contribute to this extension point in a separate bundle.
+
= Building =
 +
You can find the Jenkins jobs here which build the pull requests.
  
== Organize your Code ==
+
* https://ci.eclipse.org/nebula/job/nebula.stable.github/
You will get your own personal slot in the Nebula git repository.your [http://git.eclipse.org/c/nebula/org.eclipse.nebula.git/tree/widgets component will be included into this folder]. A [https://github.com/eclipse/nebula/tree/master/widgets GitHub mirror] exists, but it cannot be used for pushing. It is also possible to become a sub project of the greater Nebula. You will then operate semi-independent from Nebula and take care of your own builds and repository.  
+
* https://ci.eclipse.org/nebula/job/nebula.incubation.github/
  
If you are not your own sub project then you will first start in the Nebula incubation area. You will need to provide several components to become part of the Nebula code.
 
  
Lets take a look at the structure of the Oscilloscope widget.
+
All member of the [https://github.com/orgs/eclipse/people GitHub Eclipse organisation] should have their PRs built automatically as the whole organisation is on the whitelist. All other PRs need to be approved before they are built for the first time. To approve a PR you have to be an admin and say:
  
* org.eclipse.nebula.widgets.'''oscilloscope'''
+
* "ok to test" to accept this pull request for testing
*:This is the main code of this widget. It is included in one project but your UI component can span more than one project. Please follow the namespace and discuss on the mailing list what the best name of the component can be.
+
* "test this please" for a one time test run
* org.eclipse.nebula.widgets.'''oscilloscope.example'''
+
* "add to whitelist" to add the author to the whitelist
*: This is the contribution to the Example view. Every component is required to contribute to the example view. Here you can showcase your widget. Make it as fancy as possible.
+
* org.eclipse.nebula.widgets.'''oscilloscope.feature'''
+
*: The feature project that will contain only your UI component. Please take a look at the contents of other features for inspiration. Make sure to provide the correct naming and descriptions in the feature and follow the same pattern as the other features.
+
* org.eclipse.nebula.widgets.'''oscilloscope.snippets'''
+
*: This contains the snippets for your code. Snippets contain short code examples on how to use your widget. This is mandatory. See other snippet projects for some inspiration.
+
* org.eclipse.nebula.widgets.'''oscilloscope.tests'''
+
*: This contains the unit tests for your component. Obviously this is also mandatory. Please provide a code coverage of at least 80%.
+
  
== Checkin your code ==
 
With your committer account you can check-in your code into git. If you are not a committer yet, this will be done for you by one of the current committers. You will need the ssh link [http://git.eclipse.org/c/nebula/org.eclipse.nebula.git as provided on this page].  Once your code is checked in, we have to add your widget to the build. If you are comfortable with it and able to do it (committer status), see the releng section of the repository for information and add your component, otherwise drop a line on the list and we are happy to help you with it.
 
  
* [[Git|All you need to know about git]]
+
If the build fails for other various reasons you can rebuild.
* [http://git.eclipse.org/c/nebula/org.eclipse.nebula.git All eclipse git repositories (get your ssh link here)]
+
  
== Provide Build information ==
 
  
=== Build and CI overview ===
+
* "retest this please" to start a new build
We use tycho to build the Nebula after every commit. Please take a look at the pom.xml files in the other widgets and apply a copy and paste to your projects. Once you think your product is ready for the main stage, give the list a signal. We will then include your widget in the incubation build. It needs to stay there until it is API stable. If you break the build you break everything. So be careful with what you commit, take a keen eye on the build and fix any build errors as soon as possible.
+
  
Here are the links to our current build jobs:
+
See full documentation for the [https://wiki.jenkins.io/display/JENKINS/GitHub+pull+request+builder+plugin GitHub Pull Request plug-in for Jenkins].
  
* https://hudson.eclipse.org/hudson/job/nebula.nebula/
+
== Building locally ==
* https://hudson.eclipse.org/hudson/job/nebula.incubation/
+
To build locally [[Nebula/Builds|refer to the builds page]]
  
Once you are a committer you have access to the build configuration.
+
= New Committers=
 +
Before you decide to contribute your code to Eclipse, keep in mind that your code must follow the EPL, Eclipse's Public License.  This means that committers and contributors need to follow some rules.
  
=== Add your component to the build ===
+
A good overview of what this entails and how this affects you [http://www.eclipse.org/legal/#Committers can be read here.]
  
==== Add poms to your folders ====
+
There are a number of ways you can contribute.  
You will need to add pom.xml in your plugins and features. The best way to achieve that is to copy pom.xml from existing widget (beware, features, tests and bundles have different poms!). For a component '''myComponent''', all poms will look like this:
+
  
<source lang="xml">
+
# A new project inside Nebula
<?xml version="1.0" encoding="UTF-8"?>
+
# New widgets in the Nebula Release project (production ready).
<project
+
# New widgets in the Nebula Incubation project.
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
+
# Maintain existing widgets
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
<modelVersion>4.0.0</modelVersion>
+
+
<parent>
+
<artifactId>nebula-parent</artifactId>
+
<groupId>org.eclipse.nebula</groupId>
+
<version>1.0.0-SNAPSHOT</version>
+
<relativePath>../../../releng/org.eclipse.nebula.nebula-parent</relativePath>
+
</parent>
+
+
<groupId>org.eclipse.nebula</groupId>
+
<artifactId>org.eclipse.nebula.widgets.myComponent.bundleName</artifactId>
+
<version>0.1.0-SNAPSHOT</version>
+
<packaging>One of (eclipse-test-plugin | eclipse-plugin | eclipse-feature)</packaging>
+
</project>
+
</source>
+
  
The only things to change are ''artifactId'' which must be your bundle name as defined in MANIFEST.MF, and ''packaging'' (for .examples, use ''eclipse-plugin'').
+
If you choose the first option please contact the Nebula lead through the [https://dev.eclipse.org/mailman/listinfo/nebula-dev mailing list] and make your intentions clear. [[Development Resources/HOWTO/Starting A New Project|Then continue to read on this page.]]
  
==== Contribute to aggregation features and update-sites ====
+
==New Widgets==
 +
The new widget process is described here:
  
Nebula contains aggregation features aimed to ease consumption of Nebula widgets. For all the next step, use dedicated editors in Eclipse (to avoid making mistakes), and always keep '''.qualifier''' suffix for versions. Add (assuming your new contribution gets into incubation):
+
<big>[[Nebula/Contributions/New Widgets|Nebula/Contributions/New Widgets]]</big>
* your ''.example'' bundle to the ''releng/org.eclipse.nebula.incubation.examples.feature/feature.xml''.
+
* your ''.feature'' feature to the included features of ''releng/org.eclipse.nebula.incubation.feature/feature.xml''.
+
* your ''.feature'' feature to the ''releng/org.eclipse.nebula.updatesite.incubation/category.xml'' in category ''Nebula Individual Incubation Widgets''
+
  
==== Contribute to master pom ====
+
== Introduce Yourself ==
 +
If we don't know you, please take the time to introduce yourself to the Nebula mailing list. Be elaborate. Things that you talk about could be your contributions, the bugs that you have filed, the patches that you committed, your experience in UI development, etcetera. We need to know that you are a the kind of person that we want to have on board. If you are not comfortable with this, it could also be enough to point to the code that you want to contribute and tell us how this could be useful to the greater Nebula community.
  
Tell maven that you want your stuff to be built by adding to ''releng/org.eclipse.nebula.nebula-incubation/pom.xml'' <code><modules>...</modules></code> the relative path to your artifacts
+
You can subscribe to the mailing list [https://dev.eclipse.org/mailman/listinfo/nebula-dev on this page], you need an Eclipse account first, [https://accounts.eclipse.org/user/register create one here]. Tell us what your plans are and what your UI component does. Then wait for the discussion. If nothing happens immediately: be patient and persistent. We '''''love''''' new contributions.
<source lang="xml">
+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
<modelVersion>4.0.0</modelVersion>
+
<groupId>org.eclipse.nebula</groupId>
+
<artifactId>nebula-incubation</artifactId>
+
<version>1.0.0-SNAPSHOT</version>
+
<packaging>pom</packaging>
+
<name>Nebula incubation parent</name>
+
<description>Parent pom for all incubation widgets in Nebula</description>
+
+
<properties>
+
<tycho-version>0.13.0</tycho-version>
+
<mockito-version>1.8.4</mockito-version>
+
<junit-version>4.8.1</junit-version>
+
<signer-input-directory>/home/data/httpd/download-staging.priv/technology/nebula</signer-input-directory>
+
<download-publish-path>/home/data/httpd/download.eclipse.org/technology/nebula/incubation/snapshot</download-publish-path>
+
</properties>
+
  
<parent>
+
== Code Quality and Citizenship ==
<groupId>org.eclipse.nebula</groupId>
+
Once part of the Nebula project, your code is visible to thousands of developers. Make sure that you provide quality code. Also make sure that your widget is stable even if your API is not. The work that you provide represents the complete Nebula community. Ask on the list if you are not sure. Take a look at [http://www.eclipse.org/nebula/author_tips.php the widget author tips]. The user interface is a very important part of any application.  
<version>1.0.0-SNAPSHOT</version>
+
<artifactId>nebula-parent</artifactId>
+
<relativePath>../org.eclipse.nebula.nebula-parent</relativePath>
+
</parent>
+
  
<modules>
+
Once you are in the project, take care of your bug reports and make sure that they are followed up. We require that you do not only take care of your own component but also look after the greater Nebula together with the other active committers.
<!-- Dependencies -->
+
<module>../org.eclipse.nebula.nebula-parent</module>
+
<module>../../examples/org.eclipse.nebula.examples</module>
+
<module>../../examples/org.eclipse.nebula.examples.feature</module>
+
<module>../org.eclipse.nebula.examples.incubation.feature</module>
+
+
<!-- blah-blah .... -->
+
 
+
<!--myComponent -->
+
<module>../../widgets/myComponent/org.eclipse.nebula.widgets.myComponent</module>
+
<module>../../widgets/myComponent/org.eclipse.nebula.widgets.myComponent.example</module>
+
<module>../../widgets/myComponent/org.eclipse.nebula.widgets.myComponent.snippets</module>
+
<module>../../widgets/myComponent/org.eclipse.nebula.widgets.myComponent.tests</module>
+
<module>../../widgets/myComponent/org.eclipse.nebula.widgets.myComponent.feature</module>
+
+
<!-- blah-blah .... -->
+
 
+
<!-- Dist -->
+
<module>../org.eclipse.nebula.updatesite.incubation</module>
+
<module>../org.eclipse.nebula.incubation.feature</module>
+
+
</modules>
+
 
+
</project>
+
</source>
+
 
+
==== Test it locally before committing ====
+
 
+
From ''releng/org.eclipse.nebula.nebula-incubation'', run a '''mvn clean install'''. Sit down and enjoy. If it looks fine you can push.
+
 
+
== Add Component to the Website ==
+
Once you are a committer, you are able to checkout the website. If you checkin, the new code is published within 5 minutes. How to check out the Nebula website and make changes [[IT_Infrastructure_Doc|is explained here]]. If you have questions please ask them on the list.
+
  
 
== Add Documentation to the Wiki ==
 
== Add Documentation to the Wiki ==

Revision as of 05:21, 26 August 2019

Hi,

Welcome to the Eclipse Nebula project. We love new contributions. We provide the Eclipse community with a large set of rich UI compoments. So thank you for considering your contribution.

Contact

New Users

Pull Requests

We use GitHub Pull Requests to accept all your patches on the Nebula GitHub repository.

See GitHub's extensive documentation on working with Pull Requests. Start with the GitHub flow overview and then continue with the rest of the documentation.

File a bug

For administration purposes we require a Bugzilla bug for every pull request.

Reference the bug in the pull request

Reference the Bugzilla Bug in the Pull Request (e.g.: "Bug: 123456" or "[123456]")

Patches with a signed ECA

To provide patches to Nebula, sign the ECA (click on the ECA Form link in the bold paragraph, creating a new account if you do not have one already), fork Nebula on GitHub and submit a Pull Request.

Please always use a valid bugnumber and use the following commit message:

Bug: bugnumber  bug description 
<empty line>
Good description of the changes you made.

Signed-off-by: Wim Jongman <wim.jongman@remainsoftware.com>

To update an Existing commit, add the new commits to the existing pull request. If you submit a Pull Request and have forgotten to add the "Signed-off-by" field, you will have to force push an updated commit.

Patches without a signed ECA

We cannot accept patches, in any form, without a signed ECA.

Building

You can find the Jenkins jobs here which build the pull requests.


All member of the GitHub Eclipse organisation should have their PRs built automatically as the whole organisation is on the whitelist. All other PRs need to be approved before they are built for the first time. To approve a PR you have to be an admin and say:

  • "ok to test" to accept this pull request for testing
  • "test this please" for a one time test run
  • "add to whitelist" to add the author to the whitelist


If the build fails for other various reasons you can rebuild.


  • "retest this please" to start a new build

See full documentation for the GitHub Pull Request plug-in for Jenkins.

Building locally

To build locally refer to the builds page

New Committers

Before you decide to contribute your code to Eclipse, keep in mind that your code must follow the EPL, Eclipse's Public License. This means that committers and contributors need to follow some rules.

A good overview of what this entails and how this affects you can be read here.

There are a number of ways you can contribute.

  1. A new project inside Nebula
  2. New widgets in the Nebula Release project (production ready).
  3. New widgets in the Nebula Incubation project.
  4. Maintain existing widgets

If you choose the first option please contact the Nebula lead through the mailing list and make your intentions clear. Then continue to read on this page.

New Widgets

The new widget process is described here:

Nebula/Contributions/New Widgets

Introduce Yourself

If we don't know you, please take the time to introduce yourself to the Nebula mailing list. Be elaborate. Things that you talk about could be your contributions, the bugs that you have filed, the patches that you committed, your experience in UI development, etcetera. We need to know that you are a the kind of person that we want to have on board. If you are not comfortable with this, it could also be enough to point to the code that you want to contribute and tell us how this could be useful to the greater Nebula community.

You can subscribe to the mailing list on this page, you need an Eclipse account first, create one here. Tell us what your plans are and what your UI component does. Then wait for the discussion. If nothing happens immediately: be patient and persistent. We love new contributions.

Code Quality and Citizenship

Once part of the Nebula project, your code is visible to thousands of developers. Make sure that you provide quality code. Also make sure that your widget is stable even if your API is not. The work that you provide represents the complete Nebula community. Ask on the list if you are not sure. Take a look at the widget author tips. The user interface is a very important part of any application.

Once you are in the project, take care of your bug reports and make sure that they are followed up. We require that you do not only take care of your own component but also look after the greater Nebula together with the other active committers.

Add Documentation to the Wiki

Your component needs to be documented on the main Nebula wiki page.

Watch nebula-inbox

It is required that all committers watch this email address in bugzilla to stay up to date with what is going on in our community. Please login to bugzilla and then change your users-watching settings here:

https://bugs.eclipse.org/bugs/userprefs.cgi?tab=email

Become a committer

If you do not provide a new widget contribution but still want to become a Nebula committer then the following applies:

Based on your role in the Eclipse community you can become a full committer in the Nebula project. For this you have to show commitment to the project by maintaining your code and play an active role in the Nebula community as a whole. Once this is established, you are invited by one of current committers of the Nebula project to become a committer. If you feel that you are ready for full committer status but you are not yet invited, you can solicit for the position yourself either through the list or by personal mail to the project lead.

The voting process is a formality but you cannot have any votes against you (-1). Once you are voted in (three or more +1), you will be provided with an Eclipse committer ID by the Eclipse Webmasters.

Back to the top