Governance

ALPS Mission

ALPS aims to house and distribute software for simulation of correlated quantum systems.

We are currently reworking the governance of ALPS. Work on the future structure will be performed at our workshops and announced here. If you are interesteed in getting involved please let the current leadership know.

ALPS Community Steering Committee


Adrian Feiguin

Professor of Physics
Northeastern University
a.feiguin@northeastern.edu

Emanuel Gull

Professor of Physics
University of Michigan
egull@umich.edu

Vito Scarola

Professor of Physics
Virginia Tech
scarola@vt.edu

ALPS External Advisory Board


Claudio Chamon

Professor of Physics
Boston University

Adrian Del Maestro

Professor
Department of Physics & Astronomy and
Department of Electrical Engineering and Computer Science
University of Tennessee

Thomas Maier

Distinguished Research Staff and Section Head
Oak Ridge National Lab

Matthias Troyer

Technical Fellow and Corporate Vice President of Quantum
Microsoft

ALPS Governance Documents

Overview

The ALPS software suite (Applications and Libraries for Physics Simulations), provides an open source ecosystem of algorithms with applications in condensed matter, quantum computing, quantum information, and related fields. This project supports the scientific community of users by providing a maintainable and sustainable open source infrastructure for ALPS, along with community building efforts. ALPS is governed by a self elected council. ALPS releases will be under the open source MIT License. To become involved with the development of the project, email a member of the governing council.

Roles and Responsibilities

ALPS adopts a hierarchical shared governance structure for each of its technical roles. A community of developers/contributors files issues, makes pull requests, and contributes to the project via GitHub. A set of maintainers, at least one for each simulation code, drives each contribution to the ALPS project. They are certified by core maintainers who impose commitment requirements and respond to community issues. The governing council drives the overall project direction, establishes code commitment requirements, and makes deprecation decisions. The external advisory board makes recommendations regarding direction and approaches for community engagement.

Maintainers:

Each code has a maintainer group that uses GitHub to submit change requests. Maintainer groups are responsible for making GitHub pull requests and changing the scope of their code. Each maintainer group is responsible for selecting one or more members to commit time as a core maintainer. The governing council decides on the extent of the commitment.

Core Maintainers:

The core maintainers have two primary roles. 1) They respond to issues from the community. These include bug fixes and pull requests. 2) They certify requests for changes and pull requests made by maintainers. These certifications include validating runs, compiling, and bug checking.

Governing Council:

The governing council steers the overall trajectory of the ALPS project with advice from the external advisory board. The tasks of the council include:

  • Nominating, confirming and removing maintainers and core maintainers
  • Establishing road maps for codes, libraries, and dependencies to be used by maintainers
  • Electing and removing members to the council and the advisory board
  • Leading the publishing process for ALPS release papers

External Advisory Board:

The external advisory board will recommend:

  • General directions for the ALPS project
  • Directions for community growth and maintenance

Support

  • To report a bug or request a feature please visit our GitHub repository.

  • To get help with using ALPS please visit our user forum on Discord.

  • To contribute to ALPS please contact a member of the Governing Council.

Decision making process

Contributions and changes to ALPS occur using a consensus model. Proposals for modifications will be reviewed by both maintainers and core maintainers once posted to the GitHub repository. Modifications will be accepted if no comments are made within 6 weeks or if all maintainers agree on the modifications. Controversial proposals decisions can be appealed to the governing council.

Contribution process

Developers wishing to make ALPS contributions should contact a member of the Governing Council, who will discuss onboarding. Contributors and their group members will join the ALPS team by contributing code to integrate into the package using GitHub. Codes will be released under the MIT open source license. Community engagement will take place through regular ALPS workshops.

Contributors will arrange for a maintenance time commitment that will help sustain ALPS. Maintenance will include updating existing codes, help with the website, responding to forum help requests and other ALP community maintenance tasks. The time commitment will be monitored using GitHub and Discord.

ALPS releases will be accompanied by an announcement publication. Active contributors to ALPS will be added as coauthors. The Governing Council will be responsible for deciding the author list.