Skip to content

ACS Community Organization

Matias Mora edited this page Jul 11, 2015 · 4 revisions

Introduction

ACS (originally "ALMA Common Software") is a control framework that provides general purpose distributed system functionality. It was developed starting in early 2000s for the Atacama Large Millimeter/Sub-millimeter Array (ALMA) radio astronomy observatory. It has also been released under the GNU Lesser General Public License (LGPL), allowing other projects to use it and people from other multiple institutions to collaborate in and contribute to its development. This repository maintains the open-source version for the broader ACS Community. The community wiki provides relevant documentation and references to shared resources, while this page defines the general organization of the community.

ACS Community definition

The "ACS Community" (or "Community" from here onwards) is defined as the group of ACS users and voluntary Community Branch contributors. A list of projects currently using ACS is maintained here.

The community maintains this Community Repository, containing all LGPL released modules of the ACS framework. Patches coming from both ALMA and the broader community are regularly integrated to the Community Repository, according to the procedures described below.

Following the git philosophy each community member is welcome to fork the repository and make changes as desired for their individual applications, while considering sending general purpose patches back to the Community Repository. This repository contains a working version with tested and peer-reviewed changes that should serve as the reference for the whole community.

The main communication platform is github, i.e. wiki for documentation and procedures and issue tracker for technical discussions, bug reports and feature requests. Additionally, important announcements are made through the acs-community-announce mailing list.

ACS Community Board (ACB)

Current ACB members (May 2015 to June 2016):

The role of the ACB is to develop the initial ACS Community policies and procedures and to ensure it grows as an all-inclusive fruitful and useful collaboration for its members. The ACB will be active for 2 years, at which time an election process to replace or confirm the original Board members should be in place.

Among the initial tasks of the CCB:

  • Review and update the community roadmap draft.
  • Define community infrastructure and development priorities.
  • Define ACB and CCB election process.

ACB members are assigned the corresponding administrator role in github.

Issue reporting

Community members may report bugs or request features through the issue tracker. Any community member may pick up a ticket and initiate its discussion and implementation. All changes should be considered for integration into the Community Repository.

Integration of patches

Bug fixes and new features can be added by anyone in the community in their repository fork. The following procedure explains how to integrate patches back to the main repository.

Submission requirements

Every patch integration request must consist of a git-formatted patch file attached to the corresponding issue ticket, which should contain at least:

  • Patch title (One-line summary)
  • Motivation (Why is this change needed?)
  • Implementation description (What was changed and what is its impact?)

Once attached, the ticket should be assigned to the control committee (see below).

Review process

Every patch submission integration request will be peer-reviewed and tested prior to its commit to the Community Repository. Every patch must comply with ACS coding standards and be testable through an existing or new Unit Test.

Community Control Board (CCB)

Current CCB members (November 2014 to November 2015):

A CCB is designated by the community and is in charge of receiving new patches, reviewing and approving them for integration into the Community Repository.

Among the initial tasks of the CCB:

  • Define code formatting standard and minimal testing rules.
  • Define Community release structure.
  • Define pull request procedure.

CCB members are assigned the corresponding administrator role in github.

Synchronization with ALMA Repository

ALMA has an incremental release process by which a new ACS release is available every 2 to 3 months. Once a new ACS releases is made available by ESO on their public repository it is the responsibility of the CCB to pull changes according to the community standards.

Clone this wiki locally