I’m not sure that we have a consensus on this. Since this thread initially was started to discuss and gather some feedback then I think it would be great to have a summary with pros and cons of this migration.
— Alexey > On 13 Jan 2022, at 00:11, Aizhamal Nurmamat kyzy <[email protected]> wrote: > > Hi all, > > Is there a consensus to migrate to GitHub? > > On Wed, Dec 15, 2021 at 9:17 AM Brian Hulette <[email protected] > <mailto:[email protected]>> wrote: > > > On Tue, Dec 14, 2021 at 1:14 PM Kenneth Knowles <[email protected] > <mailto:[email protected]>> wrote: > > > On Thu, Dec 9, 2021 at 11:50 PM Jean-Baptiste Onofre <[email protected] > <mailto:[email protected]>> wrote: > Hi, > > No problem for me. The only thing I don’t like with GitHub issues is that > fact that it’s not possible to “assign” several milestones to an issue. > When we maintain several active branch/version, it sucks (one issue == one > milestone), as we have to create several issue. > > This is a good point to consider. In Beam we often create multiple issues > anyhow when we intend to backport/cherrypick a fix. One issue for the > original fix and one each targeted cherrypick. This way their resolution > status can be tracked separately. But it is nice for users to be able to go > back and edit the original bug report to say which versions are affected and > which are not. > > I looked into this a little bit. It looks like milestones don't have to > represent a release (e.g. they could represent some abstract goal), but they > are often associated with releases. This seems like a reasonable field to map > to "Fix Version/s" in jira, but jira does support specifying multiple > releases. So one issue == one milestone would be a regression. > As Kenn pointed out though we often create a separate jira to track backports > anyway (even though we could just specify multiple fix versions), so I'm not > sure this is a significant blocker. > > If we want to use milestones to track abstract goals, I think we'd be out of > luck. We could just use labels, but the GitHub UI doesn't present a nice > burndown chart for those. See https://github.com/pandas-dev/pandas/milestones > <https://github.com/pandas-dev/pandas/milestones> vs. > https://github.com/pandas-dev/pandas/labels > <https://github.com/pandas-dev/pandas/labels>. FWIW jira doesn't have great > functionality here either. > > > Kenn > > > Regards > JB > > > Le 10 déc. 2021 à 01:28, Kyle Weaver <[email protected] > > <mailto:[email protected]>> a écrit : > > > > I’m in favor of switching to Github issues. I can’t think of a single thing > > jira does better. > > > > Thanks Jarek, this is a really great resource [1]. For another reference, > > the Calcite project is engaged in the same discussion right now [2]. I came > > up with many of the same points independently before I saw their thread. > > > > When evaluating feature parity, we should make a distinction between > > non-structured (text) and structured data. And we don’t need a strict > > mechanical mapping for everything unless we’re planning on automatically > > migrating all existing issues. I don’t see the point in automatic > > migration, though; as Jarek pointed out, we’d end up perpetuating a ton of > > obsolete issues. > > > > • We use nested issues and issue relations in jira, but as far as I > > know robots don’t use them and we don’t query them much, so we’re not > > losing anything by moving from an API to plain English descriptions: “This > > issue is blocked by issue #n.” Mentions show up automatically on other > > issues. > > • For component, type, priority, etc., we can use Github labels. > > • Version(s) affected is used inconsistently, and as far as I know > > only by humans, so a simple English description is fine. We can follow the > > example of other projects and make the version affected a part of the issue > > template. > > • For fix version, which we use to track which issues we want to fix > > in upcoming releases, as well as automatically generate release notes: > > Github has “milestones,” which can be marked on PRs or issues, or both. > > • IMO the automatically generated JIRA release notes are not > > especially useful anyway. They are too detailed for a quick summary, and > > not precise enough to show everything. For a readable summary, we use > > CHANGES.md to highlight changes we especially want users to know about. For > > a complete list of changes, there’s the git commit log, which is the > > ultimate source of truth. > > • We’d only want to preserve reporter and assignee if we’re planning > > on migrating everything automatically, and even then I think it’d be fine > > to compile a map of active contributors and drop the rest. > > > > As for the advantages of switching (just the ones off the top of my head): > > • As others have mentioned, it’s less burden for new contributors to > > create new issues and comment on existing ones. > > • Effortless linking between issues and PRs. > > • Github -> jira links were working for a short while, but > > they seem to be broken at the moment. > > • Jira -> github links only show: “links to GitHub Pull > > Request #xxxxx”. They don’t say the status of the PR, so you have to follow > > the link to find out. Especially inconvenient when one jira maps to several > > PRs, and you have to open all the links to get a summary of what work was > > done. > > • When you mention a GH issue in a pull request, a link to > > the PR will automatically appear on the issue, including not just the ID > > but also the PR’s description and status (open/closed/draft/merged/etc.), > > and if you hover it will show a preview as well. > > • We frequently merge a PR and then forget to mark the jira > > as closed. Whereas if a PR is linked to a GH issue using the “closes” > > keyword, the GH issue will automatically be closed [3]. > > • I don’t have to look up or guess whether a github account and jira > > account belong to the same person. > > • There’s a single unified search bar to find issues, PRs, and code. > > • Github enables markdown formatting everywhere, which is more or > > less the industry standard, whereas Jira has its own bespoke system [4]. > > • In GH issues, links to Github code snippets will automatically > > display the code snippet inline. > > • GH labels are scoped to each project, whereas ASF Jira labels are > > an unmanageable, infinitely growing namespace (see “flake,” “flaky,” > > “flakey,” “Flaky,” “flaky-test”...). > > > > [1] > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=191332632 > > <https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=191332632> > > [2] > > https://mail-archives.apache.org/mod_mbox/calcite-dev/202112.mbox/%3CCAB%3DJe-EuaijDjwb6umU_N2TaqFZawE%2BUbgZAgZYvrgPFypfAYQ%40mail.gmail.com%3E > > > > <https://mail-archives.apache.org/mod_mbox/calcite-dev/202112.mbox/%3CCAB%3DJe-EuaijDjwb6umU_N2TaqFZawE%2BUbgZAgZYvrgPFypfAYQ%40mail.gmail.com%3E> > > [3] > > https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword > > > > <https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword> > > [4] > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=191332632 > > <https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=191332632> > > https://jira.atlassian.com/secure/WikiRendererHelpAction.jspa?section=all > > <https://jira.atlassian.com/secure/WikiRendererHelpAction.jspa?section=all> > > > > > > On Wed, Dec 8, 2021 at 9:13 AM Alexey Romanenko <[email protected] > > <mailto:[email protected]>> wrote: > > Many thanks for details, Jarek! > > > > Actually, your experience proves that the full data transfer is very > > expensive (if even possible) and not necessary, especially taking the fact > > that the number of Beam Jira issues is a couple of orders more than Airflow > > one. So, very likely that we will end up by living with two issue > > trackers, at least for some time, to avoid issue duplications and have an > > access to old ones. This can be very confusing. > > > > In the same time, except the argument of “one tool for everything”, which > > is quite strong for sure, I don’t see any other advantages of GH issues > > over Jira issues. Also, the more important is not to lose what we have for > > now, as Jan mentioned below. > > > > So, my vote for now is -0 since it has significant pros and cons and the > > final impact is not evident. > > > > — > > Alexey > > > > > On 8 Dec 2021, at 01:38, Jarek Potiuk <[email protected] > > > <mailto:[email protected]>> wrote: > > > > > >> Do I understand correctly that this transition (if it will happen) > > >> includes the transfer of all Beam Jira archive to GitHub issues with a > > >> proper statuses/comments/refs/etc? If not, what are the options? > > > > > > Suggestion from the experience of Airflow again - you can look it up > > > in our notes. > > > > > > We've tried it initially to copy the issues manually or in bulk, but > > > eventually we decided to tap into the wisdom and cooperation of our > > > community. > > > > > > We migrated some (not many) important things only and asked our users > > > to move the important issues if they think they are still > > > relevant/important to them. We closed the JIRA for entry and left the > > > issues in JIRA in read-only state so that we could always refer to > > > them if needed. > > > > > > So rather than proactively copy the issues, we asked the users to make > > > the decision which issues are important to them and proactively move > > > it and we left an option of reactive moving if someone came back to > > > the issue later. > > > > > > That turned out to be a smart decision considering the effort it would > > > require to smartly move the issues vs. the results achieved. And > > > helped us to clean some "stale/useless/not important" issues. > > > > > > We've had 1719 open JIRA issues when we migrated. Over the course of > > > ~1.5 years (since about April 2020) we've had ~140 issues that refer > > > to any of the JIRA issues > > > https://github.com/apache/airflow/issues?q=is%3Aissue+is%3Aclosed+%22https%3A%2F%2Fissues.apache.org%2Fjira%22+ > > > > > > <https://github.com/apache/airflow/issues?q=is%3Aissue+is%3Aclosed+%22https%3A%2F%2Fissues.apache.org%2Fjira%22+>. > > > Currently we have > 4500 GH issues (3700 closed, 800 opened). > > > > > > This means that roughly speaking only < 10% of original open JIRA > > > issues were actually somewhat valuable (roughly speaking of course) > > > and they were < 5% of today's numbers. Of course some of the new GH > > > issues duplicated those JIRA ones. But not many I think, especially > > > that those issues in JIRA referred mostly to older Airflow versions. > > > > > > One more comment for the migration - I STRONGLY recommend using well > > > designed templates for GH issues from day one. That significantly > > > improves the quality of issues - and using Discussions as the place > > > where you move unclear/not reproducible issues (and for example > > > guiding users to use discussions if they have no clearly reproducible > > > case). This significantly reduces the "bad issue overload" (see also > > > more detailed comments in > > > https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=191332632 > > > > > > <https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=191332632>). > > > > > > I personally think a well designed issue entry process for new issues > > > is more important than migrating old issues in bulk. Especially if you > > > will ask users to help - as they will have to make a structured entry > > > with potentially more detailed information/reproducibility) or they > > > will decide themselves that opening a github discussion is better than > > > opening an issue if they do not have a reproducible case. Or they will > > > give up if too much information is needed (but this means that their > > > issue is essentially not that important IMHO). > > > > > > But this is just friendly advice from the experience of those who did > > > it quite some time ago :) > > > > > > J. > > > > > > On Wed, Dec 8, 2021 at 1:08 AM Brian Hulette <[email protected] > > > <mailto:[email protected]>> wrote: > > >> > > >> At this point I just wanted to see if the community is interested in > > >> such a change or if there are any hard blockers. If we do go down this > > >> path I think we should port jiras over to GH Issues. You're right this > > >> isn't trivial, there's no ready-made solution we can use, we'd need to > > >> decide on a mapping for everything and write a tool to do the migration. > > >> It sounds like there may be other work in this area we can build on > > >> (e.g. Airflow may have made a tool we can work from?). > > >> > > >> I honestly don't have much experience with GH Issues so I can't provide > > >> concrete examples of better usability (maybe Jarek can?). From my > > >> perspective: > > >> - I hear a lot of grumbling about jira, and a lot of praise for GitHub > > >> Issues. > > >> - Most new users/contributors already have a GitHub account, and very > > >> few already have an ASF account. It sounds silly, but I'm sure this is a > > >> barrier for engaging with the community. Filing an issue, or commenting > > >> on one to provide additional context, or asking a clarifying question > > >> about a starter task should be very quick and easy - I bet a lot of > > >> these interactions are blocked at the jira registration page. > > >> > > >> Brian > > >> > > >> On Tue, Dec 7, 2021 at 9:04 AM Alexey Romanenko > > >> <[email protected] <mailto:[email protected]>> wrote: > > >>> > > >>> Do I understand correctly that this transition (if it will happen) > > >>> includes the transfer of all Beam Jira archive to GitHub issues with a > > >>> proper statuses/comments/refs/etc? If not, what are the options? > > >>> > > >>> Since this transfer looks quite complicated at the first glance, what > > >>> are the real key advantages (some concrete examples are very > > >>> appreciated) to initiate this process and what are the show-stoppers > > >>> for us with a current Jira workflow? > > >>> > > >>> — > > >>> Alexey > > >>> > > >>> On 6 Dec 2021, at 19:48, Udi Meiri <[email protected] > > >>> <mailto:[email protected]>> wrote: > > >>> > > >>> +1 on migrating to GH issues. > > >>> We will need to update our release process. Hopefully it'll make it > > >>> simpler. > > >>> > > >>> > > >>> On Sat, Dec 4, 2021 at 2:35 AM Jarek Potiuk <[email protected] > > >>> <mailto:[email protected]>> wrote: > > >>>> > > >>>> Just to add a comment on those requirements Kenneth, looking into the > > >>>> near future. > > >>>> > > >>>> Soon GitHub issues will open for GA a whole new way of interacting > > >>>> with the issues (without removing the current way) which will greatly > > >>>> improve iI think all aspects of what You mentioned). The issues (and > > >>>> associated projects) will gain new capabilities: > > >>>> > > >>>> * structured metadata that you will be able to define (much better > > >>>> than unstructured labels) > > >>>> * table-like visualisations which will allow for fast, bulk, > > >>>> keyboard-driven management > > >>>> * better automation of workflows > > >>>> * complete APIs to manage the issues (good for GitHub Actions > > >>>> integration for example) > > >>>> > > >>>> Re: assigning by non-committers is one of the things that won't work > > >>>> currently. Only comitters can assign the issues, and only if a user > > >>>> commented on the issue. But it nicely works - when a user comments "I > > >>>> want to work on that issue", a committer assigns the user. And It > > >>>> could be easily automated as well. > > >>>> > > >>>> You can see what it will is about here: > > >>>> https://github.com/features/issues <https://github.com/features/issues> > > >>>> > > >>>> They are currently at the "Public Beta" and heading towards General > > >>>> Availability, but it is not available to "open" projects yet. However > > >>>> I have a promise from the GitHub Product manager (my friend heads the > > >>>> team implementing it) that ASF will be the first on the list when the > > >>>> public projects will be enabled, because it looks like it will make > > >>>> our triaging and organisation much better. > > >>>> > > >>>> J. > > >>>> > > >>>> On Sat, Dec 4, 2021 at 1:46 AM Kenneth Knowles <[email protected] > > >>>> <mailto:[email protected]>> wrote: > > >>>>> > > >>>>> This sounds really good to me. Much more familiar to newcomers. I > > >>>>> think we end up doing a lot more ad hoc stuff with labels, yes? > > >>>>> Probably worth having a specific plan. Things I care about: > > >>>>> > > >>>>> - priorities with documented meaning > > >>>>> - targeting issues to future releases > > >>>>> - basic visualizations (mainly total vs open issues over time) > > >>>>> - tags / components > > >>>>> - editing/assigning by non-committers > > >>>>> - workflow supporting "needs triage" (default) -> open -> resolved > > >>>>> > > >>>>> I think a lot of the above is done via ad hoc labels but I'm not sure > > >>>>> if there are other fancy ways to do it. > > >>>>> > > >>>>> Anyhow we should switch even if there is a feature gap for the sake > > >>>>> of community. > > >>>>> > > >>>>> Kenn > > >>>>> > > >>>>> On Fri, Dec 3, 2021 at 3:06 PM David Huntsperger > > >>>>> <[email protected] <mailto:[email protected]>> wrote: > > >>>>>> > > >>>>>> Yes, please. I can help clean up the website issues as part of a > > >>>>>> migration. > > >>>>>> > > >>>>>> On Fri, Dec 3, 2021 at 1:46 PM Robert Burke <[email protected] > > >>>>>> <mailto:[email protected]>> wrote: > > >>>>>>> > > >>>>>>> Similar thing happened for Go migrating to use GH issues for > > >>>>>>> everything from Language Feature proposals to bugs. Much easier > > >>>>>>> than the very gerrit driven process it was before, and User > > >>>>>>> Discussions are far more discoverable by users: they usually > > >>>>>>> already have a GH account, and don't need to create a new separate > > >>>>>>> one. > > >>>>>>> > > >>>>>>> GitHub does seem to permit user directed templates for issues so we > > >>>>>>> can simplify issue triage by users: Eg for Go there are a number of > > >>>>>>> requests one can make: > > >>>>>>> https://github.com/golang/go/issues/new/choose > > >>>>>>> <https://github.com/golang/go/issues/new/choose> > > >>>>>>> > > >>>>>>> On Fri, Dec 3, 2021, 12:17 PM Andy Ye <[email protected] > > >>>>>>> <mailto:[email protected]>> wrote: > > >>>>>>>> > > >>>>>>>> Chiming in from the perspective of a new Beam contributor. +1 on > > >>>>>>>> Github issues. I feel like it would be easier to learn about and > > >>>>>>>> contribute to existing issues/bugs if it were tracked in the same > > >>>>>>>> place as that of the source code, rather than bouncing back and > > >>>>>>>> forth between the two different sites. > > >>>>>>>> > > >>>>>>>> On Fri, Dec 3, 2021 at 1:18 PM Jarek Potiuk <[email protected] > > >>>>>>>> <mailto:[email protected]>> wrote: > > >>>>>>>>> > > >>>>>>>>> Comment from a friendly outsider. > > >>>>>>>>> > > >>>>>>>>> TL; DR; Yes. Do migrate. Highly recommended. > > >>>>>>>>> > > >>>>>>>>> There were already similar discussions happening recently > > >>>>>>>>> (community > > >>>>>>>>> and infra mailing lists) and as a result I captured Airflow's > > >>>>>>>>> experiences and recommendations in the BUILD wiki. You might find > > >>>>>>>>> some > > >>>>>>>>> hints and suggestions to follow as well as our experiences at > > >>>>>>>>> Airflow: > > >>>>>>>>> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=191332632 > > >>>>>>>>> > > >>>>>>>>> <https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=191332632> > > >>>>>>>>> > > >>>>>>>>> J, > > >>>>>>>>> > > >>>>>>>>> > > >>>>>>>>> On Fri, Dec 3, 2021 at 7:46 PM Brian Hulette <[email protected] > > >>>>>>>>> <mailto:[email protected]>> wrote: > > >>>>>>>>>> > > >>>>>>>>>> Hi all, > > >>>>>>>>>> I wanted to start a discussion to gauge interest on moving our > > >>>>>>>>>> issue tracking from the ASF Jira to GitHub Issues. > > >>>>>>>>>> > > >>>>>>>>>> Pros: > > >>>>>>>>>> + GH Issues is more discoverable and approachable for new users > > >>>>>>>>>> and contributors. > > >>>>>>>>>> + For contributors at Google: we have tooling to integrate GH > > >>>>>>>>>> Issues with internal issue tracking, which would help us be more > > >>>>>>>>>> accountable (Full disclosure: this is the reason I started > > >>>>>>>>>> thinking about this). > > >>>>>>>>>> > > >>>>>>>>>> Cons: > > >>>>>>>>>> - GH Issues can't be linked to jiras for other ASF projects (I > > >>>>>>>>>> don't think we do this often in jira anyway). > > >>>>>>>>>> - We would likely need to do a one-time migration of jiras to GH > > >>>>>>>>>> Issues, and update any processes or automation built on jira > > >>>>>>>>>> (e.g. release notes). > > >>>>>>>>>> - Anything else? > > >>>>>>>>>> > > >>>>>>>>>> I've always thought that using ASF Jira was a hard requirement > > >>>>>>>>>> for Apache projects, but that is not the case. Other Apache > > >>>>>>>>>> projects are using GitHub Issues today, for example the Arrow > > >>>>>>>>>> DataFusion sub-project uses GitHub issues now [1,2] and Airflow > > >>>>>>>>>> migrated from jira [3] to GitHub issues [4]. > > >>>>>>>>>> > > >>>>>>>>>> [1] > > >>>>>>>>>> https://lists.apache.org/thread/w3dr1vlt9115r3x9m7bprmo4zpnog483 > > >>>>>>>>>> <https://lists.apache.org/thread/w3dr1vlt9115r3x9m7bprmo4zpnog483> > > >>>>>>>>>> [2] https://github.com/apache/arrow-datafusion/issues > > >>>>>>>>>> <https://github.com/apache/arrow-datafusion/issues> > > >>>>>>>>>> [3] https://issues.apache.org/jira/projects/AIRFLOW/issues > > >>>>>>>>>> <https://issues.apache.org/jira/projects/AIRFLOW/issues> > > >>>>>>>>>> [4] https://github.com/apache/airflow/issues > > >>>>>>>>>> <https://github.com/apache/airflow/issues> > > >>> > > >>> > > >
