While it might seem dangerous (our mantisBT tracker is hosted ans controlled by ourselves, while github is a proprietary platform), lots of veteran developers have asked for it, and I'll try to explain the motives why we think it's a good idea below:
- First let me say I also used to think it was a very bad idea. Github is now owned by Microsoft, which has a history of killing interesting projects and features if they hinder some other of their projects. And as much as our git-hosted FreeCAD code is safe there, because it is duplicated hundreds of times all over the web, if github behave badly we just decide another platform is our "official" address and we're done, the same doesn't apply to issues, which only exist on the platform, and therefore could become hostage.
- I changed my mind mainly because there is a reliable API, which allows us to extract and backup all the issues from github. I created a backup script for it, that will maintain an updated copy of all the contents of issues and pull requests at all times. If we can get out anytime, I agree with the move. (Next things to check: 1) that this scripts still holds after importing the 800+ mantis issues and 2) how easy it is to import it to another platform like gitlab, should the need arise).
- Our mantis BT tracker is full of problems: It is annoying to manage, hard to upgrade, plugins are unreliable and the most useful ones (git integration) have stopped working correctly since a long time) and not much customizable. It is annoying and a bit of a hassle to use. In fact, developers don't use it much. Also, we never managed to make its API work.
- As a result, even if it is controlled by ourselves, the data contained in our tracker is at risk. We don't have a good backup solution for it, it depends on a mysql databasse, so it doesn't exist as "physical" files, that we can keep a copy somewhwere. So even if it is controlled by us, it is in danger. That danger would be much much less on github
- We all like working with github and already work a lot on github (pull requests), so that would be really refreshing to have everything centered in one place, with issues-to-PR communication (on github PRs are issues too), easy referencing of code and commits, etc. We believe this would have a good, positive impact on issues handling (we currently have 800+ "stalled" issues under layers of dust)
- We have looked at other self-hosted solutions besided Mantis, like bugzilla, etc. We always come to the conclusion that there is no really obvious improvement over mantis (allsuffer from similar problems), and if we stay self-hosted, then let's stay with mantis.
- @chennes is experimenting with importing Mantis issues here: https://github.com/chennes/MantisToGitHub/issues and this looks pretty good so far.
- Removing the tracker would be one less self-hosted app to maintain, which, apart from freeing up some of @kkremitzki's load, would also raise the overall portability of the FreeCAD assets. Our issues data become something we keep somewhere, and can transfer anywhere else.
- There are many interesting command-line or local tools to work with github issues, such as https://github.com/stephencelis/ghi or https://github.com/muesli/gitty or the official github command line tool at https://github.com/cli/cli and it is really enjoyable to be able to work with issues the same way we work with code.
1) Revising the existing bugs. For this wee need your help. When you have time, step over the open bugs and:
A) If you cannot reproduce the bug with FreeCAD 0.19.3, please leave a note that the bug can be closed. (If you have the permission to close bugs, do so immediately.)
B) If you need more info from the bug reporter, ask for it. If the bug reporter was already asked at least 3 months ago but did not reply, please add a note to close the bug or close it immediately.
2) Finish testing and make sure everything looks fine, and issues are fully backupable
3) Put the mantis tracker in read-only mode
4) Copy the open issues over to github
5) Add a link at every open mantis issue pointing to its new URL at github
6) Keep the mantis instance running in read-only mode to not loose the existing links out there
I fear this post might be the start of a flame war, I expect -hope- a majority of contributors here to be happy about the move, so so please refrain from screaming if otherwise , keep the discussion civilized and useful, so we can tailor things better and maybe include points we forgot to consider.