OpenHPC Project Charter (the “Charter”)

The Linux Foundation
Effective May 2016

  1. Mission of the OpenHPC Project (“OpenHPC,” or, alternatively, the “Project”).
    The mission of the Project is to:

    1. create a stable and flexible open source high performance computing (“HPC”) software stack, validated to run on a variety of hardware platforms;
    2. increase the simplicity and to reduce the cost of deploying and managing HPC systems and the performance and efficient utilization of HPC systems;
    3. include insights and technical contributions from across the HPC ecosystem, to integrate the leading edge work in the field and make it available to the community, and to adapt to new hardware insights and new technologies addressing scalability and performance, quickly responding to technology changes; and
    4. host the infrastructure for the open source project, establishing a neutral home for community meetings, events and collaborative discussions and providing structure around the business and technical governance of the Project.
  2. Membership.
    1. The Project shall be composed of Platinum, Gold, Silver, Academic Institution, Lab and Associate Members. All Platinum, Gold and Silver Members must be current corporate members of The Linux Foundation at any level to participate in the Project. Anyone may contribute to the Project’s technical codebase regardless of membership status. All participants in the Project, including Associate Members, enjoy the privileges and undertake the obligations described in this Charter, as from time to time amended by the Governing Board with the approval of The Linux Foundation and will comply with all such policies as The Linux Foundation Board of Directors and/or the Project may from time to time adopt with notice to members.
    2. The Associate Member category of membership is limited to non-profits and open source projects, and requires approval by the Governing Board, or, if the Governing Board sets criteria for joining as an Associate Member, the meeting of such criteria. If the Associate Member is a membership organization, Associate Membership in Project does not confer any benefits or rights to the members of the Associate Member. The Academic Institution Member category of membership is limited to academic institutions. The Lab Member category of membership is limited to government-funded laboratories.
    3. Platinum Members shall be entitled to appoint a representative to the Governing Board, Outreach Committee and any other committees established by the Governing Board.
    4. So long as there is at least one (1) Gold Member, Gold Members shall be entitled to elect annually to the Governing Board: one representative if there are less than three (3) Gold Members, two representatives if there are four (4) or more Gold Members but less than six (6) Gold Members, and three representatives if there are nine (9) or more Gold Members.
    5. So long as there is at least one (1) Silver Member, Silver Members shall be entitled to elect annually to the Governing Board: one representative if there are less than twenty (20) Silver Members, two representatives if there are twenty (20) or more Silver Members but less than thirty (30) Silver Members, and three representatives if there are thirty (30) or more Silver Members.
    6. So long as there is at least one (1) Lab Member, Lab Members shall be entitled to elect annually one (1) representative to the Governing Board.
    7. So long as there is at least one (1) Academic Institution Member, Academic Institution Members shall be entitled to elect annually one (1) representative to the Governing Board.
    8. Platinum Members, Gold Members, Silver Members, Lab Members, Academic Institution Members and Associate Members shall be entitled to:
      1. participate in Project meetings (other than meetings of the Governing Board and its committees, participation in which is limited as described in this Charter), initiatives, events and any other activities; and
      2. identify their company as a member of, or participant in, the Project.
  3. Governing Board
    1. Composition – the Governing Board voting members shall consist of:
      1. one representative appointed from each Platinum Member;
      2. so long as there is at least one (1) Gold Member, the elected Gold Member representative(s), up to a maximum of three (3);
      3. so long as there is at least one (1) Silver Member, the elected Silver Member representative(s), up to a maximum of three (3);
      4. so long as there is at least one (1) Lab Member, one (1) elected Lab Member representative;
      5. so long as there is at least one (1) Academic Institution Member, one (1) elected Academic Institution Member representative; and
      6. the Technical Steering Committee (“TSC”) Project Lead.
    2. Responsibilities of the Governing Board:
      1. approve a budget directing the use of funds raised from all sources of revenue;
      2. elect a Chair of the Governing Board to preside over Governing Board meetings, authorize expenditures approved by the budget and manage any day-to-day operations;
      3. oversee all non-technical business and outreach/communication matters;
      4. working with the TSC, define and administer any programs for certification, including any OpenHPC certification or other trademark compliance program;
      5. approving procedures for, and the scheduling of, the nomination and election of (1) Gold Member, Silver Member, Lab Member and Academic Institution Member representatives to the Governing Board, (2) the Gold Member representative to the Outreach Committee and (3) any officer or other positions created by the Governing Board;
      6. adopt and maintain policies or rules and procedures for the Project (subject to approval by The Linux Foundation) including but not limited to a Code of Conduct, a trademark policy and any compliance or certification policies;
      7. establish and oversee any Governing Board committees created to drive the mission of the Project; and
      8. vote on decisions or matters before the Governing Board.
    3. Conduct of Meetings
      i. Governing Board meetings shall be limited to the Governing Board representatives and invited guests and follow the requirements for quorum and voting outlined in this Charter. The Governing Board may decide whether to allow one named representative to attend as an alternate.
      ii. The Governing Board meetings shall be confidential unless approved by the Governing Board. The Governing Board may invite guests to participate in Governing Board topics. The Governing Board should encourage transparency, including the public publication of public minutes within a reasonable time following their approval.
  4. Technical Steering Committee (“TSC”)
    1. Composition – the TSC voting members shall consist of:
      1. The TSC Project Lead;
      2. The End-User / Site Representative;
      3. The Component Development Representative;
      4. The Integration Testing Lead / Coordinator; and
      5. The Functional Area Maintainers; anyone may participate on the TSC by contributing to the technical community and becoming a maintainer.

      The TSC General Positions (as defined below) will be designated prior to launch of the Project. In the initial designation of TSC General Positions for the first twelve (12) months of the Project, multiple people may share any of the positions ii, iii or iv above, but each TSC General Position shall only have a single vote on the TSC, irrespective of the number of individuals sharing such position.

    2. TSC projects generally will involve maintainers and contributors within functional areas:
      1. Maintainer: each lead developer on a subsystem identified by the TSC. The Maintainers shall also serve as the subsystem’s representative on the TSC. The initial list of Functional Area Maintainers will be designated prior to launch of the Project. After twelve (12) months following operational launch of the Project, the TSC will have the responsibility for the designation of Functional Area Maintainers to promote neutrality across the Project, and will put in place procedures (subject to approval by the Governing Board) for election of the Project Lead, End-User / Site Representative, Component Development Representative, Integration Testing Lead / Coordinator (collectively, “TSC General Positions”) and Functional Area Maintainers; and
      2. Contributor: anyone in the community that contributes code or documentation to the project.
    3. Participation in the Project through becoming a contributor and/or maintainer is open to all. The TSC may (1) establish work flow procedures for the submission, approval and closure/archiving of projects, (2) set requirements for the promotion of contributors to maintainer status (subject to the requirements of Section 4.b.), and (3) amend, adjust and refine the roles of maintainers (subject to the requirements of Section 4.b.) and the TSC General Positions (subject to the requirements of Section 4.b. and approval by the Governing Board), and contributors, create new roles, and publicly document any TSC roles, as it sees fit.
    4. The TSC shall elect a TSC Chair, who will preside over meetings of the TSC.
    5. Responsibilities: The TSC shall also be responsible for:
      1. coordinating the technical direction of the Project;
      2. approving individual projects and, following twelve (12) months from the operational launch of the project, designating Functional Area Maintainers and TSC General Positions;
      3. communicating with external and industry organizations concerning Project technical matters;
      4. appointing representatives to work with other open source or open standards communities;
      5. establishing election processes for TSC chair, Functional Area Maintainers, TSC General Positions or other leadership roles in the technical community that are not within the scope of a single project;
      6. creating sub-committees or working groups to focus on cross-project technical issues or other opportunities; and
      7. voting on technical matters relating to the code base.
  5. Outreach Committee
    1. Composition – the Outreach Committee voting members shall consist of:
      1. one appointed voting representative from each Platinum Member;
      2. so long as there is at least one Gold Member, one elected representative of the Gold Members.
    2. Responsibilities: The Outreach Committee shall be responsible for designing, developing and executing marketing efforts on behalf of the Governing Board. The Outreach Committee is expected to coordinate closely with the Governing Board and technical communities to maximize the outreach and visibility of the Project throughout the industry. Members of the Project without representation on the Outreach Committee may observe meetings of the Outreach Committee on a non-voting basis.
  6. Voting
    1. While it is the goal of the Project to operate as a consensus based community, if any decision requires a vote to move forward, the representatives of the Governing Board, TSC or Outreach Committee, as applicable, shall vote on a one vote per representative basis.
    2. Quorum for Governing Board, TSC and Outreach Committee meetings shall require 60% of the voting representatives of the Governing Board, TSC or Outreach Committee, as applicable. The Governing Board, TSC or Outreach Committee may continue to meet if quorum is not met, but shall be prevented from making any decisions at the meeting. Except as provided under Section 12.d. or Section 13.a., decisions by vote at a meeting shall require a majority vote, provided quorum is met. Except as provided under Section 12.d. or Section 13.a., decisions by electronic vote without a meeting shall require a majority of all voting representatives
    3. Decisions by vote shall be based on a majority vote, provided that at least sixty percent (60%) of the Governing Board, TSC, Outreach Committee or other committee representatives, as applicable, must be either present or participating electronically or by written action in order to conduct a valid vote.
    4. In the event of a tied vote with respect to an action by the Governing Board, TSC, Outreach Committee or other committee created by the Governing Board, the chair of such board or committee shall be entitled to submit a tie-breaking vote.
    5. The Chair of the Governing Board, TSC, Outreach Committee or other committee created by the Governing Board, as applicable, may conduct any vote using an appropriate electronic voting mechanism including the collection of votes via email. In the case of an electronic vote where the topic has not been previously discussed in a meeting, if any two voting representatives object to the electronic vote, they shall automatically force the topic onto the agenda at the next meeting at which point the decision may then be put up for a vote.
  7. Antitrust Guidelines
    1. All members shall abide by The Linux Foundation Antitrust Policy available at http://www.linuxfoundation.org/antitrust-policy</>.
    2. b. All members shall encourage open participation from any organization able to meet the membership requirements, regardless of competitive interests. Put another way, the Governing Board shall not seek to exclude members based on any criteria, requirements or reasons other than those used for all members.
  8. Code of Conduct
    1. The Governing Board shall adopt a specific OpenHPC code of conduct, with approval from The Linux Foundation.
  9. Budget
    1. The Governing Board shall approve an annual budget and never commit to spend in excess of funds raised. The budget shall be consistent with the non-profit mission of The Linux Foundation.
    2. The Linux Foundation shall provide the Governing Board with regular reports of spend levels against the budget. In no event will The Linux Foundation have any obligation to undertake any action on behalf of the Project or otherwise related to the Project that will not be covered in full by funds raised by the Project. In the event of any unbudgeted or otherwise unfunded obligation arises related to the Project, The Linux Foundation will coordinate with the Governing Board to address gap funding requirements.
  10. General & Administrative Expenses
    1. The Linux Foundation shall have custody of and final authority over the usage of any fees, funds and other cash receipts.
    2. A General & Administrative (G&A) fee will be applied by the Linux Foundation to funds raised to cover Finance, Accounting, and operations. The G&A fee shall equal 9% of the Project’s first $1,000,000 of gross receipts and 6% of the Project’s gross receipts over $1,000,000.
    3. Under no circumstances shall The Linux Foundation be expected or required to undertake any action on behalf of the Project that is inconsistent with the tax exempt purpose of The Linux Foundation.
  11. General Rules and Operations. The Governing Board shall:
    1. demonstrate plans and the means to coordinate with the open source project’s developer community, including on topics such as branding, logos, and other collateral that will represent the community;
    2. engage in a professional manner consistent with maintaining a cohesive community, while also maintaining the goodwill and esteem of The Linux Foundation in the open source software community;
    3. respect the rights of all trademark owners, including any branding and usage guidelines;
    4. engage The Linux Foundation for all press and analyst relations activities;
    5. upon request, provide information regarding project participation, including information regarding attendance at project-sponsored events, to The Linux Foundation;
    6. engage The Linux Foundation for any front-facing marketing websites directly for the Project; and
    7. operate under such rules and procedures as may from time to time be approved by the Project’s Governing Board and confirmed by The Linux Foundation.
  12. Intellectual Property Policy
    1. The Project seeks to integrate and contribute back to other open source projects within the scope of creating and maintaining a stable and flexible open source HPC software stack. Based on this goal for the Project, the development community will:
      1. conform to all license requirements of the open source projects leveraged within OpenHPC (“Upstream Projects”); and
      2. maximize opportunities for compatibility with other projects that might be leveraged by OpenHPC;
    2. Except with respect to Upstream Project code contributions  (which contributions will comply with the contribution process and license terms for the applicable Upstream Project):
      1. All new inbound code contributions to the Project shall be made under the Apache License Version 2.0 (available http://www.apache.org/licenses/LICENSE-2.0) accompanied by a Developer Certificate of Origin sign-off (http://developercertificate.org) that is submitted through a Board-approved contribution process which will bind the authorized contributor and, if not self-employed, their employer to the licenses expressly granted in the Apache License Version 2.0 only with respect to such contribution, with no limitation, estoppel or effect on any other member of the Project;
      2. All outbound code will be made available under the Apache License Version 2.0 (available http://www.apache.org/licenses/LICENSE-2.0).
    3. Contributed documentation will be received and made available by the Project under the Creative Commons Attribution 4.0 International License (available at http://creativecommons.org/licenses/by/4.0/).
    4. If an alternative inbound or outbound license is required for compliance with the license for a leveraged open source project or is otherwise required to achieve the Project’s mission, the Governing Board may approve the use of an alternative license for inbound or outbound contributions on an exception basis. Any exceptions must be approved by a two-thirds vote of the entire Governing Board and by the Linux Foundation. Please email licensing@openhpc.community to obtain exception approval.
  13. Amendments
    1. This charter may be amended by a two-thirds vote of the entire Governing Board, subject to approval by The Linux Foundation.