Developer leads, issue triage, and code styles in our new contributor’s guide
We have published a new contributor’s guide with everything a coder needs to know about our software development process. Read on to learn more about how the development team is changing and how you can make contributions to OJS, OMP and OPS.
The contributor’s guide builds on changes we announced regarding how we collect and manage community feedback. In addition to those changes, the guide describes how we organize bug reports and feature requests, distribute the workload among members of our development team, and track progress.
Developer leads
We are adopting changes to how we manage work in our development team. We have appointed three developer leads who will each be responsible for certain parts of the software. Our three leads are:
- Alec Smecher, Infrastructure Lead
The infrastructure lead is responsible for all tasks related to the underlying software architecture and development tools. This includes things like routing, localization, caching, tests, upgrades, dependencies, deployment and performance. (Alec remains PKP’s Associate Director of Development and head of the dev team.)
- Bozana Bokan, Distribution and Metadata Lead
The distribution and metadata lead is responsible for all tasks related to metadata, deposits, and Library Information Sciences (LIS) protocols. This includes things like DOIs, OAI-PMH, Crossref, statistics, themes, versioning and retraction. - Nate Wright, Workflow Lead
The workflow lead is responsible for all tasks related to the editorial workflow. This includes things like the submission lists, the submission wizard, editorial decisions, participant assignments, submission files, and the author and reviewer workflows.
PKP’s developers will continue to work collaboratively across all parts of the software. However, a development lead will be the managing expert and the decision-making authority on development work that impacts their field. In time, we hope that this will help us cultivate specialized expertise among members of the development team.
We’ll document the current developer leads at all times in the Teams section of our contributor’s guide.
Issue management
Our new contributor’s guide describes the changes we have made to help us manage our pile of more than 1,000 GitHub issues. We have streamlined our issue labels, and adopted new projects to organize them into groups, like the Peer Review and Statistics projects. We have also set out a new approach to the issue lifecycle, so that you can see whether an issue is on the backlog, planned for a future release or under active development.
Many of our existing issues on GitHub have not been migrated to the new procedure for issue management. It will likely take us a year or more to clear out our backlog. In the meantime, if you see an issue that is not assigned to a project or a milestone, you should assume that work on it has not been planned and the issue may be closed at any time.
Learn more in the Issue Management section of our contributor’s guide.
Style guide and pull requests
Finally, we’ve published a coding style guide and detailed information to help you make code contributions. Learn how to discuss proposals with our team, stage your changes against our development branch, style commit messages, and prepare your pull requests for code review.
In particular, we provide detailed instructions for coders and reviewers about what to expect from code review. We have cultivated an amazing, supportive culture for coding contributions which is unique in the open source community. We hope publishing this policy will help ensure our reviews are friendly, constructive and rigorous.
Learn more about how to prepare a pull request.
Conclusion
We hope that this contributor’s guide is useful to the community and helps you make contributions to our software. But I’m sure we’ve missed something. If you’re a coder, let us know what you wanted to learn in our contributor’s guide but couldn’t find. You can post in our community forum or, better yet, open a pull request in our documentation repository.