From 79828fdb9be431b7d9872868abd8bb4899472464 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mitzi=20L=C3=A1szl=C3=B3?= Date: Sun, 9 Jun 2019 18:11:07 +0200 Subject: [PATCH 01/23] Create solid-team.md Collected all information from previous pull requests and .md files in solid/information. To be merged by the Solid Leader. --- solid-team.md | 133 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 solid-team.md diff --git a/solid-team.md b/solid-team.md new file mode 100644 index 0000000..b0a6be5 --- /dev/null +++ b/solid-team.md @@ -0,0 +1,133 @@ +# Solid Team Mandate + +The Solid Team are dedicated trusted stewards of Solid fulfilling defined [roles and responsibilities](solid-team.md#solid-team-roles-and-responsibilities). + +The Solid Team has broad authority, which they seek to exercise as rarely as possible, when necessary to ensure the viability and integrity of Solid, while at the same time fostering a collaborative, transparent, and supportive environment for contribution. The Solid Leader heads the Solid Team and can veto decisions and adjust direction as they see fit. + +Solid Team members have admin rights on all Solid repositories, managed properties and assets, and communication channels. They are expected both to participate in regular community group meetings and to maintain availability for project-specific collaboration as needed. + +The mandate of the Solid Team includes but is not limited to: + +* __Solid Culture__ - Ensure that the Solid culture makes contributing as accessible, inclusive, and sustainable as possible while maintaining the quality and stability of Solid. Providing clarity and fair implementation of appropriate decision-making processes and seeking consensus among those building on Solid and using Solid before acting in a formal capacity. Acting as a court of final appeal for decisions where all other methods have failed. Coordinating the definition of the Solid values so they are accurate and inclusive. Make contributing and/or participating in the evolution of Solid as accessible, inclusive, and sustainable as possible. +* __Solid Governance__ - Implement appropriate decision-making processes, ensuring that decisions and associated processes are always aimed towards furtherance of Solid. Coordinate votes with the Solid panel by defining the question clearly and neutrally, communicating the vote to all relevant parties effectively, and collecting the opinions of all relevant parties fairly and neutrally as well as communicating the outcome of the vote. Where necessary, act as a court of final appeal for decisions where all other methods have failed. +* __Solid Communication__ - Promoting awareness of Solid and coordinating the several parties implementing the Solid specification. Providing an updated list of Solid solutions. Fostering awareness and use of Solid across geographic, economic, industrial, and academic verticals. +* __Solid Specification__ - Guiding the evolution of the Solid Specification, with an aim to encourage constructive dialogue and foster changes that result in healthy successive iterations aligned with the Solid Roadmap. Coordinating the definition of the Solid specifications including from technical, legal, and design perspectives. +* __Solid Compliance__ - Creation and curation of the [Solid Test Suite](https://github.com/solid/test-suite), which any Solid specification compliant server must pass to be considered a fully compliant implementation. Coordinating the development of a Solid Test suite to automate the checking of compliance of solutions to the Solid specifications. +* __Solid Projects__ - Providing examples of the Solid specification under open source licensing. Sanction and oversight of any repositories hosted under the [Solid GitHub organization](https://github.com/solid/), including sanctioned initiatives undertaken by Solid Panel groups and/or the Solid Team, and open source community reference implementations of the Solid Specification in different languages and technical stacks. +* __Solid Roadmap__ - Curation of the Solid Roadmap comprised of a description of the Solid mission and key success factors. The Solid Team works to ensure that any and all decisions, priorities, and output are always in alignment with the Solid Roadmap. +* __Solid Website__ - Curation and Management of the [Solid Website](https://www.solidproject.org). +* __Solid Brand__ - Definition and evolution of the Solid Brand, including any associated brand assets. +* __Solid Communication Channels__ - Sanction and oversight of official Solid project communication mediums, such as chatrooms, forums, mailing lists, and message boards. + +The Solid Team has broad authority to make decisions about Solid. For example, they can: +* Formally accept or reject suggestions (usually in the form of a GitHub pull request or issue) +* Enforce or update the Solid project's code of conduct +* Manage Solid assets and infrastructure, including the Solid Github organisation and repositories, the bug tracker, mailing lists, conversation channels etc. + +However, the Solid Team cannot modify this decision-making process or affect the membership of the Solid Panel (see below for description of Solid Panel), except via the mechanisms specified in this decision-making process document. + +The Solid Team should look for ways to use these powers as little as possible. Instead of voting it's better to seek consensus. Instead of ruling on individuals it's better to define standard processes for decision making. It's better to establish a Code of Conduct committee than to rule on individual cases, etc. + +# Solid Team Roles and Responsibilities + +Here we identify the Solid Team roles as well any responsibilities associated with their respective roles. + +- [Solid Leader](#solid-leader) +- [Solid Manager](#solid-manager) +- [Solid Specification Manager](#solid-team-member) +- [Solid Team Member](#solid-team-member) +- [Solid Team Member](#solid-team-member) + +## Solid Leader +The Solid Leader defines the governing mission and vision of Solid, along with key factors for success, which are manifested in the Solid Roadmap. The Solid Leader is the de-facto head of Solid, as well as the leading member of the Solid Team. + +If there are differences of opinion, the Solid Leader has the final say on the way forward. The Solid Leader has unique veto power and can override the decisions of the Solid Team. + +Responsibilities: +* approving governance related decisions such as descriptions of the responsibilities of the Solid team roles and processes for making decisions +* appointing individuals to the roles of the first Solid Team (further appointment is by a vote) +* reviewing decisions of the Solid Team and intervening with the decisions of the Solid Team if necessary. + +## Solid Manager +The Solid Manager implements the governing vision and mission of Solid. + +Responsibilities: +* coordinating collaboration to develop Solid +* moderating Solid calls +* ensuring that Solid information up to date and well-organised +* communicating any changes clearly and publicly +* encouraging and supporting Solid Event organisers and other constructive community events and activities +* encouraging and supporting Solid Projects which involves the publication of the project name, project scope as well as allocation of the Project Manager and Project Contributors + +## Solid Team Member One +The Solid Specifications Manager ensures the Solid spec is inclusive, up to date, and clearly communicated. + +Responsibilities: +* Ensuring that people working on and using Solid are aware of suggestions in time for them to give their opinion +* Incorporating suggestions into the Solid spec +* Communicating changes to the Solid specification clearly and publicly +* Maintaining the Solid specification in terms of formatting and grammar + +## Solid Team Member Two +The Solid Website Manager ensures that the Solid website is up to date, accurate, and publicly available + +Responsibilities: +* Maintaining the Solid Website +* Updating the Solid Website to make sure information is relevant and up to date + +## Solid Team Member Three +The Solid Research Manager investigates new trends relevant to Solid and ensures that they are applied to the Solid mission where appropriate. + +Responsibilities: +* Identifying new trends pertinent to Solid +* Proposing how new techniques could be applied to Solid +* Communicating new trends to those working on and using Solid to make sure they are aware + +## Solid Team Nomination + +The Solid project was started by Tim Berners-Lee, who has served as the Solid Leader from inception. + +The Solid Leader directly appoints the first Solid Team for a five-year appointment who consist of: + +| Individual | Role | +| --------------------- | --------------------------------- | +| Tim Berners-Lee | [Leader](#solid-leader) | +| Mitzi László | [Manager](#solid-manager) | +| Ruben Verborgh | [Solid Specification Manager](#solid-specification-manager) | +| Justin Bingham | [Solid Website Manager](#solid-website-manger) | +| Kjetil Kjernsmo | [Solid Research](#solid-research-manager) | + +Following Solid Teams will be selected via election. A new Solid Team is elected after five years. + +A Solid Team election consists of two phases: +* Phase 1: Candidates advertise their interest in serving. Candidates must be nominated by a Solid team member. Self-nominations are allowed. + +* Phase 2: Each individual on the Solid Panel can vote for zero to five of the candidates. Voting is performed anonymously. Candidates are ranked by the total number of votes they receive. If a tie occurs, it may be resolved by mutual agreement among the candidates, or else the winner will be chosen at random. + +Each phase lasts one to two weeks and should be publicly communicated. The election process is managed by the Election Manager nominated by the outgoing Solid Team. + +The Solid Team should ideally reflect the diversity of individuals building on Solid and using Solid. The Solid Decision Panel is encouraged to vote accordingly. + +## Solid Team Removal + +Solid Team members may resign their position at any time. + +Solid Team members may take sick leave or pregnancy leave and an election will take place to appoint an interim individual. + +If a Solid Team member not on a leave of absence drops out of touch and cannot be contacted, then the rest of the Solid Team may vote to initiate an Solid Team election as described. + +Whenever there is a vacancy during the regular Solid Team term, an election will take place as described above to appoint a replacement to serve out the rest of the term. + +In exceptional circumstances, it may be necessary to remove someone from the Solid Team against their will. (For example: egregious and ongoing code of conduct violations.) This can be accomplished by a Solid Panel vote, but unlike other votes, this requires at least a two-thirds majority. + +A no-confidence vote is triggered when a Solid Panel member calls for one publically on an appropriate project communication channel, and ten other Solid Panel members second the proposal. The vote lasts for two weeks. Solid Panel members vote for or against. If at least two thirds of voters express a lack of confidence, then the vote succeeds. + +There are two forms of no-confidence votes: those targeting a single member, and those targeting the Solid Team as a whole. The initial call for a no-confidence vote must specify which type is intended. If a single-member vote succeeds, then that member is removed from the Solid Team and the resulting vacancy can be handled in the usual way. If a whole-Solid Team vote succeeds, the Solid Team is dissolved and a new Solid Team election is triggered immediately. + +## Conflicts of Interest + +Solid Team members are trusted to act in the best interests of Solid rather than themselves or their employers, the mere appearance of any one company dominating Solid development could itself be harmful and erode trust . In order to avoid any appearance of conflict of interest, at most 2 members of the Solid Team can work for any single employer. This does not apply for the first appointment of the first Solid Team because there is a single dominant employer working on Solid at the time. + +In a Solid Team election, if 3 of the top 5 vote-getters work for the same employer, then whichever of them ranked lowest is disqualified and the 6th-ranking candidate moves up into 5th place; this is repeated until a valid Solid Team is formed. + +During a Solid Team term, if changing circumstances cause this rule to be broken (for instance, due to a Solid Team member changing employment), then one or more Solid Team members must resign to remedy the issue, and the resulting vacancies can then be filled as normal election. From abce5b5e74021b6ace010621d973ed7783b374f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mitzi=20L=C3=A1szl=C3=B3?= Date: Sun, 9 Jun 2019 19:39:30 +0200 Subject: [PATCH 02/23] Update solid-team.md --- solid-team.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solid-team.md b/solid-team.md index b0a6be5..a2d8aa3 100644 --- a/solid-team.md +++ b/solid-team.md @@ -114,7 +114,7 @@ Solid Team members may resign their position at any time. Solid Team members may take sick leave or pregnancy leave and an election will take place to appoint an interim individual. -If a Solid Team member not on a leave of absence drops out of touch and cannot be contacted, then the rest of the Solid Team may vote to initiate an Solid Team election as described. +If a Solid Team member not on a leave of absence drops out of touch and cannot be contacted for several weeks without notification, then the rest of the Solid Team may vote to initiate an Solid Team election as described. Whenever there is a vacancy during the regular Solid Team term, an election will take place as described above to appoint a replacement to serve out the rest of the term. From aaa815e73002086e09250bea3ea465d2244abe0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mitzi=20L=C3=A1szl=C3=B3?= Date: Sun, 9 Jun 2019 19:44:33 +0200 Subject: [PATCH 03/23] Update solid-team.md --- solid-team.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solid-team.md b/solid-team.md index a2d8aa3..a51438e 100644 --- a/solid-team.md +++ b/solid-team.md @@ -126,7 +126,7 @@ There are two forms of no-confidence votes: those targeting a single member, and ## Conflicts of Interest -Solid Team members are trusted to act in the best interests of Solid rather than themselves or their employers, the mere appearance of any one company dominating Solid development could itself be harmful and erode trust . In order to avoid any appearance of conflict of interest, at most 2 members of the Solid Team can work for any single employer. This does not apply for the first appointment of the first Solid Team because there is a single dominant employer working on Solid at the time. +Solid Team members are trusted to act in the best interests of Solid rather than themselves or their employers, the mere appearance of any one company dominating Solid development could itself be harmful and erode trust. In order to avoid any appearance of conflict of interest, at most 2 members of the Solid Team can work for any single employer. This does not apply for the first appointment of the first Solid Team because there is a single dominant employer working on Solid at the time. In a Solid Team election, if 3 of the top 5 vote-getters work for the same employer, then whichever of them ranked lowest is disqualified and the 6th-ranking candidate moves up into 5th place; this is repeated until a valid Solid Team is formed. From e498524c5929c1bdb97d1e9435675022713c5c04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mitzi=20L=C3=A1szl=C3=B3?= Date: Sun, 9 Jun 2019 19:54:03 +0200 Subject: [PATCH 04/23] Create solid-panel.md Collected all information from previous pull requests and .md files in solid/information. To be merged by the Solid Leader. --- solid-panel.md | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 solid-panel.md diff --git a/solid-panel.md b/solid-panel.md new file mode 100644 index 0000000..7f380eb --- /dev/null +++ b/solid-panel.md @@ -0,0 +1,48 @@ +# Solid Panel Mandate + +The Solid Panel (also referred to as Solid community) are individuals and groups who are using or working on implementing Solid who may be occasionally consulted for their opinion on a specific project by the Solid Team. + +## Solid Panel Nomination + +The criteria to apply to be on the Solid Panel include: +* Solid Team Member +* former [MIT Solid Project Team Member](https://solid.mit.edu) +* Active Identity provider +* Active Pod provider +* Active Solid app providers +* Active Solid Users who show a minimum engagement of having a WebID, Pod, and use at least one Solid app regularly and actively +* Experts in a field relevant to Solid + +As soon as there is a Solid Test Suite it will be a requirement for identity providers, Pod providers, and Solid app providers to pass the Solid test to be able to participate in the Solid Panel. + +Applicants need to get a GitHub account to apply to join the Solid Panel. To apply the applicant must submit a pull request to the Solid Panel listing and add their name, contact details, and how they fulfil the criteria. If all Solid Team members except the Solid Leader review the pull request positively then the applicant becomes a formal Solid Panellist. If a Solid Team member abstains from approving or expresses some hesitation, then the applicant must be approved by the Solid Leader to formally become a Solid Panellist. + +## Solid Panel Removal + +Solid Panellists may resign their position at any time. + +If a Solid Panellist drops out of touch and cannot be contacted for several weeks without notification, then they may be removed from the Solid Panel. + +In exceptional circumstances, it may be necessary to remove someone from the Solid Panel against their will. (For example: egregious and ongoing code of conduct violations.) This can be accomplished by a pull request reviewed by all Solid Team members except the Solid Leader. If a Solid Team member abstains from approving or expresses some hesitation, then the removal of the Solid applicant must be reviewed by the Solid Leader to be formally removed. + +## Conflicts of Interest + +Solid Team members are trusted to act in the best interests of Solid rather than themselves or their employers, the mere appearance of any one company dominating Solid development could itself be harmful and erode trust. In order to avoid any appearance of conflict of interest, at most 30% of the Solid Panel can work for any single employer. Solid Panellist applicants who apply when there is already 30% of the Solid Panel working for their employee will be put on hold until there are more applications from other employers or there are Solid Panellist resignations. + +## Solid Panellist Descriptions + +Each Solid Panellists has a description of 1) how much skin in the game they have in relation to Solid 2) what their areas of expertise are. + +Solid Skin in the game is classified as: +• Active Identity provider +• Active Pod provider +• Active Solid app providers +• Active Solid Users who show a minimum engagement of having a WebID, Pod, and use at least one Solid app regularly and actively + +Areas of expertise include but are not limited to: +• Historical Solid Development: Those who were actively involved in the Solid MIT academic project or heavily affiliated during the early development of Solid +• Security +• Interoperability +• Data Ethics + +For each area of expertise associated to a Solid Panellist the academic or experience training to qualify that individual with that expertise must be stated. From 26fe461cb5a75d08b0318e24776ab5d5c4717467 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mitzi=20L=C3=A1szl=C3=B3?= Date: Sun, 9 Jun 2019 20:21:03 +0200 Subject: [PATCH 05/23] Create decision-making.md Collected all information from previous pull requests and .md files in solid/information. To be merged by the Solid Leader. --- decision-making.md | 72 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 decision-making.md diff --git a/decision-making.md b/decision-making.md new file mode 100644 index 0000000..c3aa9a6 --- /dev/null +++ b/decision-making.md @@ -0,0 +1,72 @@ + +# Making Suggestions to Solid + +Anyone can suggest a change by getting a GitHub account and submitting a pull request or issues to the relevant repository on the Solid GitHub account. + +__Identify the Problem__ - The problem and the reason why the problem needs to be solved must be well understood. This includes an understanding of how solving the problem supports the Solid Roadmap. + +__Lay out Options__ - Detail reasonable paths forward, including pros and cons for each option. This is important to ensure that informed decisions are made. + +You can post the pull request or issue on the relevant channels to invite conversation. + +Anyone can suggest routes forward to the suggested changes with pros and cons of each route forward on the original pull request or issues. + +Below is a possible table format where all the final suggested routes forward, pros and cons could be included when the conversation becomes longer and more complex. + +| Route Forward | Pros to Consider | Cons to Consider | +| ------------- | ------------- | ------------- | +| (insert suggestion) | (insert suggestion) | (insert suggestion) | + +This step is to make sure that everyone has a chance to voice their thoughts on all the options and their opinions of each so that they feel that all the options are given a chance. + +If the suggestion is a change to the Solid specification you will then need to get a W3C account and join the W3C Solid Community Group to raise a conversation about your suggestion as an item on the weekly call agenda. By adding the item to the agenda all members of the W3C Solid Community Group will be automatically notified and therefore are able to comment on the pull request or issue directly. If the suggestion is a change to the Solid specification then you will need to state why this change is necessary. For example, is it to remove ambiguity or to provide a more beautiful solution to something that is already solved. + +__Invite Conversation__ - Ensure that decision makers and (in most cases) affected parties have reviewed the material and have the ability to provide their input. Oftentimes, this occurs within Github, but can extend out into group calls, group chats, community meetings, and more. + +# Decisions by the Solid Team + +Decisions on if and how a suggestion should be incorporated are made by the Solid Team. + +Decisions about Solid other than appointing individuals to roles, such as those listed below, are made in the following way. + +* Changes to the Solid specification +* Changes to the [Solid roadmap](https://github.com/solid/information/blob/master/solid-roadmap.md) +* Changes to the Solid Test Suite +* Starting or changing the aim or project manager of a [Solid Project](https://github.com/orgs/solid/projects) i.e. a GitHub project in the Solid Github account + +To use its powers, the Solid Team votes. The Solid leader can always veto the voting outcome. Every Solid Team member must either vote or explicitly abstain. Members with conflicts of interest on a particular vote must abstain. Passing requires a strict majority of non-abstaining Solid Team members. + +Whenever possible, the Solid Team's deliberations and votes shall be held in public. + +This process may take place on or across different mediums. Wherever it transpires, what is most important is that the process is inclusive for those individuals that have a part in making the decision, and transparent for those who would be impacted by the same. + +If a Solid Team speaks on behalf of the Solid Team they must reference a record of the vote that has been recognised by all Solid Team members except the Solid Leader. The Solid Leader should always be made aware of decisions and has the ability to veto a decision at any point. + +The original pull request or issue needs to be open for one week unless it's a typo correction. + +__Reach Consensus__ - Decision makers should strive to reach a simple consensus. When consensus cannot be reached, they should conduct a vote by simple majority as explained in the elaborate consultation process. + +__Document and Communicate__ - Once a decision is made, the reason why should be documented, and then included as part of a notification through established communication channels (as appropriate). + +# Solid Team Consultations of the Solid Panel +The Solid Team can consult the Solid Panel for advice. To determine the collective voice of the Solid Panel a voting process occurs in the following way. + +Anyone can trigger a Solid Panel vote by submitting a pull request to the vote record. The pull request must define the particular issue that should be considered as well as who should be able to vote i.e. if they should have a particular Solid skin in the game affiliation or area of expertise. The pull request must be left open for feedback on the exact wording and details of the issue itself as well as who should be able to vote. Feedback can also be provided on voting options (if it is multiple choice) and pros and cons to consider with each route. + +The Solid Team collects the options, pros, and cons, and then make sure that everyone on the Solid Panel receives a complete copy of all the information via the github pull request and issue. + +Once the formal vote question and who is allowed to vote is approved by all Solid Team Members expect the Solid Leader then an issue can be opened. The issue will clearly define the question and who can vote and the Solid Team is responsible for circulating the issue amongst all Solid Panellists who qualify. + +Solid Panellists are given one week to vote on the issue. + +Each individual in the Panel has one vote even if they have multiple criteria for being in the Solid Panel, so each person in the Panel has an equal voice. Each individual can vote on a first and second choice, or they can abstain. Each individual in the Panel has seven days to vote. If the individual does not vote after seven days their vote will automatically be counted as an abstaining vote. After counting the first choice votes, the votes from the bottom three options get transferred to the second choice vote to avoid strategic voting that does not reflect the true opinion of the Panel. The votes are recounted and the majority vote wins. + +The Solid Team's responsibilities are to: +* make sure everyone on the Panel is aware of the vote +* explain how they can vote +* collect the final results +* communicate the outcome + +# Solid Specification + +Solid specification 0.9 will be released on July 1st, and new versions of the Solid specification will be released every six months. For a change to the Solid specification to be merged there needs to be at least one working implementation that adheres to the changed Solid specification. From e23ccc3ef7744e8b08c371412280b49330beae43 Mon Sep 17 00:00:00 2001 From: Justin Bingham Date: Mon, 10 Jun 2019 22:18:19 -0400 Subject: [PATCH 06/23] move solid team composition and governance to solid/culture --- solid-team.md | 150 ++++++++++++++++++++------------------------------ 1 file changed, 60 insertions(+), 90 deletions(-) diff --git a/solid-team.md b/solid-team.md index a51438e..3628bc6 100644 --- a/solid-team.md +++ b/solid-team.md @@ -1,133 +1,103 @@ -# Solid Team Mandate +# Solid Team -The Solid Team are dedicated trusted stewards of Solid fulfilling defined [roles and responsibilities](solid-team.md#solid-team-roles-and-responsibilities). +The Solid Team are dedicated stewards of the Solid Project, tasked with realizing the Solid Mission by supporting the fulfillment of the Solid Roadmap. -The Solid Team has broad authority, which they seek to exercise as rarely as possible, when necessary to ensure the viability and integrity of Solid, while at the same time fostering a collaborative, transparent, and supportive environment for contribution. The Solid Leader heads the Solid Team and can veto decisions and adjust direction as they see fit. +The Solid Team fulfills [roles and responsibilities](#roles-and-responsibilities) necessary to realize the Solid mission and provide an effective means of governance. Individuals occupying these roles were appointed by and serve at the pleasure of the Solid Leader. -Solid Team members have admin rights on all Solid repositories, managed properties and assets, and communication channels. They are expected both to participate in regular community group meetings and to maintain availability for project-specific collaboration as needed. +The Solid Team has the great responsibility to exercise their authority when necessary to ensure the viability and integrity of Solid, while at the same time fostering a collaborative, transparent, and supportive environment for contribution. The Solid Leader heads the Solid Team and can veto decisions and adjust direction as they see fit. + +| Individual | Role | +| --------------------- | --------------------------------- | +| Tim Berners-Lee | [Leader](#solid-leader) | +| Mitzi László | [Manager](#solid-manager) | +| Kjetil Kjernsmo | [Team Member](#solid-team-member) | +| Ruben Verborgh | [Team Member](#solid-team-member) | +| Justin Bingham | [Team Member](#solid-team-member) | + +## Mandate The mandate of the Solid Team includes but is not limited to: -* __Solid Culture__ - Ensure that the Solid culture makes contributing as accessible, inclusive, and sustainable as possible while maintaining the quality and stability of Solid. Providing clarity and fair implementation of appropriate decision-making processes and seeking consensus among those building on Solid and using Solid before acting in a formal capacity. Acting as a court of final appeal for decisions where all other methods have failed. Coordinating the definition of the Solid values so they are accurate and inclusive. Make contributing and/or participating in the evolution of Solid as accessible, inclusive, and sustainable as possible. -* __Solid Governance__ - Implement appropriate decision-making processes, ensuring that decisions and associated processes are always aimed towards furtherance of Solid. Coordinate votes with the Solid panel by defining the question clearly and neutrally, communicating the vote to all relevant parties effectively, and collecting the opinions of all relevant parties fairly and neutrally as well as communicating the outcome of the vote. Where necessary, act as a court of final appeal for decisions where all other methods have failed. -* __Solid Communication__ - Promoting awareness of Solid and coordinating the several parties implementing the Solid specification. Providing an updated list of Solid solutions. Fostering awareness and use of Solid across geographic, economic, industrial, and academic verticals. -* __Solid Specification__ - Guiding the evolution of the Solid Specification, with an aim to encourage constructive dialogue and foster changes that result in healthy successive iterations aligned with the Solid Roadmap. Coordinating the definition of the Solid specifications including from technical, legal, and design perspectives. -* __Solid Compliance__ - Creation and curation of the [Solid Test Suite](https://github.com/solid/test-suite), which any Solid specification compliant server must pass to be considered a fully compliant implementation. Coordinating the development of a Solid Test suite to automate the checking of compliance of solutions to the Solid specifications. -* __Solid Projects__ - Providing examples of the Solid specification under open source licensing. Sanction and oversight of any repositories hosted under the [Solid GitHub organization](https://github.com/solid/), including sanctioned initiatives undertaken by Solid Panel groups and/or the Solid Team, and open source community reference implementations of the Solid Specification in different languages and technical stacks. * __Solid Roadmap__ - Curation of the Solid Roadmap comprised of a description of the Solid mission and key success factors. The Solid Team works to ensure that any and all decisions, priorities, and output are always in alignment with the Solid Roadmap. +* __Solid Specification__ - Guiding the evolution of the Solid Specification, with an aim to encourage constructive dialogue and foster changes that result in healthy successive iterations aligned with the Solid Roadmap. +* __Solid Panels__ - Sanction and subsequent oversight of new [Solid Panels](#solid-panels), as well as projects or duties associated with a Panel. Also includes voting on Panel nominees. +* __Solid Projects__ - Sanction and oversight of any repositories hosted under the [Solid GitHub organization](https://github.com/solid/), including sanctioned projects undertaken by Solid Panels and/or the Solid Team, and open source community reference implementations of the Solid Specification in different languages and technical stacks. +* __Solid Culture__ - Foster a culture that makes contributing and/or participating in the evolution of Solid as accessible, inclusive, and sustainable as possible. Providing clarity and fair implementation of appropriate decision-making processes and seeking consensus among those building on Solid and using Solid before acting in a formal capacity. Acting as a court of final appeal for decisions where all other methods have failed. Coordinating the definition of the Solid values so they are accurate and inclusive. +* __Solid Governance__ - Implement appropriate decision-making processes, ensuring that decisions and associated processes are always aimed towards furtherance of the Solid mission, and supportive of a healthy and beneficent Solid ecosystem. Where necessary, act as a court of final appeal for decisions where all other methods have failed. +* __Solid Awareness__ - Fostering awareness and use of Solid across geographic, economic, industrial, and academic verticals. +* __Solid Compliance__ - Creation and curation of the [Solid Test Suite](https://github.com/solid/test-suite), which any Solid specification compliant server must pass to be considered a fully compliant implementation. * __Solid Website__ - Curation and Management of the [Solid Website](https://www.solidproject.org). * __Solid Brand__ - Definition and evolution of the Solid Brand, including any associated brand assets. * __Solid Communication Channels__ - Sanction and oversight of official Solid project communication mediums, such as chatrooms, forums, mailing lists, and message boards. -The Solid Team has broad authority to make decisions about Solid. For example, they can: -* Formally accept or reject suggestions (usually in the form of a GitHub pull request or issue) -* Enforce or update the Solid project's code of conduct -* Manage Solid assets and infrastructure, including the Solid Github organisation and repositories, the bug tracker, mailing lists, conversation channels etc. - -However, the Solid Team cannot modify this decision-making process or affect the membership of the Solid Panel (see below for description of Solid Panel), except via the mechanisms specified in this decision-making process document. - -The Solid Team should look for ways to use these powers as little as possible. Instead of voting it's better to seek consensus. Instead of ruling on individuals it's better to define standard processes for decision making. It's better to establish a Code of Conduct committee than to rule on individual cases, etc. - -# Solid Team Roles and Responsibilities +## Roles and Responsibilities Here we identify the Solid Team roles as well any responsibilities associated with their respective roles. - [Solid Leader](#solid-leader) - [Solid Manager](#solid-manager) -- [Solid Specification Manager](#solid-team-member) -- [Solid Team Member](#solid-team-member) - [Solid Team Member](#solid-team-member) -## Solid Leader -The Solid Leader defines the governing mission and vision of Solid, along with key factors for success, which are manifested in the Solid Roadmap. The Solid Leader is the de-facto head of Solid, as well as the leading member of the Solid Team. - -If there are differences of opinion, the Solid Leader has the final say on the way forward. The Solid Leader has unique veto power and can override the decisions of the Solid Team. +### Solid Leader +The Solid Leader defines the governing mission and vision of Solid, along with key factors for success, which are manifested in the Solid Roadmap. The Solid Leader is the de-facto head of Solid, as well as the leading member of the Solid Team. -Responsibilities: -* approving governance related decisions such as descriptions of the responsibilities of the Solid team roles and processes for making decisions -* appointing individuals to the roles of the first Solid Team (further appointment is by a vote) -* reviewing decisions of the Solid Team and intervening with the decisions of the Solid Team if necessary. +If there are differences of opinion, the Solid Leader has the final say on the way forward. The Solid Leader has unique veto power, and can override the decisions of the Solid Team. -## Solid Manager -The Solid Manager implements the governing vision and mission of Solid. +The Solid Leader's responsibilities include but are not limited to: +- Approving governance related decisions, such as determining the responsibilities of the Solid Team, defining how Solid Panels are sanctioned and operated, and choosing how decisions are made. +- Approving changes to the Solid Team. +- Reviewing and potentially intervening with the decisions of the Solid Team or a Solid Panel where necessary. -Responsibilities: -* coordinating collaboration to develop Solid -* moderating Solid calls -* ensuring that Solid information up to date and well-organised -* communicating any changes clearly and publicly -* encouraging and supporting Solid Event organisers and other constructive community events and activities -* encouraging and supporting Solid Projects which involves the publication of the project name, project scope as well as allocation of the Project Manager and Project Contributors +### Solid Manager +The Solid Manager implements the governing vision and mission of Solid. Their responsibilities include but are not limited to: +* Coordinating collaboration to develop Solid +* Moderating Solid calls +* Ensuring that Solid information up to date and well-organized +* Communicating any changes clearly and publicly +* Encouraging and supporting Solid Event organizers and other constructive community events and activities +* Encouraging and supporting Solid Projects which involves the publication of the project name, project scope as well as allocation of the Project Manager and Project Contributors -## Solid Team Member One -The Solid Specifications Manager ensures the Solid spec is inclusive, up to date, and clearly communicated. +### Solid Team Member +All members of the Solid Team (including Solid Leader and Solid Manager) are tasked with advancing the Solid Mission through their work supporting the Solid Roadmap. Responsibilities for any given Solid Team member may include but are not limited to those items listed in the [Solid Team Mandate](#mandate). -Responsibilities: -* Ensuring that people working on and using Solid are aware of suggestions in time for them to give their opinion -* Incorporating suggestions into the Solid spec -* Communicating changes to the Solid specification clearly and publicly -* Maintaining the Solid specification in terms of formatting and grammar +All Solid Team members have admin rights on all Solid repositories, managed properties and assets, and communication channels. They are expected to both participate in regular community group meetings and to maintain availability for project-specific collaboration as needed. -## Solid Team Member Two -The Solid Website Manager ensures that the Solid website is up to date, accurate, and publicly available +__Kjetil Kjernsmo__ - Compliance Test Suite, Solid Specification, Research, Documentation -Responsibilities: -* Maintaining the Solid Website -* Updating the Solid Website to make sure information is relevant and up to date +__Ruben Verborgh__ - Solid Specification, Research, Documentation, Developer Experience -## Solid Team Member Three -The Solid Research Manager investigates new trends relevant to Solid and ensures that they are applied to the Solid mission where appropriate. - -Responsibilities: -* Identifying new trends pertinent to Solid -* Proposing how new techniques could be applied to Solid -* Communicating new trends to those working on and using Solid to make sure they are aware - -## Solid Team Nomination - -The Solid project was started by Tim Berners-Lee, who has served as the Solid Leader from inception. - -The Solid Leader directly appoints the first Solid Team for a five-year appointment who consist of: - -| Individual | Role | -| --------------------- | --------------------------------- | -| Tim Berners-Lee | [Leader](#solid-leader) | -| Mitzi László | [Manager](#solid-manager) | -| Ruben Verborgh | [Solid Specification Manager](#solid-specification-manager) | -| Justin Bingham | [Solid Website Manager](#solid-website-manger) | -| Kjetil Kjernsmo | [Solid Research](#solid-research-manager) | +__Justin Bingham__ - Solid Roadmap, Solid Specification, Research, Website and Forum, Developer Experience -Following Solid Teams will be selected via election. A new Solid Team is elected after five years. +## Solid Team Governance -A Solid Team election consists of two phases: -* Phase 1: Candidates advertise their interest in serving. Candidates must be nominated by a Solid team member. Self-nominations are allowed. +### Decision Making -* Phase 2: Each individual on the Solid Panel can vote for zero to five of the candidates. Voting is performed anonymously. Candidates are ranked by the total number of votes they receive. If a tie occurs, it may be resolved by mutual agreement among the candidates, or else the winner will be chosen at random. +Transparency in the decision making process is important. Decisions will be documented along with the rationale and considerations taken into account around a given decision. The Solid Team always strives to operate in a manner that aims for team consensus without the need for formalized voting. -Each phase lasts one to two weeks and should be publicly communicated. The election process is managed by the Election Manager nominated by the outgoing Solid Team. +For any substantial decisions where consensus cannot be reached, the Solid Team votes. The Solid Leader can always veto the voting outcome. Every Solid Team member must either vote or explicitly abstain. Passing requires a strict majority of non-abstaining Solid Team members. Stalemates are resolved by the Solid Leader. -The Solid Team should ideally reflect the diversity of individuals building on Solid and using Solid. The Solid Decision Panel is encouraged to vote accordingly. +The Solid Team utilizes this [Decision Making Process](decision-making.md). -## Solid Team Removal +### Vacancies -Solid Team members may resign their position at any time. +Solid Team members may resign their position at any time. They may also be removed by a majority vote of the rest of the Solid Team. The Solid Leader reserves the right to remove any Solid Team member at any time. Whenever there is a vacancy on the Solid Team, a new team member will be nominated and selected through the [Team Nomination](#team-nominations) mechanism articulated in this document. -Solid Team members may take sick leave or pregnancy leave and an election will take place to appoint an interim individual. +Solid Team members may take a leave of absence for sickness, pregnancy, or for another reason deemed legitimate by a majority of the Solid Team. In these cases an interim individual may be nominated. -If a Solid Team member not on a leave of absence drops out of touch and cannot be contacted for several weeks without notification, then the rest of the Solid Team may vote to initiate an Solid Team election as described. +If a Solid Team member not on a leave of absence drops out of touch and cannot be contacted or fails to contribute positively for a month or longer, then the rest of the Solid Team may vote to remove that team member and nominate another to replace them. -Whenever there is a vacancy during the regular Solid Team term, an election will take place as described above to appoint a replacement to serve out the rest of the term. +### Team Nominations -In exceptional circumstances, it may be necessary to remove someone from the Solid Team against their will. (For example: egregious and ongoing code of conduct violations.) This can be accomplished by a Solid Panel vote, but unlike other votes, this requires at least a two-thirds majority. +The Solid Team may decide by majority vote to expand the size of the team. It may also need to fill a vacancy on the team. In either case, this nomination process will be used to propose new team members for addition to the team. -A no-confidence vote is triggered when a Solid Panel member calls for one publically on an appropriate project communication channel, and ten other Solid Panel members second the proposal. The vote lasts for two weeks. Solid Panel members vote for or against. If at least two thirds of voters express a lack of confidence, then the vote succeeds. +Any Solid Team member may nominate someone for addition to the team. Team members are accepted only through majority vote of the current Solid Team, with explicit approval by the Solid Leader. -There are two forms of no-confidence votes: those targeting a single member, and those targeting the Solid Team as a whole. The initial call for a no-confidence vote must specify which type is intended. If a single-member vote succeeds, then that member is removed from the Solid Team and the resulting vacancy can be handled in the usual way. If a whole-Solid Team vote succeeds, the Solid Team is dissolved and a new Solid Team election is triggered immediately. +The Solid Team should reflect the diversity of individuals and organizations in the Solid Ecosystem. Candidates nominated for consideration must be able to demonstrate substantial and beneficent contribution to the Solid ecosystem. -## Conflicts of Interest +### Conflicts of Interest -Solid Team members are trusted to act in the best interests of Solid rather than themselves or their employers, the mere appearance of any one company dominating Solid development could itself be harmful and erode trust. In order to avoid any appearance of conflict of interest, at most 2 members of the Solid Team can work for any single employer. This does not apply for the first appointment of the first Solid Team because there is a single dominant employer working on Solid at the time. +Solid Team members are trusted to act in the best interests of Solid rather than themselves or their employers. Violation may result in removal from the team through a vote of no confidence. -In a Solid Team election, if 3 of the top 5 vote-getters work for the same employer, then whichever of them ranked lowest is disqualified and the 6th-ranking candidate moves up into 5th place; this is repeated until a valid Solid Team is formed. +### Vote of No Confidence -During a Solid Team term, if changing circumstances cause this rule to be broken (for instance, due to a Solid Team member changing employment), then one or more Solid Team members must resign to remedy the issue, and the resulting vacancies can then be filled as normal election. +In exceptional circumstances, it may be necessary to remove someone from the Solid Team against their will. For example, due to egregious and ongoing code of conduct violations. Removal of a Solid Team member must be supported by a majority vote of the Solid Team, with explicit approval by the Solid Leader. From f5b4698a552dc9c7b0b987538d5f7d4f532f22f0 Mon Sep 17 00:00:00 2001 From: Justin Bingham Date: Mon, 10 Jun 2019 22:22:47 -0400 Subject: [PATCH 07/23] rename to solid-panels.md --- solid-panel.md => solid-panels.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename solid-panel.md => solid-panels.md (100%) diff --git a/solid-panel.md b/solid-panels.md similarity index 100% rename from solid-panel.md rename to solid-panels.md From cd1a8224907379def0b673722bd52d9466c4e90f Mon Sep 17 00:00:00 2001 From: Justin Bingham Date: Mon, 10 Jun 2019 23:03:26 -0400 Subject: [PATCH 08/23] move solid-panels and governance to solid/culture --- solid-panels.md | 89 +++++++++++++++++++++++++++++++------------------ 1 file changed, 57 insertions(+), 32 deletions(-) diff --git a/solid-panels.md b/solid-panels.md index 7f380eb..7a31013 100644 --- a/solid-panels.md +++ b/solid-panels.md @@ -1,48 +1,73 @@ -# Solid Panel Mandate +# Solid Panels -The Solid Panel (also referred to as Solid community) are individuals and groups who are using or working on implementing Solid who may be occasionally consulted for their opinion on a specific project by the Solid Team. +Solid Panels are individual groups focused on a specific technical or non-technical domain that are sanctioned by the Solid Team. For example, a Security Panel could be tasked with evaluation and advancement of the Solid security model. A Specification Panel could be tasked with evolution of the Solid Specification. Proposed, Active, and Archived Solid Panels are listed below. -## Solid Panel Nomination +### Active Solid Panels -The criteria to apply to be on the Solid Panel include: -* Solid Team Member -* former [MIT Solid Project Team Member](https://solid.mit.edu) -* Active Identity provider -* Active Pod provider -* Active Solid app providers -* Active Solid Users who show a minimum engagement of having a WebID, Pod, and use at least one Solid app regularly and actively -* Experts in a field relevant to Solid +No Solid Panels have been activated yet. -As soon as there is a Solid Test Suite it will be a requirement for identity providers, Pod providers, and Solid app providers to pass the Solid test to be able to participate in the Solid Panel. +### Proposed Solid Panels -Applicants need to get a GitHub account to apply to join the Solid Panel. To apply the applicant must submit a pull request to the Solid Panel listing and add their name, contact details, and how they fulfil the criteria. If all Solid Team members except the Solid Leader review the pull request positively then the applicant becomes a formal Solid Panellist. If a Solid Team member abstains from approving or expresses some hesitation, then the applicant must be approved by the Solid Leader to formally become a Solid Panellist. +The following Solid Panels have been proposed and are currently pending a majority vote by the Solid Team. The proposed names, initial projects, and mandates may be subject to change prior to voting. -## Solid Panel Removal +#### Solid Specification Panel -Solid Panellists may resign their position at any time. +The purpose of the Specification Panel is to ensure that the Solid Specification is complete, robust, and evolves in alignment with the Solid Roadmap, and to provide advice and guidance to those looking to create specification compliant implementations. The first proposed project, to be started immediately, is for this panel to commence with the creation of the v1.0 Solid Specification. -If a Solid Panellist drops out of touch and cannot be contacted for several weeks without notification, then they may be removed from the Solid Panel. +#### Security Panel -In exceptional circumstances, it may be necessary to remove someone from the Solid Panel against their will. (For example: egregious and ongoing code of conduct violations.) This can be accomplished by a pull request reviewed by all Solid Team members except the Solid Leader. If a Solid Team member abstains from approving or expresses some hesitation, then the removal of the Solid applicant must be reviewed by the Solid Leader to be formally removed. +The purpose of the Security Panel is to ensure that the Solid security model is well-documented, comprehensive, and constantly evolving, as well as to provide security-related advice and guidance to other panels, and to the Solid Team. The first proposed initiative, to be started immediately, is for this panel to commence with the creation of an in-depth documentation of the Solid security model. -## Conflicts of Interest +#### Interoperability Panel -Solid Team members are trusted to act in the best interests of Solid rather than themselves or their employers, the mere appearance of any one company dominating Solid development could itself be harmful and erode trust. In order to avoid any appearance of conflict of interest, at most 30% of the Solid Panel can work for any single employer. Solid Panellist applicants who apply when there is already 30% of the Solid Panel working for their employee will be put on hold until there are more applications from other employers or there are Solid Panellist resignations. +Interoperability of data across applications is crucial to the core value proposition of Solid. The purpose of the Interoperability Panel is to ensure that Solid is always capable of delivering robust interoperability, and that tooling and resources are available to foster the same. The first proposed initiative, to be started immediately, is for the panel to commence with a proposal for data discovery by client applications in a Solid Pod. -## Solid Panellist Descriptions +### Archived Solid Panels -Each Solid Panellists has a description of 1) how much skin in the game they have in relation to Solid 2) what their areas of expertise are. +No Solid Panels have been closed and subsequently archived yet. -Solid Skin in the game is classified as: -• Active Identity provider -• Active Pod provider -• Active Solid app providers -• Active Solid Users who show a minimum engagement of having a WebID, Pod, and use at least one Solid app regularly and actively +## Solid Panel Governance -Areas of expertise include but are not limited to: -• Historical Solid Development: Those who were actively involved in the Solid MIT academic project or heavily affiliated during the early development of Solid -• Security -• Interoperability -• Data Ethics +A new Panel is sanctioned by a majority vote of the Solid Team. Requests for the formation of a new Panel may be submitted to any member of the Solid Team. To be considered, a Panel must be able to demonstrate a clear and substantial benefit to the Solid Mission, and must maintain that trajectory to remain active. Benefit and trajectory are measured by the Solid Team. Not all Panels will be expected to persist indefinitely. -For each area of expertise associated to a Solid Panellist the academic or experience training to qualify that individual with that expertise must be stated. +All Solid Panel members need to demonstrate a firm grasp of the philosophy of the Solid Project and the Solid Roadmap. They must demonstrate a track record of being constructive and collaborative, and a willingness to dedicate time to advance the Solid Mission through their work on the Panel. + +The Solid Team may consult one or more Panels for advice on occasion when an internal Solid Team vote is not sufficient. Sufficiency is judged by the Solid Team. The Solid Team can request a vote on issues that they feel are important to open up to one or more Solid panels. + +### Panel Mandate + +Every Solid Panel is expected to actively contribute to the evolution of Solid in a way that supports the Solid Roadmap and the healthy growth of the Solid Ecosystem. Panel members are expected to act as custodians of Solid, within and outside of the community. + +Every Panel will have a stated purpose that can be mapped directly to the Solid Roadmap, and the Solid Team may task that Panel with specific initiatives to be completed as part of the fulfillment of its mandate. For example, the Specification Panel could be tasked with an initiative to complete the next major version of the Solid Specification. + +### Decision Making + +Solid Panels are expected to use this [Decision Making Process](decision-making.md), to be transparent in work being conducted under their mandate, and to provide regular status updates through established channels. + +Solid Panels should always strive to operate in a manner that aims for consensus without the need for formalized voting. When voting is necessary, stalemates are resolved by a majority vote of the Solid Team. The Solid Team reserves the right to raise any decisions made or in-process within a Panel to a vote by the Solid Team. + +### Panel Nominations + +An individual can be nominated to a Panel by: +- A Solid Team Member +- A member of the Panel in question +- A member of another Panel +- Self-nomination + +An individual's experience and skillset must clearly align with the Panel they are nominated to. Positive contribution to existing Solid project initiatives is weighed heavily in their favor, but not required. + +Panel members must be approved by a majority vote of the Panel (if already established), and a majority vote of the Solid Team. An individual may belong to more than one Panel. A Solid Team member may participate as a member of a Panel. + +### Vacancies + +A Solid Panel member may resign their position at any time. Whenever there is a vacancy in a Solid Panel, a new Panel member may be nominated and selected through the [Panel Nomination](#panel-nominations) mechanism detailed in this document. + +### Conflicts of Interest + +Solid Panel members are trusted to act in the best interests of Solid rather than themselves or their employers. Violation may result in removal from the panel through a vote of no confidence. + +### Vote of No Confidence + +In exceptional circumstances, a Panel may need to be dissolved by a majority vote of the Solid Team. + +It may also be necessary to remove someone from a Solid Panel against their will. For example, due to egregious and ongoing code of conduct violations. Removal of a Solid Panel member must be supported by a majority vote of the Solid Panel in question. The Solid Team also reserves the right to remove a Panel member, or to veto the removal of a Panel member, through a majority vote of the Solid Team. From 3bb4eb5b06c9b8ac438046a272ccf980d9708441 Mon Sep 17 00:00:00 2001 From: Justin Bingham Date: Mon, 10 Jun 2019 23:06:26 -0400 Subject: [PATCH 09/23] change panel initiative to panel project --- solid-panels.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/solid-panels.md b/solid-panels.md index 7a31013..ec7056a 100644 --- a/solid-panels.md +++ b/solid-panels.md @@ -16,11 +16,11 @@ The purpose of the Specification Panel is to ensure that the Solid Specification #### Security Panel -The purpose of the Security Panel is to ensure that the Solid security model is well-documented, comprehensive, and constantly evolving, as well as to provide security-related advice and guidance to other panels, and to the Solid Team. The first proposed initiative, to be started immediately, is for this panel to commence with the creation of an in-depth documentation of the Solid security model. +The purpose of the Security Panel is to ensure that the Solid security model is well-documented, comprehensive, and constantly evolving, as well as to provide security-related advice and guidance to other panels, and to the Solid Team. The first proposed project, to be started immediately, is for this panel to commence with the creation of an in-depth documentation of the Solid security model. #### Interoperability Panel -Interoperability of data across applications is crucial to the core value proposition of Solid. The purpose of the Interoperability Panel is to ensure that Solid is always capable of delivering robust interoperability, and that tooling and resources are available to foster the same. The first proposed initiative, to be started immediately, is for the panel to commence with a proposal for data discovery by client applications in a Solid Pod. +Interoperability of data across applications is crucial to the core value proposition of Solid. The purpose of the Interoperability Panel is to ensure that Solid is always capable of delivering robust interoperability, and that tooling and resources are available to foster the same. The first proposed project, to be started immediately, is for the panel to commence with a proposal for data discovery by client applications in a Solid Pod. ### Archived Solid Panels @@ -38,7 +38,7 @@ The Solid Team may consult one or more Panels for advice on occasion when an int Every Solid Panel is expected to actively contribute to the evolution of Solid in a way that supports the Solid Roadmap and the healthy growth of the Solid Ecosystem. Panel members are expected to act as custodians of Solid, within and outside of the community. -Every Panel will have a stated purpose that can be mapped directly to the Solid Roadmap, and the Solid Team may task that Panel with specific initiatives to be completed as part of the fulfillment of its mandate. For example, the Specification Panel could be tasked with an initiative to complete the next major version of the Solid Specification. +Every Panel will have a stated purpose that can be mapped directly to the Solid Roadmap, and the Solid Team may task that Panel with specific projects to be completed as part of the fulfillment of its mandate. For example, the Specification Panel could be tasked with an project to complete the next major version of the Solid Specification. ### Decision Making @@ -54,7 +54,7 @@ An individual can be nominated to a Panel by: - A member of another Panel - Self-nomination -An individual's experience and skillset must clearly align with the Panel they are nominated to. Positive contribution to existing Solid project initiatives is weighed heavily in their favor, but not required. +An individual's experience and skillset must clearly align with the Panel they are nominated to. Positive contribution to existing Solid project work is weighed heavily in their favor, but not required. Panel members must be approved by a majority vote of the Panel (if already established), and a majority vote of the Solid Team. An individual may belong to more than one Panel. A Solid Team member may participate as a member of a Panel. From 78d0e059c420f6667ce3f724d21b5e069568b4d7 Mon Sep 17 00:00:00 2001 From: Justin Bingham Date: Mon, 10 Jun 2019 23:17:20 -0400 Subject: [PATCH 10/23] add panel nominee requirements --- solid-panels.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/solid-panels.md b/solid-panels.md index ec7056a..ef0926e 100644 --- a/solid-panels.md +++ b/solid-panels.md @@ -14,14 +14,20 @@ The following Solid Panels have been proposed and are currently pending a majori The purpose of the Specification Panel is to ensure that the Solid Specification is complete, robust, and evolves in alignment with the Solid Roadmap, and to provide advice and guidance to those looking to create specification compliant implementations. The first proposed project, to be started immediately, is for this panel to commence with the creation of the v1.0 Solid Specification. +Nominees for this panel are required to have extensive background and experience in creating, curating, and applying the existing Solid Specification, and/or one or more of the standards that the existing Solid Specification incorporates. + #### Security Panel The purpose of the Security Panel is to ensure that the Solid security model is well-documented, comprehensive, and constantly evolving, as well as to provide security-related advice and guidance to other panels, and to the Solid Team. The first proposed project, to be started immediately, is for this panel to commence with the creation of an in-depth documentation of the Solid security model. +Nominees for this panel are required to have demonstrable background in some combination of application security (server-side or client side), network security, system/device security, and/or data privacy. They must also have a working knowledge of Solid and a clear understanding of its patterns of use. + #### Interoperability Panel Interoperability of data across applications is crucial to the core value proposition of Solid. The purpose of the Interoperability Panel is to ensure that Solid is always capable of delivering robust interoperability, and that tooling and resources are available to foster the same. The first proposed project, to be started immediately, is for the panel to commence with a proposal for data discovery by client applications in a Solid Pod. +Nominees for this panel must have extensive background in Solid patterns of use, and experience developing applications with linked data models. They should also have working knowledge of data shapes (via ShEx and/or SHACL). + ### Archived Solid Panels No Solid Panels have been closed and subsequently archived yet. From 24335b83efa33dd6296fc576fb3325ae28e481e3 Mon Sep 17 00:00:00 2001 From: Justin Bingham Date: Mon, 10 Jun 2019 23:55:55 -0400 Subject: [PATCH 11/23] simplify decision making steps --- decision-making.md | 63 +++++++++------------------------------------- 1 file changed, 12 insertions(+), 51 deletions(-) diff --git a/decision-making.md b/decision-making.md index c3aa9a6..c7ed574 100644 --- a/decision-making.md +++ b/decision-making.md @@ -1,38 +1,26 @@ +# Decision Making Process -# Making Suggestions to Solid +We employ a framework for making decisions on the Solid Team and across Solid Panels. As a general rule, this framework should be applied to any substantial choices at a Team or Panel level to ensure informed and thoughtful decisions. -Anyone can suggest a change by getting a GitHub account and submitting a pull request or issues to the relevant repository on the Solid GitHub account. - -__Identify the Problem__ - The problem and the reason why the problem needs to be solved must be well understood. This includes an understanding of how solving the problem supports the Solid Roadmap. - -__Lay out Options__ - Detail reasonable paths forward, including pros and cons for each option. This is important to ensure that informed decisions are made. - -You can post the pull request or issue on the relevant channels to invite conversation. - -Anyone can suggest routes forward to the suggested changes with pros and cons of each route forward on the original pull request or issues. +This process may take place on or across different mediums. Wherever it transpires, what is most important is that the process is inclusive for those individuals that have a part in making the decision, and transparent for those who would be impacted by the same. -Below is a possible table format where all the final suggested routes forward, pros and cons could be included when the conversation becomes longer and more complex. +1. __Identify the Problem__ - The problem and the reason why the problem needs to be solved must be well understood. This includes an understanding of how solving the problem supports the Solid Roadmap. -| Route Forward | Pros to Consider | Cons to Consider | -| ------------- | ------------- | ------------- | -| (insert suggestion) | (insert suggestion) | (insert suggestion) | +2. __Lay out Options__ - Detail reasonable paths forward, including pros and cons for each option. This is important to ensure that informed decisions are made. -This step is to make sure that everyone has a chance to voice their thoughts on all the options and their opinions of each so that they feel that all the options are given a chance. +3. __Invite Conversation__ - Ensure that decision makers and (in most cases) affected parties have reviewed the material and have the ability to provide their input. Oftentimes, this occurs within Github, but can extend out into group calls, group chats, community meetings, and more. -If the suggestion is a change to the Solid specification you will then need to get a W3C account and join the W3C Solid Community Group to raise a conversation about your suggestion as an item on the weekly call agenda. By adding the item to the agenda all members of the W3C Solid Community Group will be automatically notified and therefore are able to comment on the pull request or issue directly. If the suggestion is a change to the Solid specification then you will need to state why this change is necessary. For example, is it to remove ambiguity or to provide a more beautiful solution to something that is already solved. + *If you'd like to add this to the agenda of an upcoming community group meeting, you will need to get a W3C account and join the W3C Solid Community Group, then request that it be added to the weekly call agenda. By adding the item to the agenda all members of the W3C Solid Community Group will be automatically notified, and therefore are able to review and/or comment ahead of the call.* -__Invite Conversation__ - Ensure that decision makers and (in most cases) affected parties have reviewed the material and have the ability to provide their input. Oftentimes, this occurs within Github, but can extend out into group calls, group chats, community meetings, and more. +4. __Reach Consensus or Vote__ - Decision makers should strive to reach a simple consensus. When consensus cannot be reached, they should conduct a vote by simple majority. -# Decisions by the Solid Team +5. __Document and Communicate__ - Once a decision is made, the reason why should be documented, and then included as part of a notification through established communication channels (as appropriate). -Decisions on if and how a suggestion should be incorporated are made by the Solid Team. +-- -Decisions about Solid other than appointing individuals to roles, such as those listed below, are made in the following way. +# Decisions by the Solid Team -* Changes to the Solid specification -* Changes to the [Solid roadmap](https://github.com/solid/information/blob/master/solid-roadmap.md) -* Changes to the Solid Test Suite -* Starting or changing the aim or project manager of a [Solid Project](https://github.com/orgs/solid/projects) i.e. a GitHub project in the Solid Github account +Decisions on if and how a suggestion should be incorporated are made by the Solid Team. To use its powers, the Solid Team votes. The Solid leader can always veto the voting outcome. Every Solid Team member must either vote or explicitly abstain. Members with conflicts of interest on a particular vote must abstain. Passing requires a strict majority of non-abstaining Solid Team members. @@ -43,30 +31,3 @@ This process may take place on or across different mediums. Wherever it transpir If a Solid Team speaks on behalf of the Solid Team they must reference a record of the vote that has been recognised by all Solid Team members except the Solid Leader. The Solid Leader should always be made aware of decisions and has the ability to veto a decision at any point. The original pull request or issue needs to be open for one week unless it's a typo correction. - -__Reach Consensus__ - Decision makers should strive to reach a simple consensus. When consensus cannot be reached, they should conduct a vote by simple majority as explained in the elaborate consultation process. - -__Document and Communicate__ - Once a decision is made, the reason why should be documented, and then included as part of a notification through established communication channels (as appropriate). - -# Solid Team Consultations of the Solid Panel -The Solid Team can consult the Solid Panel for advice. To determine the collective voice of the Solid Panel a voting process occurs in the following way. - -Anyone can trigger a Solid Panel vote by submitting a pull request to the vote record. The pull request must define the particular issue that should be considered as well as who should be able to vote i.e. if they should have a particular Solid skin in the game affiliation or area of expertise. The pull request must be left open for feedback on the exact wording and details of the issue itself as well as who should be able to vote. Feedback can also be provided on voting options (if it is multiple choice) and pros and cons to consider with each route. - -The Solid Team collects the options, pros, and cons, and then make sure that everyone on the Solid Panel receives a complete copy of all the information via the github pull request and issue. - -Once the formal vote question and who is allowed to vote is approved by all Solid Team Members expect the Solid Leader then an issue can be opened. The issue will clearly define the question and who can vote and the Solid Team is responsible for circulating the issue amongst all Solid Panellists who qualify. - -Solid Panellists are given one week to vote on the issue. - -Each individual in the Panel has one vote even if they have multiple criteria for being in the Solid Panel, so each person in the Panel has an equal voice. Each individual can vote on a first and second choice, or they can abstain. Each individual in the Panel has seven days to vote. If the individual does not vote after seven days their vote will automatically be counted as an abstaining vote. After counting the first choice votes, the votes from the bottom three options get transferred to the second choice vote to avoid strategic voting that does not reflect the true opinion of the Panel. The votes are recounted and the majority vote wins. - -The Solid Team's responsibilities are to: -* make sure everyone on the Panel is aware of the vote -* explain how they can vote -* collect the final results -* communicate the outcome - -# Solid Specification - -Solid specification 0.9 will be released on July 1st, and new versions of the Solid specification will be released every six months. For a change to the Solid specification to be merged there needs to be at least one working implementation that adheres to the changed Solid specification. From 33e48bd1823e154db237376190801b0ad35ad0a3 Mon Sep 17 00:00:00 2001 From: Justin Bingham Date: Tue, 11 Jun 2019 00:10:54 -0400 Subject: [PATCH 12/23] keep solid team decision making in solid-team.md --- decision-making.md | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/decision-making.md b/decision-making.md index c7ed574..38b63f9 100644 --- a/decision-making.md +++ b/decision-making.md @@ -15,19 +15,3 @@ This process may take place on or across different mediums. Wherever it transpir 4. __Reach Consensus or Vote__ - Decision makers should strive to reach a simple consensus. When consensus cannot be reached, they should conduct a vote by simple majority. 5. __Document and Communicate__ - Once a decision is made, the reason why should be documented, and then included as part of a notification through established communication channels (as appropriate). - --- - -# Decisions by the Solid Team - -Decisions on if and how a suggestion should be incorporated are made by the Solid Team. - -To use its powers, the Solid Team votes. The Solid leader can always veto the voting outcome. Every Solid Team member must either vote or explicitly abstain. Members with conflicts of interest on a particular vote must abstain. Passing requires a strict majority of non-abstaining Solid Team members. - -Whenever possible, the Solid Team's deliberations and votes shall be held in public. - -This process may take place on or across different mediums. Wherever it transpires, what is most important is that the process is inclusive for those individuals that have a part in making the decision, and transparent for those who would be impacted by the same. - -If a Solid Team speaks on behalf of the Solid Team they must reference a record of the vote that has been recognised by all Solid Team members except the Solid Leader. The Solid Leader should always be made aware of decisions and has the ability to veto a decision at any point. - -The original pull request or issue needs to be open for one week unless it's a typo correction. From bb95207aa7a70ca66a06b7702749219c34f130f8 Mon Sep 17 00:00:00 2001 From: Justin Bingham Date: Tue, 11 Jun 2019 17:05:50 -0400 Subject: [PATCH 13/23] add community panel --- solid-panels.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/solid-panels.md b/solid-panels.md index ef0926e..6407ee3 100644 --- a/solid-panels.md +++ b/solid-panels.md @@ -28,6 +28,19 @@ Interoperability of data across applications is crucial to the core value propos Nominees for this panel must have extensive background in Solid patterns of use, and experience developing applications with linked data models. They should also have working knowledge of data shapes (via ShEx and/or SHACL). +#### Community Panel + +The purpose of the Community Panel is to establish a diverse group of individuals representative of the different stakeholder groups in the Solid Community, from developers and pod providers to users and experts in the field. The Community Panel becomes a vehicle for consultation by the Solid Team or other Solid Panels when community perspective is needed as part of decision making. + +Nominees for this panel must be at least one of the following: +- Solid Team Member +- former MIT Solid Project Team Member +- Active Identity Provider +- Active Pod Provider +- Active Solid Application Developer +- Active Solid User - who show a minimum engagement of having a WebID, Pod, and use at least one Solid app +- Experts in a field relevant to Solid + ### Archived Solid Panels No Solid Panels have been closed and subsequently archived yet. From a569f88be27b3bf8c3441edb038a2fee57712043 Mon Sep 17 00:00:00 2001 From: Justin Bingham Date: Tue, 11 Jun 2019 22:35:57 -0400 Subject: [PATCH 14/23] add rationale for a solid team --- solid-team.md | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/solid-team.md b/solid-team.md index 3628bc6..0659c4b 100644 --- a/solid-team.md +++ b/solid-team.md @@ -1,11 +1,13 @@ # Solid Team -The Solid Team are dedicated stewards of the Solid Project, tasked with realizing the Solid Mission by supporting the fulfillment of the Solid Roadmap. +The Solid Team are dedicated stewards of the Solid Project, tasked with realizing the Solid Mission by supporting the realization of the Solid Roadmap. The Solid Team fulfills [roles and responsibilities](#roles-and-responsibilities) necessary to realize the Solid mission and provide an effective means of governance. Individuals occupying these roles were appointed by and serve at the pleasure of the Solid Leader. The Solid Team has the great responsibility to exercise their authority when necessary to ensure the viability and integrity of Solid, while at the same time fostering a collaborative, transparent, and supportive environment for contribution. The Solid Leader heads the Solid Team and can veto decisions and adjust direction as they see fit. +## Team Members + | Individual | Role | | --------------------- | --------------------------------- | | Tim Berners-Lee | [Leader](#solid-leader) | @@ -30,6 +32,22 @@ The mandate of the Solid Team includes but is not limited to: * __Solid Brand__ - Definition and evolution of the Solid Brand, including any associated brand assets. * __Solid Communication Channels__ - Sanction and oversight of official Solid project communication mediums, such as chatrooms, forums, mailing lists, and message boards. +## Rationale + +*Why is a Solid Team necessary?* + +Solid is a relatively young project with a ton of promise. It has garnered incredible interest and support, from many in academia to some of the largest organizations in the world. However, this adoption will not continue if Solid doesn't consistently live up to its potential by advancing its mission. This requires consistent care and feeding every day, driven by an ability to make key decisions that squarely align with the Solid Roadmap. + +Consequently, it is imperative that a small, dedicated group be in a position to organize and focus the efforts of those willing and qualified to contribute. They must do so in a manner that moves us forward at a nimble pace. They must make decisions based on their complete understanding and commitment to the furtherance of the Solid Roadmap. + +Organized contribution is orchestrated through sanctioned [Solid Panels](solid-panels.md) in the form of projects. More spurious contribution is also expected and always encouraged. The Solid Team acts in a supervisory role to ensure this work is constructive, and on a trajectory that supports and advances the Solid Roadmap. This guidance, which may sometimes involve decisions, is essential to ensure that work is active, relevant, and consistent with the Solid Mission. + +Any time a decision is made, there are some that will not agree. This is the nature of a having a diverse community of people with strong beliefs. It is a good problem to have. That said, arbiters must be there to make informed decisions on behalf of Solid, using information collected from both domain experts, and the community at large. Otherwise, issues would turn into long running arguments that stagnate. Everyone that believes in Solid loses when Solid can't move forward. + +This is not a guarantee that all decisions will be correct. It is in fact an acknowledgement that some will not. Still, it is better to make advances and learn from the setbacks, than to remain frozen and never move forward at all. The former is healthy, the latter is not. + +In short, the Solid Team exists to guide and channel the collective energies of a diverse community of individuals and organizations to realize the Solid Roadmap. + ## Roles and Responsibilities Here we identify the Solid Team roles as well any responsibilities associated with their respective roles. From 4b6b58a6ec1c10b3d9adf89a316265c40bbecc78 Mon Sep 17 00:00:00 2001 From: Justin Bingham Date: Tue, 11 Jun 2019 22:36:19 -0400 Subject: [PATCH 15/23] add rationale for solid panels --- solid-panels.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/solid-panels.md b/solid-panels.md index 6407ee3..73c090b 100644 --- a/solid-panels.md +++ b/solid-panels.md @@ -39,12 +39,24 @@ Nominees for this panel must be at least one of the following: - Active Pod Provider - Active Solid Application Developer - Active Solid User - who show a minimum engagement of having a WebID, Pod, and use at least one Solid app -- Experts in a field relevant to Solid +- Experts in a field relevant to Solid ### Archived Solid Panels No Solid Panels have been closed and subsequently archived yet. +## Rationale + +*Why do we need Solid Panels?* + +It is our collective responsibility to evolve Solid into a mature, world class set of standards and technologies that are stable, versatile, and reliable. Solid must work perfectly whether it's powering one personal pod, or driving an ecosystem with millions of pods and thousands of applications. + +To realize this we need in-depth focus, research, and collaboration in very specific subject domains. This requires us to join together subject matter experts who can bring an equally deep level of expertise to the table in those specific areas. There is no single person that can cover the diversity of technologies and subject areas related to Solid. Furthermore, no single expert in one domain can cover all perspectives. Solid Panels are our answer to this. + +The role of the Solid Team is to ensure that we're organizing the right people around the right problems, at the right time. Following that, to make sure that they are working together constructively, actively, and in a way that supports the Solid Roadmap. In cases where progress is stalled, impasses reached, or where decisions are made that could have adverse impact on the advancement of the Solid Roadmap, the Solid Team may need to intervene to keep things on track. + +Ultimately, Solid Panels are where the organized work gets done, and are instrumental in advancing the Solid Roadmap. + ## Solid Panel Governance A new Panel is sanctioned by a majority vote of the Solid Team. Requests for the formation of a new Panel may be submitted to any member of the Solid Team. To be considered, a Panel must be able to demonstrate a clear and substantial benefit to the Solid Mission, and must maintain that trajectory to remain active. Benefit and trajectory are measured by the Solid Team. Not all Panels will be expected to persist indefinitely. From 2e5be5417896c8ce2250584a146ae44ffae8f8fc Mon Sep 17 00:00:00 2001 From: Justin Bingham Date: Tue, 11 Jun 2019 22:45:41 -0400 Subject: [PATCH 16/23] clarify solid team role --- solid-panels.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solid-panels.md b/solid-panels.md index 73c090b..ff06467 100644 --- a/solid-panels.md +++ b/solid-panels.md @@ -53,7 +53,7 @@ It is our collective responsibility to evolve Solid into a mature, world class s To realize this we need in-depth focus, research, and collaboration in very specific subject domains. This requires us to join together subject matter experts who can bring an equally deep level of expertise to the table in those specific areas. There is no single person that can cover the diversity of technologies and subject areas related to Solid. Furthermore, no single expert in one domain can cover all perspectives. Solid Panels are our answer to this. -The role of the Solid Team is to ensure that we're organizing the right people around the right problems, at the right time. Following that, to make sure that they are working together constructively, actively, and in a way that supports the Solid Roadmap. In cases where progress is stalled, impasses reached, or where decisions are made that could have adverse impact on the advancement of the Solid Roadmap, the Solid Team may need to intervene to keep things on track. +The Solid Team's role in all of this is to ensure that we're organizing the right people around the right problems, at the right time. Following that, to make sure that they are working together constructively, actively, and in a way that supports the Solid Roadmap. In cases where progress is stalled, impasses reached, or where decisions are made that could have adverse impact on the advancement of the Solid Roadmap, the Solid Team may need to intervene to keep things on track. Ultimately, Solid Panels are where the organized work gets done, and are instrumental in advancing the Solid Roadmap. From 658b65abffe6da859a12e93f36d03814ab9f6344 Mon Sep 17 00:00:00 2001 From: Justin Bingham Date: Tue, 11 Jun 2019 23:20:50 -0400 Subject: [PATCH 17/23] update rationale with projects --- solid-panels.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/solid-panels.md b/solid-panels.md index ff06467..b7d4006 100644 --- a/solid-panels.md +++ b/solid-panels.md @@ -53,6 +53,8 @@ It is our collective responsibility to evolve Solid into a mature, world class s To realize this we need in-depth focus, research, and collaboration in very specific subject domains. This requires us to join together subject matter experts who can bring an equally deep level of expertise to the table in those specific areas. There is no single person that can cover the diversity of technologies and subject areas related to Solid. Furthermore, no single expert in one domain can cover all perspectives. Solid Panels are our answer to this. +Furthermore, we need a way to take this combined expertise in a given subject area, and mobilize it. We use projects to focus the members of a given panel on deliverables that move the needle for Solid. + The Solid Team's role in all of this is to ensure that we're organizing the right people around the right problems, at the right time. Following that, to make sure that they are working together constructively, actively, and in a way that supports the Solid Roadmap. In cases where progress is stalled, impasses reached, or where decisions are made that could have adverse impact on the advancement of the Solid Roadmap, the Solid Team may need to intervene to keep things on track. Ultimately, Solid Panels are where the organized work gets done, and are instrumental in advancing the Solid Roadmap. From c4eb3f259647d545aae63e261f40092eea41403e Mon Sep 17 00:00:00 2001 From: Justin Bingham Date: Wed, 12 Jun 2019 00:03:42 -0400 Subject: [PATCH 18/23] relative links and solid panels --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b05e602..c328d49 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -This document defines the culture of how decisions are made about Solid, and [records how this has changed over time](https://github.com/solid/culture/blob/master/history.md). +This document defines the culture of how decisions are made about Solid, and [records how this has changed over time](https://github.com/solid/culture/blob/master/history.md). -Currently, [Solid decision making](https://github.com/solid/culture/blob/master/decision-making.md) is based around the [Solid Team](https://github.com/solid/culture/blob/master/solid-team.md) who may also consult the [Solid Panel](https://github.com/solid/culture/blob/master/history.md) (also referred to as Solid Community) for direction via a vote on occasion. +Currently, [Solid decision making](decision-making.md) is based around the [Solid Team](solid-team.md) who may also consult one or more [Solid Panels](solid-panels.md) for direction on occasion. Solid decision making should be written collaboratively in public over several weeks on the Solid GitHub account and communicated clearly at the weekly W3C Solid Community Group meetings before being presented to the Solid Leader for final approval. The Solid Leader needs to approve any decision-making processes via completing the final merge for it to be legitimate. From e6183810b8a26b6465fcea6c05bd228dd2034bd2 Mon Sep 17 00:00:00 2001 From: Justin Bingham Date: Wed, 12 Jun 2019 19:00:57 -0400 Subject: [PATCH 19/23] update rubens responsibilities --- solid-team.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solid-team.md b/solid-team.md index 0659c4b..fa10790 100644 --- a/solid-team.md +++ b/solid-team.md @@ -82,7 +82,7 @@ All Solid Team members have admin rights on all Solid repositories, managed prop __Kjetil Kjernsmo__ - Compliance Test Suite, Solid Specification, Research, Documentation -__Ruben Verborgh__ - Solid Specification, Research, Documentation, Developer Experience +__Ruben Verborgh__ - Solid Specification, Solid Roadmap, Research, Documentation, Developer Experience __Justin Bingham__ - Solid Roadmap, Solid Specification, Research, Website and Forum, Developer Experience From 33f6cfa3b3022d18a86a45246beaf4b333caa8fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mitzi=20L=C3=A1szl=C3=B3?= Date: Sun, 16 Jun 2019 09:19:53 +0200 Subject: [PATCH 20/23] Update solid-team.md --- solid-team.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solid-team.md b/solid-team.md index fa10790..54a920b 100644 --- a/solid-team.md +++ b/solid-team.md @@ -36,7 +36,7 @@ The mandate of the Solid Team includes but is not limited to: *Why is a Solid Team necessary?* -Solid is a relatively young project with a ton of promise. It has garnered incredible interest and support, from many in academia to some of the largest organizations in the world. However, this adoption will not continue if Solid doesn't consistently live up to its potential by advancing its mission. This requires consistent care and feeding every day, driven by an ability to make key decisions that squarely align with the Solid Roadmap. +Solid is a relatively young project with a tonne of promise. It has garnered incredible interest and support, from many in academia to some of the largest organizations in the world. However, this adoption will not continue if Solid doesn't consistently live up to its potential by advancing its mission. This requires consistent care and feeding every day, driven by an ability to make key decisions that squarely align with the Solid Roadmap. Consequently, it is imperative that a small, dedicated group be in a position to organize and focus the efforts of those willing and qualified to contribute. They must do so in a manner that moves us forward at a nimble pace. They must make decisions based on their complete understanding and commitment to the furtherance of the Solid Roadmap. From 5128844c1a6364af416950bdc6224bcbdacffca8 Mon Sep 17 00:00:00 2001 From: Justin Bingham Date: Sun, 23 Jun 2019 23:28:12 -0400 Subject: [PATCH 21/23] incorporate feedback from @ericprud --- solid-team.md | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/solid-team.md b/solid-team.md index fa10790..8ab4083 100644 --- a/solid-team.md +++ b/solid-team.md @@ -2,9 +2,9 @@ The Solid Team are dedicated stewards of the Solid Project, tasked with realizing the Solid Mission by supporting the realization of the Solid Roadmap. -The Solid Team fulfills [roles and responsibilities](#roles-and-responsibilities) necessary to realize the Solid mission and provide an effective means of governance. Individuals occupying these roles were appointed by and serve at the pleasure of the Solid Leader. +The Solid Team fulfills [roles and responsibilities](#roles-and-responsibilities) necessary to realize the Solid mission and provide an effective means of governance. Individuals occupying these roles were appointed by and follow the direction of the Solid Leader, Tim Berners-Lee. -The Solid Team has the great responsibility to exercise their authority when necessary to ensure the viability and integrity of Solid, while at the same time fostering a collaborative, transparent, and supportive environment for contribution. The Solid Leader heads the Solid Team and can veto decisions and adjust direction as they see fit. +The Solid Team has the great responsibility to exercise their authority when necessary to ensure the viability and integrity of Solid, while at the same time fostering a collaborative, transparent, and supportive environment for contribution. As the Solid Leader, Tim Berners-Lee heads the Solid Team and can veto decisions and adjust direction as he sees fit. ## Team Members @@ -29,22 +29,21 @@ The mandate of the Solid Team includes but is not limited to: * __Solid Awareness__ - Fostering awareness and use of Solid across geographic, economic, industrial, and academic verticals. * __Solid Compliance__ - Creation and curation of the [Solid Test Suite](https://github.com/solid/test-suite), which any Solid specification compliant server must pass to be considered a fully compliant implementation. * __Solid Website__ - Curation and Management of the [Solid Website](https://www.solidproject.org). -* __Solid Brand__ - Definition and evolution of the Solid Brand, including any associated brand assets. * __Solid Communication Channels__ - Sanction and oversight of official Solid project communication mediums, such as chatrooms, forums, mailing lists, and message boards. ## Rationale *Why is a Solid Team necessary?* -Solid is a relatively young project with a ton of promise. It has garnered incredible interest and support, from many in academia to some of the largest organizations in the world. However, this adoption will not continue if Solid doesn't consistently live up to its potential by advancing its mission. This requires consistent care and feeding every day, driven by an ability to make key decisions that squarely align with the Solid Roadmap. +Solid is a relatively young project with a ton of promise. It has garnered incredible interest and support, from many in academia to some of the largest organizations in the world. However, this adoption will not continue if Solid doesn't consistently live up to its potential by delivering standards that power usable software. This requires consistent care and feeding every day, driven by an ability to make key decisions that squarely align with the Solid Roadmap. -Consequently, it is imperative that a small, dedicated group be in a position to organize and focus the efforts of those willing and qualified to contribute. They must do so in a manner that moves us forward at a nimble pace. They must make decisions based on their complete understanding and commitment to the furtherance of the Solid Roadmap. +Consequently, it is imperative that a small, dedicated group be in a position to organize and focus the efforts of those willing to contribute. They must do so efficiently enough to meet the expectations of our community and ecosystem at large. They must make decisions based on their complete understanding and commitment to the furtherance of the Solid Roadmap. -Organized contribution is orchestrated through sanctioned [Solid Panels](solid-panels.md) in the form of projects. More spurious contribution is also expected and always encouraged. The Solid Team acts in a supervisory role to ensure this work is constructive, and on a trajectory that supports and advances the Solid Roadmap. This guidance, which may sometimes involve decisions, is essential to ensure that work is active, relevant, and consistent with the Solid Mission. +Organized contribution is orchestrated through sanctioned [Solid Panels](solid-panels.md) in the form of projects. More spontaneous contribution is also expected and always encouraged. The Solid Team acts in a supervisory role to ensure this work is constructive, and on a trajectory that supports and advances the Solid Roadmap. This guidance, which may sometimes involve decisions, is essential to ensure that work is active, relevant, and consistent with the Solid Mission. Any time a decision is made, there are some that will not agree. This is the nature of a having a diverse community of people with strong beliefs. It is a good problem to have. That said, arbiters must be there to make informed decisions on behalf of Solid, using information collected from both domain experts, and the community at large. Otherwise, issues would turn into long running arguments that stagnate. Everyone that believes in Solid loses when Solid can't move forward. -This is not a guarantee that all decisions will be correct. It is in fact an acknowledgement that some will not. Still, it is better to make advances and learn from the setbacks, than to remain frozen and never move forward at all. The former is healthy, the latter is not. +This is not a guarantee that all decisions will be correct. It is in fact an acknowledgement that some will not. Still, it is better to make advances and learn from the setbacks, than to remain frozen and never move forward at all. The former is healthy, the latter will inhibit Solid's impact. In short, the Solid Team exists to guide and channel the collective energies of a diverse community of individuals and organizations to realize the Solid Roadmap. @@ -57,7 +56,7 @@ Here we identify the Solid Team roles as well any responsibilities associated wi - [Solid Team Member](#solid-team-member) ### Solid Leader -The Solid Leader defines the governing mission and vision of Solid, along with key factors for success, which are manifested in the Solid Roadmap. The Solid Leader is the de-facto head of Solid, as well as the leading member of the Solid Team. +The Solid Leader defines the governing mission and vision of Solid, along with key factors for success, which are manifested in the Solid Roadmap. Tim Berners-Lee is the Solid Leader. He is the de-facto head of Solid, as well as the leading member of the Solid Team. If there are differences of opinion, the Solid Leader has the final say on the way forward. The Solid Leader has unique veto power, and can override the decisions of the Solid Team. @@ -92,15 +91,15 @@ __Justin Bingham__ - Solid Roadmap, Solid Specification, Research, Website and F Transparency in the decision making process is important. Decisions will be documented along with the rationale and considerations taken into account around a given decision. The Solid Team always strives to operate in a manner that aims for team consensus without the need for formalized voting. -For any substantial decisions where consensus cannot be reached, the Solid Team votes. The Solid Leader can always veto the voting outcome. Every Solid Team member must either vote or explicitly abstain. Passing requires a strict majority of non-abstaining Solid Team members. Stalemates are resolved by the Solid Leader. +For any substantial decisions where consensus cannot be reached, the Solid Team votes. As the Solid Leader, Tim Berners-Lee can always veto the voting outcome. Every Solid Team member must either vote or explicitly abstain. Passing requires a strict majority of non-abstaining Solid Team members. Stalemates are resolved by the Solid Leader, Tim Berners-Lee. The Solid Team utilizes this [Decision Making Process](decision-making.md). ### Vacancies -Solid Team members may resign their position at any time. They may also be removed by a majority vote of the rest of the Solid Team. The Solid Leader reserves the right to remove any Solid Team member at any time. Whenever there is a vacancy on the Solid Team, a new team member will be nominated and selected through the [Team Nomination](#team-nominations) mechanism articulated in this document. +Solid Team members may resign their position at any time. As the Solid Leader, Tim Berners-Lee reserves the right to remove any Solid Team member at any time. Whenever there is a vacancy on the Solid Team, a new team member will be nominated and selected through the [Team Nomination](#team-nominations) mechanism articulated in this document. -Solid Team members may take a leave of absence for sickness, pregnancy, or for another reason deemed legitimate by a majority of the Solid Team. In these cases an interim individual may be nominated. +Solid Team members may take a leave of absence for sickness, child care, or for another reason deemed legitimate by a majority of the Solid Team. In these cases an interim individual may be nominated. If a Solid Team member not on a leave of absence drops out of touch and cannot be contacted or fails to contribute positively for a month or longer, then the rest of the Solid Team may vote to remove that team member and nominate another to replace them. @@ -108,7 +107,7 @@ If a Solid Team member not on a leave of absence drops out of touch and cannot b The Solid Team may decide by majority vote to expand the size of the team. It may also need to fill a vacancy on the team. In either case, this nomination process will be used to propose new team members for addition to the team. -Any Solid Team member may nominate someone for addition to the team. Team members are accepted only through majority vote of the current Solid Team, with explicit approval by the Solid Leader. +Any Solid Team member may nominate someone for addition to the team. Team members are accepted only through majority vote of the current Solid Team, with explicit approval by the Solid Leader, Tim Berners-Lee. Tim Berners-Lee reserves the right to nominate and immediately add a new Solid Team member at any time. The Solid Team should reflect the diversity of individuals and organizations in the Solid Ecosystem. Candidates nominated for consideration must be able to demonstrate substantial and beneficent contribution to the Solid ecosystem. @@ -118,4 +117,4 @@ Solid Team members are trusted to act in the best interests of Solid rather than ### Vote of No Confidence -In exceptional circumstances, it may be necessary to remove someone from the Solid Team against their will. For example, due to egregious and ongoing code of conduct violations. Removal of a Solid Team member must be supported by a majority vote of the Solid Team, with explicit approval by the Solid Leader. +In exceptional circumstances, it may be necessary to remove someone from the Solid Team against their will. For example, due to egregious and ongoing code of conduct violations. A majority vote of no confidence by the Solid Team for a given Solid Team member will go up for review by the Solid Leader, Tim Berners-Lee. Tim Berners-Lee reserves the right to remove any Solid Team member at any time. From 95d1116cdb13fdfec4d2ebf59952bc32e84aee37 Mon Sep 17 00:00:00 2001 From: Justin Bingham Date: Mon, 24 Jun 2019 10:30:58 -0400 Subject: [PATCH 22/23] move decision making sections --- decision-making.md | 18 +++++++++++++++++- solid-panels.md | 6 ------ solid-team.md | 8 -------- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/decision-making.md b/decision-making.md index 38b63f9..8edf130 100644 --- a/decision-making.md +++ b/decision-making.md @@ -1,4 +1,20 @@ -# Decision Making Process +# Decision Making + +## Solid Team + +Transparency in the decision making process is important. Decisions will be documented along with the rationale and considerations taken into account around a given decision. The Solid Team always strives to operate in a manner that aims for team consensus without the need for formalized voting. + +For any substantial decisions where consensus cannot be reached, the Solid Team votes. As the Solid Leader, Tim Berners-Lee can always veto the voting outcome. Every Solid Team member must either vote or explicitly abstain. Passing requires a strict majority of non-abstaining Solid Team members. Stalemates are resolved by the Solid Leader, Tim Berners-Lee. + +The Solid Team utilizes this [Decision Making Process](#decision-making-process). + +## Solid Panels + +Solid Panels are expected to use this [Decision Making Process](#decision-making-process), to be transparent in work being conducted under their mandate, and to provide regular status updates through established channels. + +Solid Panels should always strive to operate in a manner that aims for consensus without the need for formalized voting. When voting is necessary, stalemates are resolved by a majority vote of the Solid Team. The Solid Team reserves the right to raise any decisions made or in-process within a Panel to a vote by the Solid Team. + +## Decision Making Process We employ a framework for making decisions on the Solid Team and across Solid Panels. As a general rule, this framework should be applied to any substantial choices at a Team or Panel level to ensure informed and thoughtful decisions. diff --git a/solid-panels.md b/solid-panels.md index b7d4006..0e571d4 100644 --- a/solid-panels.md +++ b/solid-panels.md @@ -73,12 +73,6 @@ Every Solid Panel is expected to actively contribute to the evolution of Solid i Every Panel will have a stated purpose that can be mapped directly to the Solid Roadmap, and the Solid Team may task that Panel with specific projects to be completed as part of the fulfillment of its mandate. For example, the Specification Panel could be tasked with an project to complete the next major version of the Solid Specification. -### Decision Making - -Solid Panels are expected to use this [Decision Making Process](decision-making.md), to be transparent in work being conducted under their mandate, and to provide regular status updates through established channels. - -Solid Panels should always strive to operate in a manner that aims for consensus without the need for formalized voting. When voting is necessary, stalemates are resolved by a majority vote of the Solid Team. The Solid Team reserves the right to raise any decisions made or in-process within a Panel to a vote by the Solid Team. - ### Panel Nominations An individual can be nominated to a Panel by: diff --git a/solid-team.md b/solid-team.md index ddee948..4fb5752 100644 --- a/solid-team.md +++ b/solid-team.md @@ -87,14 +87,6 @@ __Justin Bingham__ - Solid Roadmap, Solid Specification, Research, Website and F ## Solid Team Governance -### Decision Making - -Transparency in the decision making process is important. Decisions will be documented along with the rationale and considerations taken into account around a given decision. The Solid Team always strives to operate in a manner that aims for team consensus without the need for formalized voting. - -For any substantial decisions where consensus cannot be reached, the Solid Team votes. As the Solid Leader, Tim Berners-Lee can always veto the voting outcome. Every Solid Team member must either vote or explicitly abstain. Passing requires a strict majority of non-abstaining Solid Team members. Stalemates are resolved by the Solid Leader, Tim Berners-Lee. - -The Solid Team utilizes this [Decision Making Process](decision-making.md). - ### Vacancies Solid Team members may resign their position at any time. As the Solid Leader, Tim Berners-Lee reserves the right to remove any Solid Team member at any time. Whenever there is a vacancy on the Solid Team, a new team member will be nominated and selected through the [Team Nomination](#team-nominations) mechanism articulated in this document. From f8150df3aabc00639e3e2e5d8d50c0f13ecd4c12 Mon Sep 17 00:00:00 2001 From: Justin Bingham Date: Mon, 24 Jun 2019 10:55:18 -0400 Subject: [PATCH 23/23] only solid leader can change governance or team --- solid-team.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/solid-team.md b/solid-team.md index 4fb5752..dd816dd 100644 --- a/solid-team.md +++ b/solid-team.md @@ -31,6 +31,8 @@ The mandate of the Solid Team includes but is not limited to: * __Solid Website__ - Curation and Management of the [Solid Website](https://www.solidproject.org). * __Solid Communication Channels__ - Sanction and oversight of official Solid project communication mediums, such as chatrooms, forums, mailing lists, and message boards. +The Solid Team cannot modify governance processes without the explicit approval of the Solid Leader, Tim Berners-Lee. As the Solid Leader, Tim Berners-Lee reserves the right to change governance processes at any time. The Solid Team may vote to have a governance change be reviewed by the Solid Leader, Tim Berners-Lee. The Community Panel may also vote to have a governance change be reviewed by the Solid Leader, Tim Berners-Lee. + ## Rationale *Why is a Solid Team necessary?* @@ -93,13 +95,13 @@ Solid Team members may resign their position at any time. As the Solid Leader, T Solid Team members may take a leave of absence for sickness, child care, or for another reason deemed legitimate by a majority of the Solid Team. In these cases an interim individual may be nominated. -If a Solid Team member not on a leave of absence drops out of touch and cannot be contacted or fails to contribute positively for a month or longer, then the rest of the Solid Team may vote to remove that team member and nominate another to replace them. +If a Solid Team member not on a leave of absence drops out of touch and cannot be contacted or fails to contribute positively for a month or longer, then they may be subject to a [Vote of No Confidence](#vote-of-no-confidence). ### Team Nominations -The Solid Team may decide by majority vote to expand the size of the team. It may also need to fill a vacancy on the team. In either case, this nomination process will be used to propose new team members for addition to the team. +As the Solid Leader, Tim Berners-Lee may decide to expand the size of the team. There may also be a need to fill a vacancy on the team. In either case, this nomination process will be used to propose new team members for addition to the team. -Any Solid Team member may nominate someone for addition to the team. Team members are accepted only through majority vote of the current Solid Team, with explicit approval by the Solid Leader, Tim Berners-Lee. Tim Berners-Lee reserves the right to nominate and immediately add a new Solid Team member at any time. +Team members are nominated and explicitly approved by the Solid Leader, Tim Berners-Lee. Tim Berners-Lee reserves the right to nominate and immediately add a new Solid Team member at any time. The Solid Team should reflect the diversity of individuals and organizations in the Solid Ecosystem. Candidates nominated for consideration must be able to demonstrate substantial and beneficent contribution to the Solid ecosystem. @@ -109,4 +111,4 @@ Solid Team members are trusted to act in the best interests of Solid rather than ### Vote of No Confidence -In exceptional circumstances, it may be necessary to remove someone from the Solid Team against their will. For example, due to egregious and ongoing code of conduct violations. A majority vote of no confidence by the Solid Team for a given Solid Team member will go up for review by the Solid Leader, Tim Berners-Lee. Tim Berners-Lee reserves the right to remove any Solid Team member at any time. +In exceptional circumstances, it may be necessary to remove someone from the Solid Team against their will. For example, due to egregious and ongoing code of conduct violations. A majority vote of no confidence in a given Solid Team Member by the Solid Team, or by the Solid Community Panel, will go up for review by the Solid Leader, Tim Berners-Lee. Tim Berners-Lee reserves the right to remove any Solid Team member at any time.