Define process for contributions 
---------------------------------

                 Key: OPENJPA-979
                 URL: https://issues.apache.org/jira/browse/OPENJPA-979
             Project: OpenJPA
          Issue Type: Improvement
            Reporter: Pinaki Poddar


OpenJPA architecture allows extensible feature derivations for various purposes 
such as non-relational datastores, customized mapping strategies support for 
loosely-typed data structures etc. To promote contributions from wider 
community of users and developers, here is a proposal (collated from discussion 
thread [1]):

a) A 'contrib' space should be created in OpenJPA SVN repository for sharing 
any such contributions with the community. 

b) The entires in the 'contrib' space should neither impact the build process 
or nor be a part of the distribution package. However, the entries must be 
available with requisite artifacts (e.g. source, build script, docs) for 
interested parties to build the extension and use with core openjpa downloads.  

c) A non-committer should be able to contribute to the 'contrib' space. A 
contributor must signs the ICL Agreement and has to upload the contribution via 
our  normal JIRA patch process.  One or more committer will review and commit 
the  contribution.

d) the contributions must adhere to the coding conventions and other software 
conventions followd by OpenJPA

f) the contributor must package the contribution in the same structure of 
existing OpenJPA modules. The contribution must contain the maven pom.xml to 
build the target artifacts.  
We will create a maven archetype specifically for this  purpose, and put the 
archetype definition into the new directory. For example:

% cd openjpa/trunk/extensions
trunk/extensions % ls
pom.xml
db4o

trunk/extensions % mvn archetype:create -DgroupId=org.apache.openjpa.extensions 
-DartifactId=loosely-typed -DarchetypeArtifactId=openjpa-extensions

trunk/extensions % ls
pom.xml
db4o
loosely-typed

g) We need to think carefully about what to call these extensions, so  it's 
clear that they're not supported, endorsed, built, or  distributed by the 
project. But in future, we might want to build and  distribute them if they 
turn out to be useful. But at that point, we  might promote them to their own 
endorsed sub-project (e.g. trunk/openjpa-db4o). 

[1] 
http://n2.nabble.com/Proposal-for-a-%27contrib%27-space-in-openjpa-repository-tt216589.html

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to