I also think that we are at the point where a document describing them side-by-side is needed. I would very much like to help. I strongly support moving to GitHub Issues.
I'm less concerned about pros/cons (I think the one big pro of "everyone knows it and already has an account" outweighs almost any con) but I want to build a very clear plan of how we will map Jira features to GitHub features. I use quite a lot of Jira's features. In particular, a lot of things seem like they'll become conventions around labels, which I expect to often be low enough data quality that we would just not bother, unless we can control it a bit. I eagerly await the link! Feel free to share very early :-) Kenn On Thu, Jan 13, 2022 at 1:48 PM Aizhamal Nurmamat kyzy <aizha...@apache.org> wrote: > I think I am enthusiastic enough to help with the doc :) will share the > link soon. > > On Thu, Jan 13, 2022 at 10:12 AM Robert Bradshaw <rober...@google.com> > wrote: > >> I don't know if we have consensus, but it seems that some people are >> quite supportive (myself included), and some are ambivalent. The only >> major con I can see is that github doesn't support tagging an issue to >> multiple milestones (but it's unclear how important that is). >> >> I would suggest that someone enthusiastic about this proposal put >> together a doc where we can enumerate the pros and cons and once the >> list seems complete we can bring it back to the list for further >> discussion and/or a vote (if needed, likely not). >> >> On Thu, Jan 13, 2022 at 9:27 AM Alexey Romanenko >> <aromanenko....@gmail.com> wrote: >> > >> > 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 <aizha...@apache.org> >> wrote: >> > >> > Hi all, >> > >> > Is there a consensus to migrate to GitHub? >> > >> > On Wed, Dec 15, 2021 at 9:17 AM Brian Hulette <bhule...@google.com> >> wrote: >> >> >> >> >> >> >> >> On Tue, Dec 14, 2021 at 1:14 PM Kenneth Knowles <k...@google.com> >> wrote: >> >>> >> >>> >> >>> >> >>> On Thu, Dec 9, 2021 at 11:50 PM Jean-Baptiste Onofre <j...@nanthrax.net> >> 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 vs. >> 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 <kcwea...@google.com> 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 >> >>>> > [2] >> 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 >> >>>> > [4] >> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=191332632 >> >>>> > >> https://jira.atlassian.com/secure/WikiRendererHelpAction.jspa?section=all >> >>>> > >> >>>> > >> >>>> > On Wed, Dec 8, 2021 at 9:13 AM Alexey Romanenko < >> aromanenko....@gmail.com> 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 <ja...@potiuk.com> 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+ >> . >> >>>> > > 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 >> ). >> >>>> > > >> >>>> > > 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 < >> bhule...@google.com> 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 < >> aromanenko....@gmail.com> 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 <eh...@google.com> 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 <ja...@potiuk.com> >> 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 >> >>>> > >>>> >> >>>> > >>>> 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 < >> k...@apache.org> 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 < >> dhuntsper...@google.com> 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 < >> rob...@frantil.com> 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 >> >>>> > >>>>>>> >> >>>> > >>>>>>> On Fri, Dec 3, 2021, 12:17 PM Andy Ye <yea...@google.com> >> 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 < >> ja...@potiuk.com> 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 >> >>>> > >>>>>>>>> >> >>>> > >>>>>>>>> J, >> >>>> > >>>>>>>>> >> >>>> > >>>>>>>>> >> >>>> > >>>>>>>>> On Fri, Dec 3, 2021 at 7:46 PM Brian Hulette < >> bhule...@google.com> 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 >> >>>> > >>>>>>>>>> [2] https://github.com/apache/arrow-datafusion/issues >> >>>> > >>>>>>>>>> [3] >> https://issues.apache.org/jira/projects/AIRFLOW/issues >> >>>> > >>>>>>>>>> [4] https://github.com/apache/airflow/issues >> >>>> > >>> >> >>>> > >>> >> >>>> > >> >>>> >> > >> >