Redmine vs Github
Inspired by a few conversations, I wanted to raise a discussion around the use of Redmine versus Github for issue tracking for the project as a whole. I think it worth having a discussion to think about and decide:
Do we want to make a change to adopt Github for issue and release management or lean into Redmine and prioritize outstanding actions and usage of it.
There are two perspectives by which to consider this:
- What would developers like the workflow to be for handling user reported issues and handling of releases
- What would be best for our users filing issues, tracking them, contributing and communicating with developers
My ask is that both developers and users share their opinions, usage requirements or restrictions and general feedback.
Current State of Issue Tracking
The current state of issue tracking within Foreman is a mixture of Redmine and Github issues. The primary projects continue to use and (mostly) enforce a Redmine issue for any pull requests. While a lot of secondary projects and some plugins have opted for using Github issues.
Examples using Redmine strictly:
- Foreman / smart-proxy / installer
- Katello
- Remote Execution
- Tasks
- Discovery
- Webhooks
Examples using Redmine sometimes, Github issues sometimes, just PRs sometimes:
- foreman-installer
- puppet modules
- foreman_rh_cloud
Examples using Github issues and/or just pull requests:
- foreman-ansible-modules
- foreman-operation-collection
- foreman-documentation
- foreman_ygg_worker
- foreman_puppet
- foreman-js
- forklift / foreman-infra / foreman-packaging
Pros and Cons
Redmine
Pros
- Redmine as the place for issues has existed for 10+ years within the project
- Our tooling and scripts know about Redmine
- Can create relationships between issues across different projects in Redmine
Cons
- A piece of infrastructure we have to manage, monitor and keep up to date
- Requires users who want to file issues to create yet another account for our Redmine
- Separated from the place the work is done - Github pull requests
Github
Pros
- Github issues are a tab away from pull requests and can reference each other
- Github accounts are more common and extract away the projects need to maintain separate logins for users
- Lower overhead to fix and report an issue
- Would mostly eliminate the need to run https://github.com/theforeman/prprocessor reducing infrastructure further
- Github provides Projects feature to coordinate multiple repositories issues together around some theme
Cons
- Scripts and release tooling would need to be updated for the major projects
- Redmine issues in the backlog that would need to migrate
- Redmine would need to run for some period of time as an archive for ability to reference older, closed issues
Infrastructure Needs Impacting Decision
Redmine is an application that we as the community run and manage. There are pending changes that need action taken on them that are elevated or negated by this conversation. Those needs::
- Redmine needs to be migrated off Scaleways
- Redmine needs to be migrated onto an EL8+ host
- Redmine needs to be upgraded from Redmine 3 to 4 (and ensure plugins continue to work)
As mentioned previously, there would need to be some element of keeping Redmine around in a read-only style mode somewhere for archive reasons.
Adding a poll:
- Switch to Github for all projects
- Continuing using Redmine and Github in hybrid mode
- Invest in Redmine and use it in more projects
0 voters