├── .github ├── ISSUE_TEMPLATE │ └── membership.md └── pull_request_template.md └── README.md /.github/ISSUE_TEMPLATE/membership.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Organization Membership Request 3 | about: Request membership change in working group 4 | title: 'REQUEST: New/Change membership for ' 5 | labels: membership 6 | assignees: '' 7 | --- 8 | 9 | ### Request 10 | - Are you looking to become a member? 11 | - Are you looking to move from one Working Group role to another (e.g. member to reviewer)? 12 | 13 | User: (at)example_user 14 | Role: requested role 15 | 16 | ### Requirements 17 | 18 | - [ ] I have reviewed the community governance model / guidelines (https://github.com/RobotWebTools/community) 19 | - [ ] I have enabled 2FA on my GitHub account (https://github.com/settings/security) 20 | - [ ] I am actively contributing to 1 or more working group subprojects 21 | 22 | ### Sponsors (if applicable) 23 | - (at)sponsor 24 | - ... 25 | 26 | ### List of contributions to the working group 27 | - PRs reviewed / authored 28 | - Issues triaged 29 | - Other relevant project involvement 30 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | # Working Group Modification Pull Request 2 | 3 | Use this template for all contributions to Projects or Governance of this Working Group. 4 | For membership changes, please instead open an issue using the appropriate issue template. 5 | 6 | Use the relevant following section and delete the rest, as well as this introduction, for this Pull Request's content. 7 | 8 | # Add Project 9 | 10 | * What is this tool? 11 | * Why should this tool be maintained by the Working Group? 12 | 13 | In your changes, you have added a list item to "Subprojects" in `README.md`, following this format: 14 | 15 | ``` 16 | * PROJECT_NAME 17 | * Description: One sentence description of the project being added. 18 | * Repositories 19 | * One or more repositories that are in this project as full links, e.g. 20 | * https://github.com/ros-tooling/cross_compile 21 | ``` 22 | 23 | # Modify Project 24 | 25 | * What modification is being made to a Working Group Subproject? 26 | * Why? 27 | 28 | In your changes, you have modified the relevant "Subprojects" section list item in `README.md`. 29 | 30 | # Deprecate Project 31 | 32 | * Which Subproject are we removing from the scope of the Working Group? 33 | * Why? 34 | 35 | In your changes, you have removed the relevant "Subprojects" section list item in `README.md`. 36 | 37 | # Modify Governance Model 38 | 39 | In your changes, you have modified `README.md` with the proposed governance model update. 40 | Explain the reasoning around the change here. 41 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ROS WebTools Working Group 2 | 3 | This document defines the scope and governance of the ROS WebTools Working Group (WG). 4 | 5 | The WebTools Working Group's mission is to provide high quality integrations for ROS and ROS 2 to the browser / web-development space. 6 | Its core focus is to enable developers to easily create browser and server applications to monitor and control ROS-based robotic and simulation applications. 7 | 8 | The scope of this working group includes language clients for the browser and the server, the bridge communication protocol, and basic web components to help kickstart more complex applications. 9 | 10 | ## Subprojects 11 | 12 | This Working Group owns and maintains the following Subprojects. 13 | Its meetings and membership are largely focused on the direction, design, and work on the projects. 14 | 15 | ### Subproject List 16 | 17 | The following subprojects are owned by the Working Group: 18 | 19 | * Organization Infrastructure 20 | * Description: Repositories to manage the working group itself - these are not products for users 21 | * Repositories: 22 | * https://github.com/RobotWebTools/community 23 | * https://github.com/RobotWebTools/robotwebtools.github.io 24 | * `roslibjs` 25 | * Description: ROS 1 Javascript language client - for use in the browser 26 | * Repositories: 27 | * https://github.com/RobotWebTools/roslibjs 28 | * `rclnodejs` 29 | * Description: ROS 2 native NodeJS client 30 | * Repositories 31 | * https://github.com/RobotWebTools/rclnodejs 32 | * https://github.com/RobotWebTools/rclnodejs-cli 33 | * Rosbridge protocol 34 | * Description: A protocol and tools for passing ROS messages to and from web applications 35 | * Repositories: 36 | * https://github.com/RobotWebTools/ros2-web-bridge 37 | * https://github.com/RobotWebTools/rosbridge_suite 38 | * Visualization components 39 | * Description: Common web components/libraries for building ROS visualizers 40 | * Repositories: 41 | * https://github.com/RobotWebTools/ros3djs 42 | * https://github.com/RobotWebTools/ros2djs 43 | * Specific Data Streaming 44 | * Description: Libraries for streaming ROS data effectively 45 | * Repositories: 46 | * https://github.com/RobotWebTools/web_video_server 47 | * https://github.com/RobotWebTools/tf2_web_republisher 48 | * https://github.com/RobotWebTools/webrtc_ros 49 | * https://github.com/RobotWebTools/depthcloud_encoder 50 | 51 | ### Standards for subprojects 52 | 53 | Subprojects must meet the following criteria (and the WG agrees to maintain them upon adoption). 54 | 55 | * Build passes against ROS 2 master 56 | * The ROS 2 standard linter set is enabled and adhered to 57 | * If packages are part of nightly builds on the ROS build farm, there are no reported warnings or test failures 58 | * Quality builds are green (address sanitizer, thread sanitizer, clang thread safety analysis) 59 | * Test suite passes 60 | * Code coverage is measured, and non-decreasing level is enforced in PRs 61 | * Issues and pull requests receive prompt responses 62 | * Releases go out regularly when bugfixes or new features are introduced 63 | * The backlog is maintained, avoiding longstanding stale issues 64 | 65 | ### Adding new subprojects 66 | 67 | To request introduction of a new subproject, add a list item to the "Subprojects" section and open a Pull Request to this repository, following the default Pull Request Template to populate the text of the PR. 68 | 69 | PR will be merged on unanimous approval from Approvers. 70 | 71 | ### Subproject changes 72 | 73 | Modify the relevant list item in the "Subprojects" section and open a Pull Request to this repository, following the default Pull Request Template to populate the text of the PR. 74 | 75 | PR will be merged on unanimous approval from Approvers. 76 | 77 | ### Deprecating subprojects 78 | 79 | Projects cease to be useful, or the WG can decide it is no longer in their interest to maintain. 80 | We do not commit to maintaining every subproject in perpetuity. 81 | 82 | To suggest removal of a subproject, remove the relevant list item in the "Subprojects" section and open a Pull Request in this repository, following instructions in the Pull Request Template to populate the text of the PR. 83 | 84 | PR will be merged on unanimous approval from Approvers. 85 | 86 | If the repositories of the subproject are under the WG's GitHub organization, they will be transferred out of the organization or deleted at this time. 87 | 88 | ## Governance 89 | 90 | ### Meetings 91 | 92 | * Regular WG Meeting: TBD 93 | * Meetings will be announced on discourse.ros.org and the ROS Events calendar. 94 | * Recordings will be posted to the YouTube channel "ROS 2 Working Groups" https://www.youtube.com/playlist?list=PLpUh4ScdBhSMb98_C0q_zIT8GNMehYBd_ 95 | 96 | ### Communication Channels 97 | 98 | * Email list: https://groups.google.com/g/ros-webtools-working-group 99 | * ROS Discourse 100 | 101 | ### Backlog Management 102 | 103 | * TBD 104 | 105 | ### Membership, Roles and Organization Management 106 | 107 | Working Group members may act in one or more of the following roles: 108 | 109 | * **Member** 110 | * Prerequisite: Attend at least one out of the last three Working Group meetings 111 | * Responsible for triaging issues 112 | * **Reviewer** 113 | * All reviewers are members 114 | * Prerequisite: Proven track record of high-quality reviews to WG Subprojects 115 | * Responsible for reviewing pull requests 116 | * **Approver** 117 | * All approvers are reviewers 118 | * Prerequisite: Proven track record of high-quality contributions and reviews to WG Subprojects 119 | * Responsible for approving and merging pull requests 120 | * Responsible for vetting and accepting new projects into the Working Group 121 | * **Lead** 122 | * TSC member or their delegate 123 | * Responsible for organizing and moderating working group meetings 124 | * Responsible for posting meeting materials (minutes, recordings, etc.) 125 | * Responsible for breaking ties 126 | 127 | To become a member or change role, create an issue in this repository using the appropriate issue template. 128 | Such applications are accepted upon unanimous agreement from Approvers, and are typically based on the applicant's history with the subprojects of the Working Group. 129 | The Lead role cannot be applied for, as it is an appointee of the ROS 2 TSC. 130 | 131 | ### Modifying this governance document 132 | 133 | Changes to this document will be made via Pull Request. 134 | The PR will be merged on unanimous agreement from Approvers. 135 | --------------------------------------------------------------------------------