Version 7

    History

     

    Historically the process of contribution has been associated with contributing code to the JBoss Application Server (JBoss AS) project.

     

    This is evident from the terminology used in the first section of the How to Contribute page:

     

    "Before we can accept any code you need to have signed a contributor agreement ."

     

    We also request that users sign a Contributor Agreement in order to gain committer access to the source code. This implies that contributors are people who contribute code.

     

     

    The reason for this is because JBoss was originally just an application server and the community consisted of very technical people who were comfortable submitting code without necessarily creating comprehensive documentation.

     

    As the number of JBoss projects grew the contribution process came to signify submitting code to any one of these projects:

     

    JBoss Cache, JBoss AOP, JBoss jBPM, etc..

     

    However the documentation that explained the contribution process does not explain clearly how to obtain the source code for each of these. Following the How to Contribute wiki page instructions allows you to view the anonymous SVN repository where some of the JBoss projects are stored:

     

    Subversion repositories

     

    common

     

    hibernate

     

    installer

     

    jbossas

     

    jbossblog

     

    jbossdotnet

          

    jbossreflex

     

    jbossnative

     

    jbossrules

     

    jbossweb

     

    jbossws

     

    labs

     

    messaging

     

    portletswap

     

    portal

     

    gravel

     

    You can also view the CVS repositories using Fisheye:

     

    Configured Repositories

     

    Ajax4JSF

     

    Gravel

     

    Hibernate

     

    JBPM

     

    JBoss

     

    JBossAS

     

    JBossBlog

     

    JBossCommon

     

    JBossDotNet

     

    JBossInstaller

     

    JBossNative

     

    JBossReflex

     

    JBossRules

     

    JBossSSO

     

    JBossWS

     

    JBossWeb

     

    JbpmSvn

     

    Messaging

     

    Portal

     

    RichFaces

     

    Finally you can also look at the Sourceforge repository:

     

    ...

     

    The source code for some of these projects has changed location 3 times in the history of JBoss. Originally it resided on Sourceforge. It was then moved to an internal CVS repository on the 20th April 2005 in order to have greater control. Finally some of the projects were migrated to a Subversion repository on 31st July 2006.

     

    With all of these changes, as well as new projects joining JBoss, the instructions are not clear on how to locate the source code for each. For example where would you find the source code for the JBoss IIOP project?

     

    New Design

     

    There are two main issues that need to be addressed with the new Contribution design:

     

    1. Clearly document where users can find the source code for each project and how they can download it.

    2. Change the definition of contribution from the idea of simply contributing code to a wider definition of donating time to one of a number of tasks including documentation, testing, teaching etc..

     

    These can both be addressed with the use of a Contribution portlet that resides on each project page. The information in each portlet will be specific to the project that it belongs to. This will make it very clear and simple for users to use. In addition the portlet will describe different types of contribution for the user to make so that they can choose whichever type suits them. A list of steps to take along with more detailed instructions can then be given for each contribution type so that a user always knows what they have to do.

     

    A more detailed design specification for the new Contribution portlet can be found by clicking on the link below.

     

    Contribution Portlet Design

     

    In order to personalize the contribution process a further two portlets can be developed that reside in the My.ORG page. These will integrate with JIRA to track the current contributions being made aswell as keep a record of all the contributions made by a user.

     

    Current Contributions Portlet Design

     

    Previous Contributions Portlet Design

     

    Finally in order to know which contributions a project requires to meet its next release target or which contributions are desired another a further two portlets can be developed. These will both integrate with JIRA in order to get their information:

     

    Road Map Portlet Design

     

    Wish List Portlet Design

     

    Renaming the Contributor's Agreement Portlet

     

    Since committing code is only one type of contribution we should think about renaming the Contributor's Agreement Portlet to be the Committer's Agreement Portlet. This highlights the fact that you don't need to sign anything if you simply want to submit documentation for example.