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

Wiki: Industrial/contribution (last edited 2016-10-04 19:25:07 by ShaunEdwards)