Contents
Contributing
ROS-Industrial is a community developed project. Anyone and everyone is encouraged to participate in whatever way they feel comfortable. Contributions include everything from answering a question on the email list to developing a library that fulfills a ROS-Industrial need. Contributions fall into two main categories (detailed in the sections below):
- Informal Contributors - have no formal role within ROS-Industrial and as a result these contributions, although valuable, are mostly on an ad-hoc basis.
- Formal Contributors - have a recognized role within the ROS-Industrial organization. Such roles have clearly defined expectations and are critical to the ongoing success of ROS-Industrial as an open source project
Informal Contributors
Informal contributors are the largest group of contributors in the ROS-Industrial community. Informal contributions are typically small efforts that address an immediate or near term need in the community. The following is a list of ways anyone can informally contribute to ROS-Industrial:
- Enhancing documentation - updating wikis, add tutorials, etc...
- Answering user questions
Reporting & fixing bugs
- Submitting small pull requests (PRs)
Formal Contributors
Formal contributors have a well defined role within the community. They put significant effort into ROS-Industrial and ensure it is successful long term. They also perform tasks that are time sensitive and ensure the responsiveness to the larger community. The roles for formal contributors are outlined in the sections below.
Technical
Team Lead
Leads a team of developers and maintainers with a specific technical focus. Typical tasks include:
- Organizing/hosting developer meetings
- Creating ROS-Industrial standards/specifications (f.i. the ROS-I driver specification)
- Serving as key technical contact to the larger community
- Maintaining roadmap for development/deliverables
- Responsible for recruiting project developers and maintainers
The typical team lead commitment is multiple days per week to full time.
Open Team Lead Positions
Maintainer
Maintainers perform the day to day (release to release) tasks that ensure existing packages continue to build and are available as binaries and/or source. Typical tasks include:
- Keeping documentation up-to-date (minor changes)
- Answering user questions
- Reporting bugs and performing minor fixes
- Reviewing/accepting minor pull requests (PRs)
- Updating and releasing new package versions
The typical maintainer commitment is about 4 hours/week on average for mature repositories. Less mature repositories may take more effort early on.
Open Maintainer Positions
Developer
Developers add new capabilities or functions to software packages. Typical tasks include:
- Keeping documentation up-to-date (major changes)
- Reviewing major/large PRs
- Creating new packages/libraries from scratch
The typical maintainer commitment is about 8 hours/week on average for mature repositories. Less mature repositories may take more effort early on.
Open Developer Positions
Quality Control/Testing
Quality control and testers ensure that ROS-I development processes are being followed. They also ensure quality control measures are in place and properly executed. Typical tasks include:
- Script development for continuous integration and test
- Documenting policies and procedures for software development
- Issue logging
- Test code (gtest, rostest) development
Open Quality Control Positions
The typical tester commitment is about 4 hours/week on average for mature repositories. Less mature repositories may take more effort early on.
Non-Technical
Program Lead
Lead non-technical teams in building and expanding the ROS-Industrial community
- Organizing/hosting business development meetings
- Industry liaison
- Prepare grant and other proposals for ROS-Industrial funding
- Serving as key programmatic contact to the larger community
- Maintaining value proposition for ROS-Industrial
The typical program lead commitment is multiple days per week to full time.
Technical Writer
Technical writers produce and ensure the accuracy of wiki and other web content
Develop and maintaining web content for rosindustrial.org
- Develop and maintaining tutorials for ROS-Industrial packages
- Create and solicit blog entries from the ROS-Industrial community
The typical technical writer commitment ranges from about 4 hours/week to multiple days/week.
Open Technical Writer Positions
Marketing
Marketers promote the ROS-Industrial program
- Participate in industry forums, conferences, meetings, etc...
- Produce ROS-Industrial video content
- Produce ROS-Industrial flyers/brochures
The typical marketer commitment ranges from about 4 hours/week to multiple days/week.
Open Marketer Positions
Project Manager
Lead ROS-Industrial project teams (2-4 people) in execution of small to medium sized projects
- Create project plans and allocate resources
- Report progress to the ROS-Industrial community
- Work with Marketing to promote projects and the value they bring to ROS-Industrial
The typical project manager commitment is multiple days per week.
Open Project Manager Positions