zephyrproject-rtos / zephyr

Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
https://docs.zephyrproject.org
Apache License 2.0
10.61k stars 6.5k forks source link

TSC Structure and composition #46800

Closed mbolivar-nordic closed 3 months ago

mbolivar-nordic commented 2 years ago

This issue covers an open discussion around the structure of the TSC.

The purpose of the discussion is to align on goals within the WG and determine if we want to make recommendations for changes at the next TSC F2F.

mbolivar-nordic commented 2 years ago

@nashif to present alternatives from other projects to drive discussion.

mbolivar-nordic commented 2 years ago

@nashif : I was looking into different projects, e.g. ROS (robot operating system) and hyperledger. I would like to take ideas for processes from existing projects like these.

Brainstorming session followed; no conclusions were reached.

mbolivar-nordic commented 2 years ago

Request:

keith-zephyr commented 2 years ago

My thoughts:

henrikbrixandersen commented 2 years ago

My thoughts:

  • Short term we could consider reducing the TSC members for platinum members from 2 to 1. Then move these seats to the general community to be voted on.

  • For community seats, I see value in allowing companies to nominate the company itself for a seat. Once approved for a seat, the individual company would select the specific individual to actually participate on the TSC. This allows for some continuity for companies that are actively contributing to Zephyr, in the event that a specific individual leaves, or just changes roles.

This sounds like a good starting point. I'd like to reach a situation, where the TSC is mainly composed of technical contributors to Zephyr as opposed to e.g. people with management roles from member companies. Not that I have anything against these, but I strongly feel the Technical Steering Committee should be more technical than political.

mbolivar-nordic commented 2 years ago

Process WG: roundtable discussion and feedback

AI:

@nashif to provide a proposal with options based on feedback in 2 weeks time

mbolivar-nordic commented 2 years ago

Process WG:

mbolivar-nordic commented 2 years ago

Process WG:

nashif commented 1 year ago

@mbolivar-nordic can we put this back on the agenda tomorrow?

asmk-ot commented 1 year ago

My thoughts:

  • Short term we could consider reducing the TSC members for platinum members from 2 to 1. Then move these seats to the general community to be voted on.
  • For community seats, I see value in allowing companies to nominate the company itself for a seat. Once approved for a seat, the individual company would select the specific individual to actually participate on the TSC. This allows for some continuity for companies that are actively contributing to Zephyr, in the event that a specific individual leaves, or just changes roles.

This sounds like a good starting point. I'd like to reach a situation, where the TSC is mainly composed of technical contributors to Zephyr as opposed to e.g. people with management roles from member companies. Not that I have anything against these, but I strongly feel the Technical Steering Committee should be more technical than political.

Having technical managers part of the TSC makes a lot of sense for organizations offering many resources to the project. Secondly we should not dismiss the soundness of having a diverse skill set as part of the TSC.

mbolivar-nordic commented 1 year ago

Process WG:


dleach02 commented 1 year ago
  • @galak as far as setting direction, I think that's a misnomer. It's an open source project; for the most part zephyr as a project doesn't have resources to say "go do this". If you have an interest, e.g. CAN, you can come and contribute it. If footprint is important, people will monitor and engage in that. If nobody does any work, nothing happens regardless of what the TSC and board say. I think the TSC's role is to address discussion when someone is going and doing something, but the question of what the TSC's role is is important

This is an important point. I sometimes feel we put too much emphasis on the TSC when the reality is that we want to encourage growth and participation/contributions at the working group/committee level. As pointed out, what gets done in Zephyr is really based on the interests of those who want it done. The high-level guidance that may be set at the governing board helps identify where the funding may be applied but things still need resources to invest their time to get things done.

henrikbrixandersen commented 1 year ago

This is an important point. I sometimes feel we put too much emphasis on the TSC when the reality is that we want to encourage growth and participation/contributions at the working group/committee level. As pointed out, what gets done in Zephyr is really based on the interests of those who want it done. The high-level guidance that may be set at the governing board helps identify where the funding may be applied but things still need resources to invest their time to get things done.

Those are very good points, I think. More active contributors in the various, TSC delegated WGs would be a welcome addition.

mbolivar-nordic commented 1 year ago

Process WG:


mbolivar-nordic commented 1 year ago

Process WG:


mbolivar-nordic commented 1 year ago

Process WG:


mbolivar-nordic commented 1 year ago

Process WG

Consensus on:


keith-zephyr commented 1 year ago

Process WG summary:

@nashif - will create proposal based on currently discussion talking points from this issue.

==== @nashif - What are the mechanics for making the TSC structure change? How can this be done incrementally? @keith-zephyr - what about switching platinum or silver members as each group individually. nashif - this requires a change to the charter so better to do both at the same time. @nashif - could experiment with expanding elected members first. But more interested in making the TSC more effective first. Restructure working groups, identify additional areas for a new WG. Make governance of WGs more official. Get more TSC member involvement in WGs and other areas. Figure out election mechanics and charter change later. @nashif - focus on changes that don't require a charter change. @keith-zephyr - what other roles should we encourage TSC member to take on. WG chair, maintainer of an area. @nashif - currently at 45 members - adding elected members means the TSC needs to scale to continue be effective. @dleach02 - silver members are the larger change. Silver members are giving up a lot if the TSC vote is dropped. What's the value proposition to silver members. @nashif - agrees some silver/platinum members will see this as a downgrade. We need to present a proposal to gather feedback. Could eventually get to a point where TSC is all elected members. At governing board, they are investigating the various Zephyr assets that could be opened up based on the member level (silver, gold. platinum) @dleach02 - Should add a goal/objective that the TSC is more active. Hopefully current silver TSC members already have enough engagement to be elected. @nashif - TSC votes are very close. This is due to quorum requirements and non-votes. May need to adopt new voting requiremets/rules. We should use an existing process that is proven. @keith-zephyr - In terms of gaining engagment - start with formalizing WGs.
@nashif - has a working doc with some ideas on new WG organization. Rules can't be top down - need buy in from the community. Execution of proposed changes is lacking within Zephyr. It usually comes down to individual or company championing their own goals. @dleach02 - The lack of execution is common for open source projects. Not an easy problem to solve. @nashif - The Zephyr structure should allow us to be better than other projects.
@nashif - Coding styles is an area that exemplifies problems with execution. Not enough tooling to enforce all guidelines. @dleach02 - at NXP, lots of business units. When evangelizing Zephyr to other BUs, other groups ask how to get changes to Zephyr? David's feedback is to contribute their ideas directly instead of trying to wait for the community. But there is some pushback from teams want to protect their own IP. Other teams see the value of using Zephyr, but still lean on David's team to make changes upstream.
@dleach02 - there are successes at the Zephyr project to advertise - number of devs that contribrute directly to a release. @nashif - More areas in the project need more engagement. How does the project drive changes to completion? If the community doesn't step up, Zephyr could consider hiring an expert to address a specific task (e.g. security audit). @dleach02 - any objections to presenting a restructure to the TSC. @nashif - Need to have the high level goals written down. Participation in Process WG doesn't necesarily represent the full community, @dleach02 - Status quo is also an option. Maybe use the F2F to gauge interest from the full TSC. @nashif - Status quo for TSC composition still leaves existing problems with effectiveness of TSC. @nashif - option A status quo, option B improve voting and improve WG and improve particpation. @dleach02 - Suggests creating a straw poll to gather sentiment from the TSC members. Non-binding vote on the options for restructuring the TSC.
@nashif - The governing board has requested to get more community involvement. The Process WG is doing the prep work. Goal should be to have straw poll ready for F2F meeting. @dleach02 - wants to make sure we get feedback from TSC before doing a full proposal. TSC may have different priorities than what Process WG has identified.

keith-zephyr commented 1 year ago

Process WG notes for 2023-06-14

@nashif slide deck: https://docs.google.com/presentation/d/1FGCT-Rp-36y6kgndNtU_l5ksEZO021YHdyDbfXs8GcM/edit?usp=sharing

@nashif presented problem statement with existing TSC structure. TSC growth, efficiency, appointed members, no definition for TSC member role. @nashif without clear TSC member definition, there is confusion from new contributors. @nashif How to keep silver membership attractive if we reduce appointed members and increase elected members. @nashif Working groups need more participation. @dleach02 It's a low barrier to attend WG. Community members can attend without being on the TSC. @nashif - Wants to get TSC members participating more on WGs. This would allows TSC to delegate more tasks to WGs, but this needs a defined structure. @nashif - each working group has a board/body/quorom. This establishes some authority to the WG, when there is a defined process. @nashif suggests a minimum requirement for TSC members is to participate on a WG.
@dleach02 restating - TSC members need to participate in technical direction by participating in a WG. @nashif - Not all WG need to be done through meetings. @dleach02 - expanding TSC definition - members should engage on PRs, issues, etc. "impactful contributions".
@nashif - helping with backlog of issues and RFCs is an area where TSC members can help - this doesn't require a meeting. @nashif - WGs need participation to be successful. Phase 1 defines a 5 member body. @nashif - delegation of TSC duties can help keep TSC meeting more focused. TSC is used for escalation. @dleach02 As member of IEEE, so companies hire experts knowledgeable in Robert's rules. David likes the structure generally, but it can be overbearing. @nashif Phase II defines new TSC structure. We can point TSC members back to github issue for details of past discussions. The F2F meeting will be an opportunity to get new ideas for TSC structure. @keith-zephyr What's the timeline for phase 1? @nashif conservatively to define roles by the end of year and start executing in 2024. @dleach02 There are organization making large contributions - will we end up with a TSC that consists only of members? @nashif - This is okay, because TSC will be filled with elected reps. It's expected that many elected reps will be part of member companies. @nashif Historically Intel was the main contributor. This self corrected as more companies joined. Intel didn't drop number of commits, other companies added to the total commit level. @dleach02 The biggest change is of phase 2 is the switch from 2 to 1 TSC members for platinum companies. @nashif Switch from 1 to 2 was done to increase the size and engagement of TSC, without changing charter and coming up with an election process. This happened 5 years ago - it's time to manage the growth. @nashif It's possible phase 1 solves enough problems, that phase 2 is not needed. If WG take larger role, TSC becomes less involved. @simhein One question about offloading voting to WGs? If WG has voting responsibility, does TSC still have veto? @nashif There would be official duties assigned to WGs. Currently consensus in WG doesn't have any official weight. @dleach02 Not every TSC member needs to cover every meeting. @nashif WGs should send out minutes with decisions. This provides opportunity for other community members to object and re-raise the issue.

keith-zephyr commented 1 year ago

Moving to on-hold as this issue is blocked by https://github.com/zephyrproject-rtos/zephyr/issues/60315.

keith-zephyr commented 3 months ago

Blocking issue #60315 is closed, nothing more to do on this issue.