In order to build a more complete and sustainable Taro open source ecosystem and highlight the value of contributors, we have formulated the Taro Contributor Promotion System based on the mature open source community operation mechanism to provide a clearer participation mechanism and honor incentive mechanism for developers and contributors who love and enjoy the Taro technology.

The promotion role

The figure contains four promotion roles: individual contributor & Ecological individual contributor, assistant, collaborator & Ecological collaborator, and member of technical Committee. The promotion mechanism is based on consensus decision by nomination + voting, and the promotion path is as follows:

  • Individual contributor → assistant → collaborator → member of technical Committee
  • Individual contributor → collaborator → Member of technical Committee
  • Ecological individual contributor → ecological collaborator → Member of technical Committee

For one year inactive, will carry out automatic demotion, contribution outstanding can apply for emeritus leave.

Individual Committer

Any individual developer who agrees to the Taro Code of Conduct may submit a Pull Request based on the Contributor Guide. Bug feedback & fixes, new feature proposals, or PR will be listed as an individual contributor in the Official Taro Documentation. Contributors can be nominated as collaborators when their valuable work is noticed by other collaborators.

Any individual tools, plug-ins, training, tutorials, etc. based on or around Taro Ecology will be listed as an ecological individual contributor in the official Documentation of Taro Ecology.

Assistant (Triage)

Responsible for maintenance of NervJS/ Taro, NervJS/ taro-UI warehouse new issues, labeling of issues or pull requests, and commenting, closing and re-opening issues or pull Requests, Responsible for distributing bugs or features to specific workgroups.

  • The purpose is to reduce the list of issues, keep track of issues in time, and promote new people to participate and contribute to the pull request.
  • Github NervJS Group Member permission, Triage permission for managing issues and pull requests (without write permission).
  • NervJS/ Taro README. Md Requires the approval of two partners to submit a pull request to NervJS/ Taro README, explaining their motivation and agreeing to the code of conduct. The reference template for applying for a Pull Request is as follows:
  • The exit mechanism periodically removes assistants that have been inactive for 6 months.

Collaborator & Collaborator

Maintain NervJS/ Taro, NervJS/ taro-UI warehouses, assist users and junior contributors, participate in specific working groups to contribute code and documentation to current projects, and review and comment on issues and pull requests.

  • The purpose of Taro is to continuously enrich the features, performance, safety, etc.
  • NervJS NervJS group Member permission, Github Write permission, can submit a COMMIT to NervJS/ Taro warehouse, configure continuous integration tasks, review and merge pull requests, A PR merger requires the consent of at least 2 partners or 1 member of the technical committee to enter the observation period, the observation period of 3 months to become a formal partner.
  • Application method Collaborators nominate individual contributors with outstanding contributions and decide whether they can become collaborators through a voting mechanism. A qualified partner needs to have: advanced technology, exquisite business; Communication barrier-free, at least reading and writing without obstruction; Good character, can study, not easily give up halfway; Have a humble attitude and can accept the opinions of others; As the Owner, take the initiative. The reference template for applying for a Pull Request is as follows:
  • The technical committee has the right to remove or set the status of the inactive cooperators, and the retired members can re-apply to the Technical Committee for the status of the inactive cooperators. If a collaborator has not contributed anything for more than 6 months, the status is automatically set to emeritus.

Member of the Technical Steering Committee

Responsible for technical direction, project management, project release, contribution policy, warehouse hosting, code of conduct, maintenance of partner list, regularly participate in TSC activities, the chairman (host) will host the activities online, and do a good record of the activities and announced.

  • Objective To solve the difficult technical problems and new directions.
  • Rights Github NervJS Group Owner rights.
  • New TSC members need to be nominated and voted on by other TSC members. The reference template for applying for a Pull Request is as follows:
  • Exit mechanism In the first quarter, absent 75% of the activities, and did not participate in any vote, automatically removed from the list. Members may apply for temporary “respite”.

Operation mechanism

The operation mechanism in the figure includes technical committee and five sub-teams (Core team, Plugins team, Platform team, innovation team and community team). The Technical Committee is composed of members of the technical Committee who are responsible for technical direction, project management, contribution policy, warehouse custody, code of conduct, maintenance of partner list, etc. The chairman of the technical Committee is responsible for organizing regular meetings. The working group is composed of partner members, with an Owner in each direction, responsible for the development progress of the related working group.

team

  • The Core team
    • The Cli working group is mainly responsible for the development and maintenance of the Taro command line tool.
    • Compile working group is responsible for maintaining and optimizing small programs and H5 compilation system.
    • The Runtime working group is responsible for maintaining the applet Runtime system.
  • Plugin team is responsible for maintaining all Taro plug-ins, including terminal platform plug-ins, React, Vue DevTools, etc.
    • The terminal platform plug-in working group is responsible for the maintenance of terminal platform plug-ins, including the adaptation of small programs for wechat, Alipay, Baidu, Bytedance, QQ, JINGdong, enterprise wechat, Feishu, Kuaishou, Dingding, Xiaohongshu and other manufacturers.
    • The mixed development team is responsible for maintaining the mutual call function of Taro and native applets, and developing native plug-ins.
  • Platform team is responsible for App, Web, Open Harmony and other cross-platform development.
    • H5 working group is responsible for maintaining all modules of H5, including routing, component library, API library, etc.
    • The React Native Working group is responsible for the development of the React Native adaptation core, component library, AND API library.
    • The Open Harmony working group is responsible for the development of Hongmeng Adaptation core, component library, API library and other parts.
    • Quick application working Group
  • Innovation team Taro innovatively explores special new and new directions, such as WASM, Rust, Vite, Flutter, ELECTRON, etc.
    • UI framework interest group TaroUI, NutUI and other UI libraries and other types of ecological tools development and management.
  • The community team is responsible for the ecology and operation of The Taro community, and the operation and promotion of the Taro community.

Biweekly meetings of technical committee

  • Time: Announce the content and date of the next meeting in TSC Issue before Thursdays of every fortnight.
  • Topic: Issues related to the TSC-Agenda label in each project under Taro. Submit the pull Request for meeting minutes after the meeting. Non-committees may be invited to attend each meeting without voting rights.

Voting mechanism based on consensus decision

The voting for each promotion shall be based on the principle of consensus decision, and majority agreement shall be reached in principle.

  • The topics to be voted on should be known to all members a week in advance of the meeting, giving them enough time to research and think
  • When an issue is about to be agreed, you must ask “Does anyone object?” before concluding. In order to know the last chance of objection
  • If no agreement can be reached on an issue, a majority vote can be taken to decide whether to postpone the issue to the next meeting, otherwise the discussion must continue
  • An issue can be passed by a majority, and members can abstain from voting

Mentoring/training mechanisms

Assistants, collaborators and technical committee members provide guidance and training at each stage so that the new promotion can start work quickly.

Relevant members are as follows (click the link directly) :

  • Taro Technical Committee (click the link directly)
  • Taro Partners (click the link directly)
  • Taro Contributors (click the link directly)