GithubHelp home page GithubHelp logo

governance-and-guidance's People

Contributors

beanow avatar jbolda avatar lemarier avatar nklayman avatar nothingismagick avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

governance-and-guidance's Issues

Donation system and policy

From social contract

This project is directly sustained through a donation model. Donations can be made through [DONATION SYSTEM]. Further details can be found in the [DONATION POLICY].

Should refer to https://opencollective.com/tauri
And add a donation policy. The best contents for this are yet unexplained see sfosc/sfosc#127

Also, future plans such as other revenue streams should be explained in the social contract.

Working Group committee - Review Board Election

Because this is the first election of this setup, and with a short window to prepare, some mistakes are expected. With that in mind, it would be sound to have some kind of review or ratification organized by the working group as well. This allows the WG to consider whether the execution was sound enough to accept the result.

[Org] Role Transition: Alumni

Role Transition: Becoming an Alumni

Contributor roles are granted for as long as the person wishes to engage with the project. However, over time an active community member may choose to step away from Tauri to work on other things. A member's circumstances can and will change, and we want to help prevent any feelings of guilt in the event one can no longer contribute.

The Alumni role is an acknowledgment for those previously in contributor roles but who are no longer involved. On assuming Alumni status, members exchange their previous roles, with its privileges and duties, for the Alumni role and its benefits.

For the community's security, Alumnus access to code and administrative functions are revoked. However, if the circumstances change, we welcome Alumni back, to resume their role as a member of the Working Group.

Rejoining the project as a contributor (L1 or above) will automatically revoke your Alumni status.

Teams not public

Teams like @tauri-apps/wg-governance-and-guidance seem invisible to users that aren't in the GitHub org.

[Org] Contributor Levels

Contributor Levels

Tauri thrives thanks to its community. From code improvements to sharing Tauri on social media, every contribution is vital. We've introduced the Working Group to recognize and reward those contributions.

The Working Group is categorized into five levels, each with its unique privileges and responsibilities.

Level 1 - Contributor

Anyone who has actively contributed to Tauri's success, regardless of the scale, is recognized at this level.

Examples of recognized contributions
  • GitHub: Merged pull requests, detailed bug report, or RFC.
  • Community: Answering questions and assisting the community on GitHub, Discord, Stack Overflow, etc.
  • Content Creation: Blog posts, videos, podcasts, or livestreams about Tauri.
Privileges
  • Discord role: @contributor
  • Discord name color: light blue
  • Access to contributor-exclusive events
  • Access to #working-group channel on Discord
Responsibilities
  • No additional responsibilities or time commitments.

Level 2 - Maintainer

Dedicated contributors involved in the prolonged maintenance and betterment of Tauri.

Criteria for Recognition
  • Demonstrated sustained commitment over a significant period (a few months).
  • Not based on quantity but consistent quality contributions.
Privileges
  • Inherits all privileges from the Contributor level.
  • Discord role: @maintainer
  • Discord name color: blue
  • Member of the tauri organization on Github
  • Direct branch push access
  • Ability to review and merge certain GitHub PRs
  • Ability to take on the additional role of @mod
Responsibilities
  • Uphold Tauri's community values.
  • Active engagement on Discord, especially in the #support channel.
  • Triaging issues.
  • PR reviews and merges.

Level 3 - Team Lead

Members with significant influence over Tauri's trajectory, overseeing key domain activities.

Criteria for Recognition
  • Nominated by a Domain Lead.
Privileges
  • Inherits all privileges from the Maintainer level
  • Discord role: @team-lead
  • Discord name color: yellow
  • Specialized code access on GitHub
Responsibilities
  • Lead and own specific domain activities.
  • Advocate for Tauri's long-term health and prosperity.

Level 4 - Domain Lead

Among the most trusted in the Tauri community, these members carry significant authority within their domain, acting as the primary decision-maker.

Criteria for Recognition
Privileges
  • Discord role: @domain-lead
  • Discord name color: yellow
Responsibilities
  • Decision-making within the domain.
  • Expertise and deep understanding of the domain's scope.
  • Alignment and supervision of domain activities.
  • Addressing domain-specific concerns.
  • Providing mentorship, especially to team leads within the domain.
  • Tracking KPIs related to the domain.

[Org] Proposed Tauri Project Hierarchy

Project Hierarchy

Tauri Board

The Tauri Board is the central decision maker, dedicated to advising and providing resources to the community. It is comprised of a minimum of 3 and a maximum of 7 board members and is represented by a chairperson that is elected by the other board members.

Domains

Domains are the core pillars within Tauri, functioning as organizational units. Each domain emphasizes the trajectory of the work and the projects undertaken. There is at least one domain lead for Tauri's for domains: community, development, operations, and security.

Domain Leads are responsible for the strategic elements of their domain, including its success or failure (defined through KPIs).

Activities

Whereas domains define the broader areas of interest, Activities dive deeper into the specific tasks and projects under each domain. They are a managerial convenience, organizing issues, PRs, and administrative tasks under a single Github issue tracked at the repo and project board level.

Every activity is a mini-project with challenges, timelines, and deliverables. New activities should start in the Discussion section on GitHub before being green-lit by a Domain Lead. Here, the community can propose and vote on new features and initiatives.

Team Leads are responsible for the day-to-day execution of activities.

Tauri's Core Domains
  1. Community: Looks after both the public face of Tauri and the resources the broader community relies on.
  2. Development: Drives the innovation behind Tauri. Handles the design, creation, and refinement of Tauri's tools, platforms, and systems.
  3. Operations: Provides resources and support to the organization and its domain.

[Org] Voting Guidelines

Voting Procedure

Certain project decisions (like governance changes and membership nominations) require a vote.

General Voting Guidelines

  • Voting is optional; members can abstain.
  • Non-voting members within 3 days are deemed to have abstained.
  • Informal votes, such as nominating a new contributor, can take place in the #voting channel. These votes only require a simple thumbs up (๐Ÿ‘) or thumbs down (๐Ÿ‘Ž) to be recorded.
  • The Tauri community reserves the right to cast a more formal vote, if needed. In this circumstance, votes should accompany a written proposal that documents the candidate, their qualifications for assuming the position, and any additional resources. Proposals that lack the required documentation can be deemed invalid by Domain Leads or Board Members.

Special Considerations

  • Any two board members may jointly organize a vote of the Tauri Board on any subject.

Voting: Chairperson

Who can vote: Board Members only
Type of vote: Formal (electronic)
Consensus: <>
Tie breaker: <>
Process: <>

Voting: Board Position

Who can vote: Maintainers (L2 or higher)
Type of vote: Formal (electronic)
Consensus: <>
Tie breaker: <>
Process: <>

Voting: Domain Lead (L4)

Who can vote: Maintainers (L2 or higher)
Type of vote: Formal (electronic)
Consensus: <>
Tie breaker: <>
Process: <>

Voting: Team Lead (L3)

Who can vote: Domain Leads
Type of vote: Informal
Consensus: <>
Tie breaker: <>
Process: <>

"Sponsored" Plugin PRs

We currently have two pending plugin PRs that are done in collaboration with CrabNebula and Impierce Technologies:

The particular parts to bring attention to are here:

These areas render out into the respective READMEs like so:
Screenshot 2023-09-08 at 11 09 05

While we have approved CrabNebula as a sponsor inline with our current precedent (pending CrabNebula's thumbs-up for release), we have not had similar conversations for Impierce Technologies (although this is not to say we aren't open to those conversations).

To the point on current precedent, we have currently only highlighted "Sponsors" via our website:

Screenshot 2023-09-08 at 11 11 07

