Make and Lead a New Add-on

This page provides information about how to submit a new add-on and lead its development.

How to Make a New OpenNebula Add-on

1. Check the Existing List of Add-ons

Before starting the development of a new Add-on, consult the list of Add-ons above or at the OpenNebula github. You could instead focus your time in co-leading or contributing to an existing Add-on.

2. Requirements for New Add-ons

The basic requirements are:

Moreover we applaud the following design and development principles in the components:

3. Share your Plans with the Community

If you want to start a new Add-on, you should bring it up for discussion on the developers mailing list. Other developers may have suggestions, and this ensures that the new Add-on is aligned with the roadmap and other features being developed. It is important you're not doing redundant work. You can also ask in the developers mailing list if there are other people also planning to start the same Add-on.

4. Identify a Add-on Leader

Add-ons leaders are responsible for coordinating the development of the add-ons and committing contributions from other developers.

5. Group Infrastructure Set-up

A new repository Addon-Name will be created at the OpenNebula project github. Leaders will be granted with commit access to the new repository. This new repository will have an Apache LICENSE file and a README file with the following sections:

You can have a look to one of the existing README files.

Regarding Development, you can use GitHub issue tracking system and wiki to manage the project.

6. Make the Add-on Public

Once the leadership is identified and the Add-on infrastructure is ready, we will add the new Add-on to the Add-on page.

7. Announce the New Add-on

To help you attract new developers and users, we will help you announce the creation of the new Add-on in our mailing list, social instruments, and blog. You can also use the OpenNebula logo in the promotion of the Add-on.

8. Licensing

OpenNebula requires contributions to be released under the Apache 2.0 license, and have licensing information in the header when uploaded to the github repository. This submission method makes all contributions immediately available to all community members under the Apache 2.0 license.

How to Run an OpenNebula Add-on

1. Support the Add-on

Add-ons are supported through the user support mailing list.

2. Maintain the Add-on

Add-ons are maintained by their leaders. Typically they are also the main developers of the Add-on. Only leaders have commit access (Push & Pull) to the Add-on repository. Contributions from other developers are submitted by pull request on GitHub.

3. Build Community

Attract users and developers.

4. Keep Compatibility

Add-ons do not necessarily have to follow the OpenNebula release cycle, but it is very important to test their compatibility with upcoming versions of OpenNebula. Once a new OpenNebula Beta version of OpenNebula is announced, leaders will have 10 days to test compatibility and release a new version of the Add-on.

5. Promote your Work

You can use the user support mailing list and the OpenNebula blog to announce new versions and enhancements, and the developers mailing list to discuss development.

Are the Add-ons Part of the OpenNebula Distribution?

Add-ons do not necessarily have to end as part of the OpenNebula distribution. New add-ons should go through an incubation phase and the quality assurance processes of the project before they can be part of the OpenNebula distribution. Prior to escalation to the OpenNebula distribution, the Add-ont needs to show that: