Software Carpentry Foundation: Governance

This post originally appeared on the Software Carpentry website.

I am pleased to announce that our interim Steering Committee has adopted bylaws for the Software Carpentry Foundation, which is the final step in us becoming an independent organization. The authoritative version is stored in this public GitHub repository, along with other key documents that will be outlined in the next couple of blog posts. In brief, the SCF has four parts:

  • the Membership, which includes active instructors and others contributing directly to the project;
  • the Steering Committee, which is elected by and from the membership and is the SCF's primary decision-making body;
  • the Advisory Council, which includes representatives from our major partners, and
  • the Executive Director, who is an employee of the SCF responsible for overseeing its daily operations. The Executive Director answers to the Steering Committee, but is not a member of it.

I have accepted the position of interim Executive Director, and the first elections for the Steering Committee will be held early in 2015. These bylaws, and the agreement with NumFOCUS that enables us to operate as a 501(c)3 non-profit, are the structure we need to run a successful independent foundation.

The next priority is fundraising: I've been without a salary since my contract with Mozilla ended in October, which clearly isn't sustainable. The next post in this series describes the different ways in which organizations can support us; we're close to signing deals with several groups, so I'm confident we'll start the new year with our finances in order.


  1. The Software Carpentry Foundation has four components: the Membership, the Steering Committee, the Advisory Council, and the Executive Director.

  2. The Membership is made up of:

    1. Every qualified instructor who has taught at least twice in the past two calendar years.

    2. Anyone who has done 30 days or more work for the SCF in the past calendar year.

    3. Anyone who has, in the opinion of the Steering Committee, made a significant contribution in the past year.

    Members elect the Steering Committee, and may also seek election to it.

  3. The Steering Committee makes all significant strategic and financial decisions for the Foundation. Its members are also expected to take on other responsibilities as needed.

    1. The Steering Committee must meet monthly, either in person or online.

    2. Minutes of the Steering Committee's meetings must be published within one week of each meeting.

  4. The Steering Committee is re-elected annually.

    1. Every SCF member, and every organization that qualifies as a Partner or Affiliate under the organizational membership rules, gets one vote in the annual election, the date of which is announced at least 90 days in advance.

    2. Every SCF member may stand for election by announcing their candidacy at least 30 days in advance of it.

    3. The seven people who receive the most votes form the new Steering Committee.

    4. No organization may have more than two representatives on the Steering Committee. If more than two people who are affiliated with an organization are elected, they must step down one by one to be replaced by other candidates in order of the number of votes received.

  5. The Advisory Council is made up of representatives of organizations that support the Software Carpentry Foundation's mission. The Steering Committee must consult with it when making significant strategic, contractual, or financial decisions.

    1. The Advisory Council meets quarterly, either in person or online.

    2. Minutes of the Advisory Council's meetings must be published within one week of each meeting.

    3. Any organization that qualifies as a Partner or Affiliate under the organizational membership rules may appoint a representative to the Advisory Council.

  6. The Executive Director is appointed by, and answers to, the Steering Committee. He or she is a paid employee of the Foundation, and is responsible for overseeing its day-to-day operations.

    1. The Executive Director may not be a member of either the Steering Committee or the Advisory Council.

    2. He or she may attend meetings of the Steering Committee and the Advisory Council when invited to do so.

    For a complete description of the Executive Director's role, see the most recent version of the job description written and approved by the Steering Committee.

  7. The Foundation's legal, financial, and contractual affairs are handled through NumFOCUS, with which the Foundation has a Fiscal Sponsorship Agreement (FSA). The project lead and two Steering Committee members are signatories of the FSA.

    1. On behalf of the Foundation, NumFOCUS holds the copyright on all Software Carpentry materials and is the owner of its trademarks and other intellectual property.

    2. Money received by NumFOCUS on behalf of the Foundation is used to pay for core staff (such as the Executive Director), for special events (such as instructor travel costs for workshops in developing countries), and for incidental expenses (such as website hosting).

    3. NumFOCUS must present a monthly financial statement to the SCF Steering Committee.

    4. All expenditures except those covered by Rule 7e below must be approved in advance by the Steering Committee, or by a sub-committee appointed by it.

    5. The Executive Director may spend up to US$2000 per month on items whose individual cost is no greater than US$500 each without the prior approval of the Steering Committee, but must report all such expenditures to the Steering Committee in the month in which they occur.

  8. The work of the Software Carpentry Foundation is done by core staff (those employed or contracted directly by the SCF), by staff working for Partners, Affiliates, and Sponsors (jointly referred to as "member organizations"), and by volunteers.

    1. Staff employed or contracted by NumFOCUS on behalf of the Software Carpenry Foundation are primarily responsible for coordinating curriculum development, training instructors, outreach, coordinating fundraising, and other stewardship activities.

    2. Member organization staff are primarily responsible for activities such as arranging (and sometimes delivering) workshops.

    3. The SCF and member organizations will establish clear points of contact for people and organizations who desire training or have other inquiries.

    4. All requests for Software Carpentry training must be shared promptly with core staff and member organization representatives, and summarized monthly to the Steering Committee.

    5. Responsibility for arranging workshops will be allocated geographically, or as otherwise directed by the Steering Committee in consultation with the Advisory Council and member organizations.

    6. No person or organization may offer Software Carpentry branded certification without prior approval from the Steering Committee.

  9. The Software Carpentry Foundation raises and spends money in support of the goals listed in its mission statement.

    1. People and organizations may donate money directly to the SCF (via NumFOCUS) to be spent at the Steering Committee's discretion.

    2. Donations earmarked for particular purposes (e.g., to sponsor a particular workshop) must be approved by the Steering Committee or its appointed sub-committee before being accepted.

    3. The SCF may accept workshop registration fees, lump sum donations, and other contributions in exchange for helping to arrange workshops, create new curriculum, etc. All such arrangements must be approved in advance by the Steering Committee, or by a sub-committee appointed by it.

    4. Member organizations may accept donations, workshop registration fees, grants, and other contributions toward Software Carpentry activities. All such arrangements for Software Carpentry branded activities must be approved in advance by the Steering Committee, and money raised in this way must be reported quarterly to the Steering Committee.

    5. Foundation staff may not approach a grant agency or other organization for amounts in excess of US$5000 without first getting clearance from the Steering Committee.

    6. Member organizations are encouraged to share information about funding opportunities with the Steering Committee, and must get prior clearance from the Steering Committee or its appointed sub-committee for proposals that include support for Software Carpentry activities greater than US$5000.

    7. Foundation staff may not enter into private financial arrangements for Software Carpentry related activities without prior approval from the Steering Committee.

  10. The Steering Committee may amend these rules at any time by majority vote, and must re-approve these rules or an amended version of them every two years, beginning one year after its initial formation.

Dialogue & Discussion

Comments must follow our Code of Conduct.

Edit this page on Github