.. This file is part of Invenio. Copyright (C) 2017-2018 CERN. Invenio is free software; you can redistribute it and/or modify it under the terms of the MIT License; see LICENSE file for more details. Overview ======== The goal of the maintainer system is to share the load of maintaining Invenio, spread Invenio experise and mentor new contributors. Overall maintainers are key to ensuring that Invenio has a welcoming, responsive, collaborative open and transparent community. The maintainer system is designed to allow contributors to progressively take more and more responsibility in the project, while allowing for mistakes and providing contributors with training, support and mentorship they need in order to perform their tasks. What is a maintainer? --------------------- Maintainers are first and foremost service people. They help drive Invenio development forward and ensure newcomers as well as long-time contributors have a great experience when contributing to Invenio, which is key to Invenio's longterm success. Maintainers are not only developers. We also need maintainers for translations, the website, forums, interest groups etc. **Taks:** - Help contributors get their contributions integrated in Invenio. - Answer questions and help users in e.g. the chat rooms (see :ref:`getting-help`). - Manage issues, assignments and milestones. - Review and merge pull requests. - Prepare releases. - Participate in feature development, bug fixing and proactively verfies if nightly builds are failing. - Be the domain expert on a specific topic (e.g. know the architecture of a module and how it fits into the rest of Invenio). - Help scout for and train for potential new maintainers. What is an architect? --------------------- Architects are like normal maintainers, they just maintain many more repositories and have larger overview over the Invenio architecture and ecosystem. Architects shapes and drives the overall Invenio technical architecture. **Tasks (in addition to maintainer tasks):** - Provide mentorship for maintainers. - Determine the overall Invenio architecture and ecosystem and ensure coherence thoughout the Invenio development. - Be the Invenio experts and know of use cases and interdependencies between different modules. - Signs off on new releases in their respective repositories. Becoming a maintainer --------------------- Don't forget: being a maintainer is a time investment. Make sure you will have time to make yourself available. You don't have to be a maintainer to make a difference on the project! Still sounds like something for you? Get in contact with one the Invenio product manager, one of the architects or one of the project coordinators. They will help you through the process. See :ref:`getting-help`. Stepping down as maintainer --------------------------- Don't have enough time? Changing jobs? No problem, all we ask is that you step down gracefully. Try to help find a new maintainer (if you don't alrady have a co-maintainer) and help hand-over pending tasks and knowledge to the existing or new maintainers. As soon as you know you want to step down, please notify the Invenio product manager or one of the architects team members so we can help in the transition.