ROS adds value to most robotics projects and applications, but you may still wonder, "Is ROS appropriate for my specific use case?" We hope that you will be able to answer this question after we introduce you to the features of ROS and show you some testimonials by ROS users from a variety of robotics domains. First, we'll cover some of the reasons you might want to consider using ROS.
ROS was designed to be as distributed and modular as possible, so that users can use as much or as little of ROS as they desire. We'll cover what components make up ROS elsewhere, but the modularity of ROS allows you to pick and choose which parts are useful for you and which parts you'd rather implement yourself.
The distributed nature of ROS also fosters a large community of user-contributed packages that add a lot of value on top of the core ROS system. At last count there were over 3,000 packages in the ROS ecosystem, and that is only the ROS packages that people have taken the time to announce to the public. These packages range in fidelity, covering everything from proof-of-concept implementations of new algorithms to industrial-quality drivers and capabilities. The ROS user community builds on top of a common infrastructure to provide an integration point that offers access to hardware drivers, generic robot capabilities, development tools, useful external libraries, and more.
Over the past several years, ROS has grown to include a large community of users worldwide. Historically, the majority of the users were in research labs, but increasingly we are seeing adoption in the commercial sector, particularly in industrial and service robotics.
The ROS community is very active. According to our metrics, at the time of writing, the ROS community has over 1,500 participants on the ros-users mailing list, more than 3,300 users on the collaborative documentation wiki, and some 5,700 users on the community-driven ROS Answers Q&A website. The wiki has more than 22,000 wiki pages and over 30 wiki page edits per day. The Q&A website has 13,000 questions asked to date, with a 70% percent answer rate.
The core of ROS is licensed under the standard three-clause BSD license. This is a very permissive open license that allows for reuse in commercial and closed source products. You can find more about the BSD license here:
While the core parts of ROS are licensed under the BSD license, other licenses are commonly used in the community packages, such as the Apache 2.0 license, the GPL license, the MIT license, and even proprietary licenses. Each package in the ROS ecosystem is required to specify a license, so that it is easy for you to quickly identify if a package will meet your licensing needs.
ROS by itself offers a lot of value to most robotics projects, but it also presents an opportunity to network and collaborate with the world class roboticists that are part of the ROS community. One of the core philosophies in ROS is shared development of common components. If you find ROS useful, please consider joining the collaboration by giving back!