What's a ASR?

  • Victor Perez Juarez

    Q: What's a ASR?
    A: A ASR is a Adempiere Specification Request. This is the document submitted to the Council by one or more members to propose the development of a new specification or significant revision to an existing specification.

    Q: How does an expert group get picked?
    A: The ASR submitter (Specification Lead) has responsibility for the formation of the Expert Group, including selection of the experts for the Expert Group. Ideally, the Expert Group should be large enough and diverse enough to insure wide adoption of the resulting specification. Any representative of a ACP Member can nominate themselves to serve on one of the Expert Groups that write Adempiere specifications. Individuals not affiliated with a member can also nominate themselves to serve on an Expert Group. The Council forwards nominations received using the ASR web page to the Spec Lead, with an indication of whether the nominee is a member. In order to insure that all experts have agreed to the same terms for the sharing of intellectual property, and other terms of Expert Group participation, only ACP Members can join Expert Groups. Experts can:

        * Actively shape the content and direction of new and revised Adempiere specifications (Expert Group)
        * Review comments from members and the public and use them to improve the quality of a specification (Community Review, Public Review)
        * Serve as the Specification Lead of the Expert Group and be responsible for choosing the other members of the Expert Group, and for completing the specification, its reference implementation, and associated compatibility test suites (Initiate a new or revised specification, Create the Community Draft, Complete the specification)
        * Assume responsibility for maintaining a specification after it is written (Maintenance Lead)

    Nominations for the Expert Group are accepted from the first day that the ASR is available for review from here.

    Q: What prevents Adempiere from controlling or dominating the groups that develop and maintain Adempiere specifications?
    A: Adempiere, and the other Council members, serve as technology oversight groups for the work of the Expert Groups. The Council do not micro-manage the day-to-day workings of Expert Groups. Rather, the Council have the opportunity to review the work of each Expert Group at well-defined points as their specifications proceed through the ACP. The primary function of the Council is to ensure that specifications do not overlap or conflict with one another and that the specifications meet the needs of the industry segment for which they are being written.

    Q: What is an Council and what is its purpose?
    A: The ACP has Councils:  Voting Members on each Council serve three-year terms. There are ten ratified seats, five elected seats, and the permanent seat held by Adempiere. The three-year terms are staggered so that five of the fifteen seats are normally up for ratification/election each year.

    The Council members guide the evolution of Adempiere Functionality. The Council represents a cross-section of major stakeholders and other members of the Adempiere Community. Duties are:

        * Select ASRs for development
        * Approve draft specifications for public review
        * Approve final specifications
        * Review Technology Compatibility Kit (TCK) appeals
        * Approve maintenance revisions and possibly defer some features to a new ASR
        * Approve transfer of maintenance duties between members
        * Provide guidance to the Process Management Office


    • Redhuan D. Oon

      Redhuan D. Oon - 2006-09-12

      Hi Victor,
      Can u name the source of Specification Requests u adapted from? I like to study more.


    • Victor Perez Juarez

      Hi red1

      You can see more inforamtion around this at:



    • Frederick B. Kintanar

      I think an Adempiere Specification Request should be the specification of a module, with an module Test Kit rather than a Technology Compatibility Kit. 

      The difference with Java Specification Requests is that JSR's are about making specs for API's for the Java Standard Library, that are expected to be implemented more than once and need to have stable standard specs that are precise enough to be interoperable. ASR Test Kits only need to check that the single implementation going into Adempiere's trunk code base fulfills the specification as advertised. Of course, having a clear enough spec is a great advantage for the community, and for checking backwards compatibility as the system evolves. Modification of the spec can be a lot more free and less bureaucratic that JSR's.

      There was a comment somewhere in the recent flood of discussion that Compiere does not have enough systematic testing. I think there is an opportunity with the ASR approach to fix this in the Adempiere development process. In fact, the community may want to encourage Test Driven Development, a practice that has received a lot of attention from the Extreme Programming and larger agile methods community. What specific style of testing will, I think, evolve gradually within the Adempiere community.


Log in to post a comment.