Skip to main content

Component lead duties

This guide should give prospective and current Rucio component leads a better understanding of what is expected from them in their role. Component leads, together with the project leader, form the Core Development team of Rucio. The current component leads and their deputies are listed on the component leads page. The main responsibility of a component lead is to take formal responsibility in planning and developing contributions for their respective component. They are the core experts and the point of contact in case of issues as well as to guide new developments within their components.

However, their responsibility as a member of the Rucio Core Development team goes further than that. Every Core Development team member should be focused on improving the Rucio software and project at large, beyond the limits of their component.

There is no expectation that the component lead (or deputies) implement any arbitrary feature request for their component, however, they should advise other contributors in their efforts.

As a component lead you must

  • Take responsibility for the evolution and maintenance of your component;
    • This means making an effort to actively improve the component, rather than solely reacting to bug submissions;
  • Take an active role in the Rucio project, be open to sharing your opinion on how your component, but also the wider Rucio project, should evolve;
    • Participate in the major release planning;
  • Regularly join the weekly Rucio meeting;
  • Be present on the Rucio Mattermost team;
  • Keep the documentation of your component accurate and up to date;
    • New features and behavioural changes should be reflected in the project documentation as part of the development effort, not as an afterthought;
  • Give advice and guide other developers in their contributions to Rucio, especially concerning your component;
  • Give advice to Rucio operators in their usage of Rucio, especially concerning areas of your component;
  • Actively participate in code reviews; be the default code reviewer of contributions to your component;
  • Participate in the two-week sprints;
  • Support the handling of security vulnerabilities according to the Rucio security policy;
    • You may be asked to help analyse and fix vulnerabilities affecting your component; treat all information about a (possible) vulnerability confidentially, develop and review fixes in the private repositories rather than via the regular contribution process, and coordinate all actions with the project leader and the security component lead;
    • Do not share any information about a vulnerability publicly before the advisory is formally published;
  • On GitHub
    • Actively read and react to GitHub notifications;
    • Assign maintenance issues (to yourself, or if agreed to others) which fall into your component;
    • Advise on feature requests or proposed developments of your component;
    • Close issues (if duplicate, unsuitable) of your component;
    • Comment on issues, especially the ones of your component;
    • Review pull requests, especially the ones of your component;
    • Merge pull requests ...
      • ... in the core repository, if you are part of the merge team;
      • ... in the secondary repositories, if they fall into the responsibility of your component;

As a deputy component lead you must

  • Collaborate with and support the component lead in their duties;
    • For large components it is acceptable to agree on a partition of different work areas of a component assigned to the different deputies;
  • Stay up to date with the developments in your component, so that you can take over from the component lead at any time;
    • This includes following the issues and pull requests of your component, being present on the Rucio Mattermost team, and regularly joining the weekly Rucio meeting;
  • Replace the component lead in their absence;
    • This includes reviewing pull requests, reacting to issues of your component, and representing the component in the weekly Rucio meeting and in the release planning;