Ada-Rapporteur-Group / User-Community-Input

Ada User Community Input Working Group - Github Mirror Prototype
26 stars 1 forks source link

Ada User Community Input

The Ada Language

Ada is a general-purpose programming language designed specifically for the development and long-term maintenance of reliable software.

Ada is used commonly in safety critical systems such as aerospace, air traffic control, rail, and industrial automation.

Since the very beginning, the Ada language has been formally defined through a public standard. Originally as MIL-STD-1815, until it became international standard ISO/IEC 8652.

The Ada Rapporteur Group (ARG)

ISO/IEC 8652 is officially maintained by ISO/IEC JTC 1/SC 22/WG 9. Comments from the general public are handled by WG 9's Ada Rapporteur Group (ARG). The ARG is responsible for addressing these comments, which often concern possible enhancements or errors in the Ada standard. The ARG considers these enhancements or corrections of errors for incorporation into future versions of the Ada standard.

Ada Interpretations (AIs)

The ARG performs most of its work in terms of Ada Interpretations (AIs), which are documents that describe an identified issue with the Ada Reference Manual, or which propose enhancements to the Ada programming language. Such issues may be identified within the ARG itself, or by the wider Ada community.

At ARG meetings, the ARG will deliberate on active AIs, and vote on the progression of each AI, ultimately towards acceptance, or no action. Discussion and votes are available via the ARG minutes.

AIs that are being or have been deliberated on by the ARG can be found here.

As the ARG deliberates on open AIs, AIs will be updated with changes and additional discussion, or may lead to the establishment of a Language Study Group if more intensive development work is required.

At the present time, AIs are being stored and edited on Google Docs, which offers flexibility of export to various other formats as needed.

A guide to creating AIs can be found here.

An AI template can be found here.

A new way to engage the Ada user community

Historically the ada-comment mailing list has been used by members of the Ada community to identify problems or suggest enhancements for consideration by the ARG.

This repository, in conjunction with a new website, has been created to simplify the process of providing Ada community input to the ARG, and to provide more visibility into the ARG process.

An accessible medium for discussion

This repository, when compared with the sister website, is geared towards supporting real-time discussions on proposed features or changes to the Ada language through Github's Issues feature.

Users that have comments or proposals are encouraged to open a new issue in this repository to drive initial discussion, including input from members of the ARG.

Active issues can be browsed and discussed with broad accessibility and transparency.

Getting started

The best way to get started is to browse open issues to get a sense of how issues are structured, and to see if you find any existing issues that interest you. Consider speaking with supporters within that discussion about proposing a Language Study Group to take the issue further.

If there is a topic that you have not found discussed, please feel welcome to open a new issue. Try to give it a concise title, a succinct description, and an appropriate tag.

If you find an issue is not gaining enough traction, or has received no comments after a month, consider "pinging" the issue to generate notifications to anyone following the issue or the repository.

For issues that gain significant traction, you are encouraged to propose the creation of a Language Study Group to develop the idea further, and ultimately into a new AI. See the Language Study Groups section below.

Direct Induction of Issues by the ARG

Members of the ARG monitor and comment on issues posted to this Github repository. ARG members strive to comment on all issues, but sometimes issues get missed.

The ARG may, from time-to-time, decide to directly induct a community issue into an AI without requiring the creation of a Language Study Group. In particular, the ARG may be interested in issues that identify obvious errors/flaws/bugs in the existing Ada standard. At other times, the ARG or its members may identify an issue that has particular merit but that has not attracted sufficient discussion or interest from the community to lead to a Language Study Group proposal.

If the ARG later finds that such an AI needs significant work, the ARG might vote that the AI requires the creation of a Language Study Group to proceed. At that point the original owner of the original issue is encouraged to lead that effort.

Github Issues should be closed by ARG management (typically the Editor) as appropriate, and should not be closed by the creator of the issue, or by other ARG members.

Language Study Groups

Language Study Groups are intended to transparently capture the work towards the creation and ongoing development of an AI to eventually be deliberated and voted on by the ARG.

Language Study Groups can be created through two mechanisms. The first is by ARG vote to require a Language Study Group be created to further develop an existing AI. The second is by a direct proposal to form a Language Study Group, submitted to the ARG by an individual or group of the larger Ada community.

Language Study Groups proposed by the community must be approved by the ARG. Once approved, those proposing the creation of the study group can work towards the creation of one or more new AIs for formal consideration by the ARG. Language Study Group proposals from the community should be for significant changes or new features that will require rigorous design and prototyping work.

Requests to form a new Language Study Group can be submitted through the official ARG web-form.

It is strongly encouraged that new ideas be put to as much community discussion as possible via a Github Issue (this repository) before proposing the formation of a new Language Study Group.

When a new Language Study Group is approved or required by the ARG, a Google Drive shared folder will be created. This folder should remain publicly readable, and should contain all working documents used by the Study Group to carry-out its work.

A list of active Study Groups can be found here.

Pull Requests

Please do not make pull requests to this repository! The purpose of this repository is to enable discussion via the Github Issues feature. Please refer to the ARG website for a listing of all active AIs and Language Study Groups. The ARG editor may at some point in the future add AIs directly to this repository for greater accessibility.