I've been kicking this idea around for a bit and have chatted a little with people on IRC but as we're looking to start up development on taskbot, I want to have a larger discussion on two issues: where do we host code and what do we want to use for dev support tools (issue tracking, code review etc.).
We've been using fedorahosted git, fedorahosted trac and a reviewboard instance on openshift for blockerbugs. It works but I've not been all that thrilled with the setup and would like to use something different for taskbot. It's hard to deny github's popularity among developers; fedora infrastructure has started hosting several projects there [1]. Many developers have github accounts and are already familiar with the github workflow. [1] https://github.com/fedora-infra However, I have several concerns with the prospect of using github for Taskbot. The most obvious of which is the semi-closed nature of github; it is a commercial tool and from certain points of view, this is not an ideal choice. While I would certainly prefer 100% open tools, I think that there are better reasons to take on hosting our own stuff. The bigger concern I have is with github's issue tracking system. It's rather primitive, doesn't allow moving issues between repos and you have to be a group member to get a global view of the issues filed in that group. Taskbot is made up of many sub-components and as such, I don't think sticking everything in a single repository would be a good idea and I'd rather not have to manage issues spread across multiple instances. This makes me wonder if just using github is a good idea. If we start looking at alternative tools, there are plenty of options but I've been gravitating more towards phabricator [2]. I've set up a demo instance on my personal VPS that you're welcome to poke at [3]. I've talked with a few people about the demo instance and have been getting mostly positive feedback. [2] http://phabricator.org/ [3] https://supermegawaffle.com/ Anonymously browse-able links: - Projects: https://supermegawaffle.com/project/ - Repositories: https://supermegawaffle.com/diffusion/ - Issues: https://supermegawaffle.com/maniphest/ - Code Reviews: https://supermegawaffle.com/differential/ - Design Mockups: https://supermegawaffle.com/pholio/ Things I like: - one place for issues, code reviews, team communication and coordination - easy to do mockups and other visual/design stuff - allows for pre-commit code reviews and post-commit code audits - allows some enforcement of lint and test running as code is submitted for review - enables sign-off if we end up needing it - logs IRC channels - cool stuff like hooks for elasticsearch to allow full-text indexing of bugs, git logs, reviews, etc. Concerns I have: - doesn't have much support anonymous browsing yet. You can set individual issues, reviews etc. to be publicly viewable (links to the demo instance are at the end of this email) but it is not possible to have public access set by default yet. this is a feature currently in progress and it looks like it'll be done before too long * https://secure.phabricator.com/T603 (login required) - doesn't support openid (FAS) out of the box. upstream is not against adding support for openid if someone does the work but it's not a priority for them. * we might be able to use the out-of-box oauth with FAS if/when they implement oauth but I'm not sure what the timeline is on that right now. - standing up a production instance wouldn't be free. I think we'd be able to get hosting resources from infra but I don't think they have the human bandwidth to support this much. * we would probably be responsible for maintenance and any possible breakage * I don't have a good feel for what this would cost yet; this is a demo instance that's been up for about a week. If we're OK with non-open tools, Jira [4] is another option. They offer free hosted and self-hosted versions of their tools to open source projects [5]. Atlassian has been offering this for a long time and their tools are used by other open source projects like the apache project and jboss. I've not spent much time with Jira but have heard more good things than bad things about it. [4] https://www.atlassian.com/software/jira [5] https://www.atlassian.com/software/views/open-source-license-request So after a long novel-disguised-as-an-email, I have two main questions: Where do we want to host code for Taskbot and future QA development projects? - fedorahosted? github? bitbucket? I don't have a huge preference on the location as long as we're talking about git repos, to be honest. What do we want to use for issue tracking? - This is the bigger issue, is there enough interest in phabricator to justify getting it working with fas-openid and doing a larger trial? - Do we want to explore using JIRA? Anyhow, thoughts on all this would be very much appreciated. Tim
signature.asc
Description: PGP signature
_______________________________________________ qa-devel mailing list qa-de...@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/qa-devel