Uploaded image for project: 'OpenJPA'
  1. OpenJPA
  2. OPENJPA-979

Define process for contributions

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 2.0.0-beta3
    • None
    • None

    Description

      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

      Attachments

        Issue Links

          Activity

            People

              ppoddar@apache.org Pinaki Poddar
              ppoddar@apache.org Pinaki Poddar
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: