Contribuant

Quelques points à retenir avant de commencer à contribuer au projet ROS 2.

Principes

  • Respectez ce qui a précédé

    ROS existe depuis plus d’une décennie et est utilisé par les développeurs et dans le monde entier. Gardez une attitude humble et un état d’esprit ouvert tout en contribuant.

  • Engagez Open Robotics le plus tôt possible

    • Open Robotics agit en tant que gardien et défenseur de la communauté ROS. Appuyez-vous sur leur expertise et leur jugement technique dès la phase de conception.

    • Commencez tôt les discussions avec Open Robotics et la communauté. Les contributeurs ROS de longue date peuvent avoir une vision plus claire de la situation dans son ensemble. Si vous implémentez une fonctionnalité et envoyez une pull request sans en discuter au préalable avec la communauté, vous prenez le risque qu’elle soit rejetée, ou qu’on vous demande de repenser en grande partie votre design.

    • Ouvrir des problèmes ou utiliser Discourse pour socialiser une idée avant de commencer la mise en œuvre est généralement préférable.

  • Adoptez les meilleures pratiques de la communauté chaque fois que possible au lieu de processus ad hoc

    Pensez à l’expérience de votre utilisateur final lors du développement et de la contribution. Évitez d’utiliser des outils ou des bibliothèques non standard qui peuvent ne pas être accessibles à tout le monde.

  • Penser à la communauté dans son ensemble

    Pensez à la situation dans son ensemble. Il existe des développeurs qui construisent différents robots avec différentes contraintes. Le ROS doit répondre aux besoins de l’ensemble de la communauté.

Vous pouvez contribuer au projet ROS 2 de plusieurs manières.

Discussions et soutien

Certaines des façons les plus simples de contribuer à ROS 2 impliquent de s’engager dans des discussions et un soutien communautaires. Vous trouverez plus d’informations sur la manière de participer sur la page Contact.

Code contributeur

Configuration de votre environnement de développement

Pour commencer, vous voudrez installer à partir de la source ; suivez les instructions d’installation source pour votre plate-forme.

Sur quoi travailler

Nous avons identifié un certain nombre de tâches sur lesquelles les membres de la communauté pourraient travailler : elles peuvent être répertoriées en « recherchant dans les référentiels ROS 2 les problèmes étiquetés comme « demande d’aide » <https://github.com/search?q=user %3Aament+user%3Aros2+is%3Aopen+label%3A »help+wanted »&type=Issues>`__. Si vous voyez quelque chose sur cette liste sur lequel vous aimeriez travailler, veuillez commenter l’élément pour faire savoir aux autres que vous l’étudiez.

Nous avons également une étiquette pour les problèmes qui, selon nous, devraient être plus accessibles aux nouveaux contributeurs, étiquetés « bon premier numéro ». Si vous êtes intéressé à contribuer au projet ROS 2, nous vous encourageons à jeter un coup d’œil à ces questions en premier. Si vous souhaitez élargir votre réseau, nous accueillons les contributions sur tout problème ouvert (ou d’autres que vous pourriez proposer), en particulier les tâches qui ont un jalon signifiant qu’elles sont ciblées pour la prochaine version de ROS 2 (le jalon sera le la prochaine version, par exemple “crystal”).

Si vous avez du code à contribuer qui corrige un bogue ou améliore la documentation, veuillez le soumettre en tant que demande d’extraction au référentiel concerné. Pour les modifications plus importantes, il est judicieux de discuter de la proposition sur le forum ROS 2 avant de commencer à travailler dessus afin de pouvoir identifier si quelqu’un d’autre travaille déjà sur quelque chose de similaire. Si votre proposition implique des modifications des API, il est particulièrement recommandé de discuter de l’approche avant de commencer le travail.

Soumettre vos modifications de code

Les contributions de code doivent être effectuées via des demandes d’extraction vers les référentiels ros2 appropriés.

Nous demandons à tous les contributeurs de suivre les pratiques expliquées dans le guide du développeur.

Assurez-vous de exécuter des tests pour vos modifications de code car la plupart des packages ont des tests qui vérifient que le code est conforme à nos directives de style.

Devenir un mainteneur principal

Les mainteneurs de ROS 2 s’assurent que le projet progresse globalement. Les responsabilités des mainteneurs comprennent :

  • Examiner les contributions de code entrantes pour le style, la qualité et l’adéquation globale aux objectifs du référentiel/ROS 2.

  • Veiller à ce que CI continue de rester vert.

  • Fusionner les demandes d’extraction qui répondent aux normes de qualité et CI ci-dessus.

  • Résolution des problèmes signalés par les utilisateurs.

Chaque référentiel des organisations ros2 et ament possède un ensemble distinct de responsables. Devenir mainteneur d’un ou plusieurs de ces référentiels est un processus sur invitation uniquement et implique généralement les étapes suivantes :

  • Au cours de la dernière année, avoir un nombre substantiel de contributions de code au référentiel.

  • Au cours de la dernière année, effectuez un nombre important d’examens des demandes d’extraction entrantes dans le référentiel.

Environ tous les 3 mois, l’équipe ROS 2 examinera les contributions dans tous les référentiels et enverra des invitations aux nouveaux responsables. Une fois l’invitation acceptée, le nouveau mainteneur sera invité à suivre un court processus de formation sur les mécanismes et les politiques des référentiels ROS 2. Une fois ce processus de formation terminé, le nouveau responsable se verra accorder un accès en écriture aux référentiels appropriés.