Approval Process for Adding A Plugin and or Feature To An Existing Component

Version 1

    Adding a plugin or feature to an existing component requires some level of consensus on why the plugin is needed. In general, the component lead will be given plenty of space to manage their plugins as they wish, however, many plugins have been poorly defined in the past, leading to entire features or plugins holding only a few classes that could easily be stored in a new package of an existing plugin.

     

    When requesting approval for a new plugin, please fill out the following template and paste it into the appropriate jira:

     

    Request Template


    1) Explain the scope of the new plugin. This scope will be binding throughout the life of the plugin.  (ex: a plugin for integration of plugin X and plugin Y, or,  a standalone service to be accessible by others through an interface that does xyz). This scope must be specific enough to avoid dumping-ground plugins tht grow with no limit, but also not be so restrictive as to make the plugin so narrowly defined that it is not useful.

     

    2) Is there any other plugin in the same component with an overlapping scope? If so, which plugins?

     

    3) If there is an overlap, is there some technical reason the new plugin or feature is required?

     

    4) If there is no technical reason for the new plugin, would the code fit more appropriately inside an existing plugin instead?

     

    5) What is the expected size of the plugin, now and in the future. (ie, one or two classes to provide a dialog to the user, or, many classes providing a model for xyz and will grow as new features are added, or, unlimited home for all utilities depending on (some subset) of eclipse packages. )

     

    6) What are the expected upstream dependencies of the plugin (webtools, gef, astools, org.eclipse.team, etc) 

     

    7) Give a brief technical overview.

     

     

    Get Approvals


    Once these questions are answered, approvals are to be requested from:

    1) The component lead, and

    2) The project management 

     

    Approvals must be granted in the form of a +1 on the jira. To acquire the project management approvals, you may choose to assign the task to a project manager, or email the jbosstools-dev list. Alerting the lists for every new plugin is not required, but is a very nice gesture. You may find contributors come out to add some of their code to a new more central location after hearing about the new plugin and it's pre-defined scope.

     

    Typically, approvals for new plugins or features will not be granted during a "rampdown" period, as we get close to a major release, without some strong technical issues requriing the creation of a new plugin.

     

    Once these approvals are granted, you will want to move on to the Technical Side of adding a new plugin and feature.