از همان صفحه ویکی پدیا:
نرمافزارها در اکوسیستم ROS[۴] را میتوان به سه گروه مجزا تقسیمبندی کرد:
ابزارهای مستقل از زبان و مستقل از پلتفرم برای ساخت و توزیع نرمافزارهای برپایه ROS
پیادهسازی کتابخانه کلاینت ROS مثل roscpp با[۵] rospy با[۶] و roslisp;[۷]
بسته حاوی کدهای مرتبط با نرمافزار که از یک یا چند کتابخانه کلاینت ROS استفاده مینماید.[۸]
هر دو ابزار مستقل از زبان و کتابخانههای کلاینت اصلی (C++، پایتون و Lisp) تحت مجوز BSD منتشر شدهاند و بنابراین متنباز هستند و برای استفاده تجاری و تحقیقاتی رایگان میباشند. اغلب سایر بستههای تحت سایر مجوزهای متنباز هستند که عملیاتهای معمول و کاربردهایی مثل درایورهای سختافزار، مدلهای ربات، انواعدادهای، طرحریزی، ادراک، محلیسازی و نقشهبرداری همزمان (Simultaneous localization and mapping)، ابزارهای شبیهسازی، و سایر الگوریتمها را پیادهسازی میکنند.
کتابخانههای کلاینت اصلی (C++, Python و Lisp) بیشتر به دلیل وابستگیشان به مجموعه بزرگی از نرمافزاهای متنباز، منطبق با سیستمهای شبه-یونیکس هستند. برای این کتابخانههای کلاینت، اوبونتو به عنوان «پشتیبانیشده» لیست شدهاست در حالی که سایر سیستمعاملها مثل فدورا، مکاواس، و ماکروسافت ویندوز «آزمایش» هستند و به وسیلهٔ جامعه متنباز پشتیبانی میشوند.[۹] کتابخانه مشتری ROS جاوا نیتیو، rosjava، این محدودیتها را ندارد و امکان نوشتن نرمافزارهای برپایه ROS برای اندروید را فراهم کردهاست.[۱۰]