About Hermine
Hermine is an Open Source project empowering legal teams to define context aware FOSS license policies, and making it easier for compliance officers/product managers to apply them to their SBOMs.
Hermine presents you with a framework to better understand FOSS licences and extract from each the obligations it requires. It helps you build a context-aware licence policy, taylored to your organisation specific needs.
It makes it easy to automatically apply those to your SBOM in various formats (SPDX, CycloneDX, ORT) and memorise your decisions to help you focus only on release-specific issues.
Charter and Governance
1. Context
Hermine is a shared-governance, Open Source tool to manage legal compliance (hereinafter “the Solution”). It is meant for any organizations (foundations, companies, …) and constitutes a unique approach for all (lawyers, compliance officers, …).
The purpose of this charter is to:
- Engage with /empower other members.
- Collectively define a user oriented roadmap with its functionalities of the Solution and associated deadlines.
- Better structure the communication/growth (growth plan) of the Solution.
- Facilitate, for those who wish/can, contributions.
By participating in this project, all members automatically adhere to this charter and its successive versions.
2. Roles:
2.1 Member
There are three categories of Members:
- Founding members (Enedis, Lectra, Inno3, Orange, OVHcloud, RTE) are the entities that were involved since the creation of the project.
- Key Members are Founding Members or legal entities that are Contributors and have paid a membership fee (the way to contribute to the project with fees will be decided under steering committee authority).
- Standard members are any legal entity or natural person appointed by steering committee without the need of paying a membership fee.
Members, of any category, are the only ones who can propose candidates for team leader or deputy team leader election.
2.2. Member Representatives
- Each Member shall appoint a representative who is employed in the Member’s company
- Represent the Member in the Teams described below
- Can be a Contributor
- Can be a Team Leader
- Shall take part in votes on behalf of their related Member
- Shall attend the calls (if the case) as scheduled by the various teams.
2.3. Contributor
A “Contributor” is a person/natural person that contributes code (pull requests) to the project after having signed a Developer Certificate of Origin (“DCO”) or contributing in another way (i.e: bug reports, submit feedback on the contributions such as user stories or features, submit new user stories or feedback on existing ones, create content for Hermine such as papers, web site improvements, blogs, validation of description of licenses etc).
A Contributor is allowed to:
- take part to one or more of the Hermine Teams -Technical, Legal,
- join the mailing lists and participate to the discussions,
- apply to become Standard Member by following the process described below under section 3.2 “Steering Committee”.
2.4. Maintainer
- checks that the new features adhere to formatting and content guidelines and are coherent with the global Solution (maintainers)
- only Members are maintainers
2.5. Team Leader
- There is one Team Leader per Team, more if decided by the related Team.
- Is elected for 1 (one) year by the related Team, with a majority of votes as described hereunder under section 3.1 “Teams”.
- Ensure that the Team’s production accurately reflects the decisions that have been voted by the related Team.
- Represent their Team on the Steering Committee and synchro meeting in discussions with other Teams.
- Set the agenda, schedules meetings, keeps minutes, leads the Team meetings and tracking progress.
- Report about Team progress on Pi planning
- Deputy Teams Leader:
- There is one Deputy Team Leader per Team, more if decided by the related Team
- Is elected for 1 (one) year by related Team with a majority of votes.
- The Deputy Team Leader shall contribute towards the overall strategy, direction and operations of the team by supporting the Team Leader to ensure successful results.
- Could represent the Team leader in all board meetings with same responsibilities.
3. Governance
3.1. Teams
Teams are composed of employees of Members or natural persons in the case of Standard Members.
Ideally decisions will be made based on consensus.
However, if no consensus can be reached before the next meeting which shall be held within the next four (4) weeks, a vote will be required to move forward unless the Members reach an agreement by email.
Each Member shall be allocated one (1) vote each in order to vote. Decisions by vote will require a simple majority vote, except for the Steering Committee.
The Key Members shall be allocated at least 50% of the votes.
The rule of 50% of the votes for the Key Members must prevail over that of “One member = One vote”.
Legal and compliance Team
- maintains and publishes the Hermine user stories List and associated collaterals (doc, license …).
- ensures that User Stories accurately reflect the decisions that have been taken by the Legal and compliance Team.
- checks that the new features (based on user stories) adhere to formatting and content guidelines and are coherent with the global Solution.
- gives the green light, on behalf of the whole Members and during the regular meeting with other teams, to merge the features related to the topics addressed by the Legal and compliance Team.
Technical Team
The Technical Team validates, develops, maintains and publishes the Hermine technical features and tools and other features (non technical features) as agreed with other Teams.
3.2. Steering Committee
The Steering Committee is the body that is responsible for managing the Hermine Project. It includes :
- Defining the annual roadmap of the Hermine Project (including the process itself) and of the Solution, following up the implementation of the roadmap (including reviewing and giving feedback on major decisions regarding the implementation of the roadmap) ;
- Representing the Hermine Project community, defining the rules of representation ;
- Defining the budget, identifying the funding process ;
- Designing the governance of the Hermine Project, including updating this Charter.
Concretely :
- It consists of the Team Leaders and up to one Member Representatives per legal entity (all together, the “Participants”).
- It will meet as regularly as needed, but no less than once per quarter.
- From time to time establish additional Teams, modify the roles of existing Teams, or disband Teams by majority vote.
The Steering Committee may vote with a majority of two third of the Participants for:
- Member addition and removal
- The modification to the governance and this Charter
- The promotion of a specific contributor to the role of Standard Member. Two thirds of the Members sponsorship is required for a candidate to request such promotion
- Establishing the roadmap
- Voting the budget
- Any other relevant decision.
Four votes maximum per Member :
- One vote for each of the three Team Leads (i.e. a Member elected to conduct several Team lead will be awarded one (1) vote for each position as a Team Lead);
- One vote for the Member Representatives;
- Standard Member who are natural person shall be limited to one (1) vote.
Quorum for Steering Committee meetings requires at least two-thirds of all Participants to be present. The Steering Committee may continue to meet if quorum is not met but will be prevented from making any decisions at the meeting.
Any meetings of the Steering Committee can be conducted electronically, via teleconference, or in person. Meeting details and agendas will be shared prior to each meeting with the Participants. Any vote can be held electronically or in person.
A Participant can – in case of absence or unavailability – send a representative as stand-in (a “Proxy”). Participant must notify the Steering Committee at least the day before the Steering Committee meeting of such Proxy. The Proxy must be appointed for a meeting or for any given period of time. The Proxy will be allowed to vote.
3.3. Communication Task Force
A dedicated task force on communication matters is created by the Steering Committee.
Any Member could take part in this task force. Any members can contact it to share an opportunity concerning the communication around the Hermine project.
This task force will communicate regularly to the whole members the planned and current activities.
It may address topics such as:
- promoting the use of Hermine by the broader community and ecosystem,
- raising the visibility of the project, either in areas where it is already known or new markets/sectors i.e branding, swag ordering, analyst and press relations,
- managing events – setting up meetups, hackathons, booths at larger events or organizing conferences,
- community growth – spotting areas where the project could use more help (docs, testing, outreach, coding, diverse and inclusive representation, etc.),
- finding ways to recruit contributors to help improve the project.
4. Vocabulary
4.1 Program Increment (PI)
During this meeting, the Team Leaders present the business, functional and technological vision of the Solution through demos (i.e features) This face-to-face allows to agree collectively on the validated features (votation) and on objectives of the future PI in terms of features. They align and plan the work to be done during the next PI. Remote session could be a backup solution if needed. For those who cannot be present (remotely or physically) an asynchronous process will be announced before the meeting to allow them to share their needs. At the end of this meeting, the participants shall agree on objectives and plan the work to be carried out in the next increment, taking into account the interdependencies between teams.
4.2 Synchro meeting
This meeting, allows Legal & compliance and technical teams (or at minimum their team leaders or deputy) to better understand the user stories (the business need) that could be transformed into features. The Synchro Meeting’s frequency will be decided by the Team Leaders (from weekly to monthly).
4.3 User Story
The teams are the ones who write the Users Stories and Team Leaders are the ones who “carry” and promote the user stories during the Pi Planning in order to validate it and make it implemented. Contributors may also propose User Story. A User Story (raised by business) must be defined as follow: As…, I wish… in order to….
4.4 Features
A feature is a functionality in the program backlog to respond to requests for improvement, evolution and correction of the Solution. It responds to a user story defined by the Teams.
5. Non-Confidential, Restricted Disclosure
Information disclosed in connection with any Steering Committee or Team activity, including but not limited to meetings, Contributions, and submissions, is not confidential, regardless of any markings or statements to the contrary. Steering Committee meeting minutes will be published in summary form, as appropriate (e.g., sensitive matters may not be made public). If the Steering Committee or a Team is collaborating via a private repository, the Participants will not make any public disclosures of that information contained in that private repository without the Approval of the Steering Committee or Team.
6. Notes
The classical role of community Manager does not exist as it is, but the whole tasks are mapped on various roles in this governance.
Community Manager tasks mapping as described at opensource.com
Community Manager task | Role in Hermine governance |
---|---|
Marketing/outreach | Communication Task Force |
Event management | Communication Task Force |
Community growth | Communication Task Force |
Community lubrication | Communication Task Force |
Project strategy | Steering committee |
Solution management | Legal Team |
Partner management | Communication Task Force + Steering committee |
Documentation management | Technical + Legal team |
Developer enablement | Technical team |