@Beanow outlined a few open questions in his comment on the barcode scanner PR that I'll attempt to summarize here:

  • To @lucasfernog: Have both CrabNebula and Impierce Technologies given the thumbs-up on this?
  • Was there a discussion in Tauri around how the logos would be placed and formatted?
  • What would a different company have to do to get the same treatment of getting their plugin adopted by @tauri-apps as an "official" plugin with sponsor callouts and everything?
  • Who is responsible for future maintenance, etc. of the plugin?

To echo what I believe is @Beanow 's sentiment, I don't personally want to hold these PRs up with this conversation. However I would recommend getting a gut-check from a non-CrabNebula board member on this as it's our first time in this area.

I would also like to have a larger discussion as mentioned before about how we define a Sponsor and opening up opportunities for a "Partner"-type relationship between Tauri and other entities. With that in mind I would like to reserve the right to modify the README in those respective PRs pending that conversation and any impacts that may have.

Lastly, while this is a fantastic opportunity to grow Tauri's functionality and I would love to see more collaborations like this in the future, I would like to be VERY mindful of development capacity to maintain not only these two plugins, but also any further plugins that could come up in the future. One potential option (that these two plugins may or may not fall into) would be to highlight any "community" plugins on a page such as https://beta.tauri.app/2/guide/list/#community-resources. This ensures we give visibility to the plugins but also allows Tauri to not necessarily take on maintenance of them if the organization as a whole deems that we don't have the capacity or interest to do so.


The current ask is:

  1. Could a non-CrabNebula board member please weight in on if the current state of the PRs linked above would be appropriate to merge into the Tauri codebase
  2. What future conversations (if any) do we need to discuss in order to more properly define this type of arrangement in hopes of similar opportunities coming up in the future?

Voting medium

We'd like to allow the working group to vote.
How do votes get sent? Email? Discord? GitHub app signing in to a website?

[Domain] Defining Operations

Goal

To ensure smooth function of Tauri as an organization.

Responsibilities

Provides resources and support to the organization and its domains.

Some keywords to describe the area of interest:

Domain Support - Board Support -
Project Management - Policy discussions -
Promote Transparency -
Development Logistical, Administrative,
and Managerial Processes

Team

  • Domain Lead: @Beanow
  • ==Add other team members==

Activities

01

Activity: Pursue U.S. trademark
Success Metric: Trademark received
Expected Delivery Date: ==March 2024==
Related Issues: <>
Workflow:
1. ==Step 1==
2. ==Step 2==
3. ...

02

Activity: Perform pre-release security audits
Success Metric: <>
Expected Delivery Date: ==March 2024==
Related Issues: <>
Workflow:
1. ==Step 1==
2. ==Step 2==

...

Kyoto Meetup

As we are planning an official Tauri meetup in Kyoto next month I would like to formalize this to keep a record of decisions and ideas. Some of our working group and founding members are expected to be there.

Goal

We aim to provide a relaxed and interactive environment for Tauri contributors, app developers, newcomers and people interested in the mix of web technologies and Rust.
Lightning talks or short presentations of your Tauri apps are welcome.

Venue

c2kyoto
The event itself is meant to be a Tauri owned/hosted event but due to simplicity, an already existing local
rust meetup group was proposed for organizing the event, as the venue has limit seating capacity.

Intended size: Around 20 people
Timeline: 22th of July around 5-8pm

Sponsorship

The venue is sponsored from the venue host itself and usually sustains itself from drinks/food purchases.
Drinks and foods are sponsored by CrabNebula and potentially small cost items like stickers.
There will be a shout out to our sponsors at the event and preferred seats in case the venue capacity will be overloaded.

The voting system

Possibly reuse https://github.com/tauri-board/board-voter

Key aspects to consider:

Not all seats require filling. So a vote of confidence is meaningful and necessary.

One vote should be for multiple candidates with a notion of preference.
So we can have conclusive results for all 5 seats not just the first couple.

The algorithm should be able to incorporate a deduction for candidates running again.
As the statutes require this. https://dracc.commonsconservancy.org/0035/#governance

Directors are permitted to seek office for multiple terms, however, when running against other candidates the amount of terms they have consecutively served is deducted from the votes cast in their favour. This provides a balance between continuity, equal opportunities and renewal of qualities and competences.

This is something I found in the past, really messes up a "pure" STV implementation.
https://www.youtube.com/watch?v=l8XOZJkozfI

busfactor

We need to figure out how to share secrets. Since we are starting to deploy things, this is important.

Topic: Sponsorships

Unfiltered list that we should add to the discussion.

  • #42
  • Revisit financial contribution based tiers.
  • Other forms of sponsorship we've not defined yet.
  • Whether we should actively engage new sponsors.
  • How more funding could be effectively spent.

[Domain] Defining Development

Goal

To develop high value and wholely secure software for Tauri users.

Responsibilities

Drives the innovation behind Tauri. Handles the design, creation, and refinement of Tauri's tools, platforms, and systems.

Some keywords to describe the area of interest:

Code Maintainers - Package Releases -
R&D - API Documentation - Bug Triaging -
Codebase Security - Perform Audits

Team

Activities

01

Activity: <>
Success Metric: <>
Expected Delivery Date: <>
Related Issues: <>
Workflow:
1. ==Step 1==
2. ==Step 2==
3. ...

...

[Project] Domains and Teams governance model introduction

The governance model has been approved ๐Ÿ˜„ So it comes time to implement it.

There's the desire to have Domain Lead "appointing seasons" every 6 months. Spring and autumn.
Because the introduction is now and overlapping with Board Elections #16, the intention is to use the period between now and the autumn appointing season as time to figure out the details and make a slow push for the new model. Aiming to start in earnest in autumn.

At that time people who would like to be Domain Leads should have a better idea of what the role entails and some guidelines already in place from this transition period.

[Org] Community Feedback

Community Feedback

Feedback is vital for the success of any project. The Tauri Working Group is committed to addressing every request we receive.

For those interested in the evolution of our features:

  • The [[Public Roadmap]] is your go-to for voting on proposed features.
  • New feature suggestions are presented as Activities in the Discussion board.
  • Once approved by the Domain Lead, these features are prioritized and integrated into the Roadmap.
  • Always refer to the Roadmap to monitor open Activities, provide your insights, and keep track of unresolved issues. It's your central hub for staying involved and informed.

Always refer to the Roadmap to monitor open Activities, provide your insights, and keep track of unresolved issues. It's your central hub for staying involved and informed.

Update governance information

Should ideally be done same time as #19, so the updated information exists as further reading material for someone considering running for candidate.

Migrating issues out of Board repository

There's somewhat of a hurdle here.

Issues can't be transferred individually, because it's a different GH org and a private repo.
Either the whole repo needs to be transferred, or issues need to be manually copied.

More importantly, I think we should have some agreement on the intended result, before performing big migrations.

Code of Conduct

From social contract

##Code of Conduct To ensure that all people are welcome, treated fairly and safely, this community has a code of conduct, published at [CODE OF CONDUCT]. It applies equally to all members of the community, both on-line and in person. Membership and participation in the community requires following the Code of Conduct.

Suggesting https://www.contributor-covenant.org/

[Org] Tauri Governance Initiative

On Oct 10, 2023, Tauri working group members met to discuss Tauri's governance strategy. From that call, we decided the working group would use the Operations Roadmap to manage the transition, communicating all changes to the community.

This initiative aims to develop a solid working draft for the new governance model by Oct 24, 2023. From this, we will make an additional effort to collect feedback from the community before ratifying the changes.

Decision-making
Domains
Roles

[Domain] Defining Community

Goal

To create a welcoming community, where users and contributors can find their way around, to go on and do great things with Tauri.

Responsibilities

Looks after both the public face of Tauri and the resources the broader community relies on.

Some keywords to describe the area of interest:

Website - Socials - Education - Moderation
Announcements - Community Meetings - Events - Surveys

Team

  • Domain Lead: @lorenzo
  • ==Add other team members==

Activities

01

Activity: <>
Success Metric: <>
Expected Delivery Date: <>
Related Issues: <>
Workflow:
1. ==Step 1==
2. ==Step 2==
3. ...

...

Merge this repo into the .github repo

I've noticed a lot of orgs hold their information in their respective https://github.com/tauri-apps/.github.

I think it makes sense for us to merge things such as https://github.com/tauri-apps/governance-and-guidance/blob/main/CODE_OF_CONDUCT.md and https://github.com/tauri-apps/governance-and-guidance/blob/main/SOCIAL_CONTRACT.md over to that repo as it is easier to find for those looking for it.

With the upcoming proposed changes to the governance model I think that repo would also be an excellent place to hold an updated copy of https://github.com/tauri-apps/governance-and-guidance/blob/main/CODE_TEAMS_ROSTER.md

I can put in the PRs to make it happen if the wise peeps in this area agree with it

[Org] Specialized Roles

Specialized Roles

In addition to the Working Group structure, the Board might introduce distinct roles aimed at fulfilling specific strategic directives beyond the allotted scope.

Moderator

Moderators are the guardians of the community, ensuring adherence to Tauri's Code of Conduct.

Privileges
  • Discord role: @mod
  • Discord name color: red
  • Access to the #mod channel on Discord.
  • Ability to address AutoMod alerts.

VIP

VIP is a special designation for those who contribute to the Tauri ecosystem in a meaningful way. This could involve writing a blog post, streaming, or advocating for Tauri.

Criteria for Recognition
  • Requires endorsements from at least two Maintainers (L2 or higher).
  • Demonstrated results in expanding the presence of the Tauri ecosystem.
Privileges
  • Discord role: @vip
  • Discord name color: light blue
  • Access to the #vip channel on Discord.
  • Extended support and resources from the Tauri community.

Board Member

The backbone of Tauri, Board Members dictate the project's overarching decisions, ensuring its sustainability and health.

Criteria for Recognition
Privileges
  • Discord role: @board
  • Discord name color: yellow
Responsibilities
  • Serve for a 2 year term.
  • Introducing new domains and roles.
  • Structuring and refining the project's processes.
  • Upholding the Statutes and Regulations as defined by the Commons Conservancy

Chairperson

The Chairperson represents the Tauri Board and, therefore, the project.

Criteria for Recognition
  • Is an existing member of the board.
  • Needs to be voted in by the other sitting board members.
Privileges
  • Veto authority for board decisions.

Alumni

Alumni are revered members, previously active Maintainers (L2 and above) who have shifted their focus away from Tauri but remain part of its history.

Privileges
  • Discord role: @alumni
  • Discord name color: light blue
  • Access to the #alumni channel on Discord.
  • Retained recognition within the governance repository.

[Project] 2023 Board Elections

Organizing the 2023 Board Director elections.
Here are some facts:

There are 5 out of 7 seats available for election.
Their terms will end at July 16th 2023.
A full term is 2 years.
However the Chairperson is chosen from amongst the new Directors every year.

Not all seats are required to be filled.
There's a hard minimum of 3 Directors. So at least 1 person MUST be elected this round.

However there are some additional needs, for example they can't all be hired by the same company. A good heuristic would be to have 3 Directors able to vote at all times, even after some have abstained to avoid conflict of interest. And of course the more representation of the diverse community the better.

Because this is the first election of this setup, and with a short window to prepare, some mistakes are expected. With that in mind, it would be sound to have some kind of review or ratification organized by the working group as well. This allows the WG to consider whether the execution was sound enough to accept the result.

Determine when election is held

The hard deadline is that results must be known July 16th.

Allowing some leeway to count votes and whatnot, it would be good to organize a bit before then.
Consider as well using a window of a few days, as that gives more room to be async :]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.