It also seems like we're describing two different issues.  The first,
a barrier to entry for new development.  The second, overhead imposed
on an active developer.  I'm personally not so worried about the
overhead imposed, perhaps because I can't write code that fast
anyways, so I'll stay out of that discussion.

I think the barrier to entry is not so much "I don't know which issue
tracker to use" or "I have to follow a bunch of steps" as it is "I'm
pretty sure I can improve this but not 100% sure and I don't want to
look like a fool and this is a huge code base and I'd need a lot of
help getting started and I don't want to burden people."

Also, I would challenge the fact that people born after the year 2000
are cognitively identical :)  Someone born after 2000 treats email the
same way people born after 1970 treat phone calls.  Most gen Z I work
with see gmail as an authentication tool and not a communication tool.

I think Fernando's point about informal discussion is a good one.  I
don't think Github is the tool you'd want for this anyways.  We have
Zulip but it is not advertised (e.g.
https://arrow.apache.org/community/).  It's also heavily
developer-centric and not user-centric at the moment.  If we want
something like that I'd be willing to help with the management /
answering questions as I'm able.

On Tue, Mar 2, 2021 at 9:11 AM Jorge Cardoso Leitão
<jorgecarlei...@gmail.com> wrote:
>
> Hi Antoine,
>
> Can you expand a bit on this?  In particular, which aspects of using
> > JIRA feel bureaucratic?  Is it the requirement to create a new issue
> > for each PR?  Or is it other concerns (such as the UI for entering or
> > searching issues)?
> >
>
> First of all, thank you for taking my concerns and actively trying to
> understand them.
>
> It is advantageous for everyone to have small, focused PRs, as they are
> easy to review and can narrow the discussion to a single problem. This also
> makes it easy for new contributors to start. For this to work, we need a
> system on which the work needed to create and merge PRs must be small in
> absolute terms, as the "meat" of the PR may be small. *This* IMO is not
> working. As a flavour, below is the usual process for a situation on which
> while working on an issue, I found a side issue and need for PR it:
>
> 1. create the PR on github with the fix
> 2. got an email from github that a bot commented that I must put the JIRA
> issue. Got it, I forgot about that...
> 3. go to JIRA, if not logged in, log in (3 clicks + some password manager
> stuff, and be redirected to a random page)
> 4. press "create issue"
> 5. Fill content:
>    * type
>    * Summary (do not forget to add the component to the title)
>    * component
>    * assign myself
>    * description(*)
> 6. press create. A small popup on JIRA will show that it was created. It is
> really difficult to copy-paste the issue number from the pop up:
> 7. Press on it before it disappears so that I can easily copy-paste its
> number. I need to be fast, though: if it disappears before I press on it, I
> will need to find it, which is a story on itself.
> 8. go back to github and modify the title
>
> (*) I already wrote a description on the PR using markdown, which is when I
> was first thinking about the PR itself. JIRA does not support markdown, so
> I can't copy-paste. I now need to fight with the "visual" editor, or
> remember what the notation is for the text. I also need to remember that
> {{{ }}}, not backticks, is for code. I will likely leave that one empty.
>
> I am adding hiccups above because they do happen due to the mental workload
> involved, even for someone quite proficient at this.
>
> Let's now assume that all is done and we can merge it. Let's assume for
> simplicity that the PR was done by a contributor that is already a member
> of JIRA and already has a contributor role on JIRA (the easy case).
>
> 1. Open a terminal and navigate to a clone of the arrow project that
> already has a Python venv on it
> 2. run `source venv/bin/activate` (our script has some external
> requirements, thus we need this)
> 3. run `dev/merge_pr.py PR number`. What was the PR number again?
> 4. Go to github and copy the PR number
> 5. paste on the terminal and press enter
> 6. Now type my username from JIRA
> 7. Now my password. I store all my passwords on a password manager with a
> browser extension and often work from different VMs via ssh. Thus, I go to
> JIRA on the browser, click on the extension and copy password
> 8. paste on my terminal and press enter
> 9. Assuming that no conflicts arise, press enter/yes 2 or 3 times and it is
> merged and pushed. Great!
> 10. When updating the JIRA issue, I noticed on the terminal that the
> component is missing. Dam...
> 11. press on the JIRA link on the terminal (and a possible new login) and
> add the necessary components
> 12. press enter on the terminal. Now we are done.
> 13. Go to github and thank the contributor for the great work.
>
> IMO, these flows are large. They represent about the same time I would need
> to create the small fix, a test, and PR it, including the PR description.
>
> Maybe some people have better flows than I do, but my understanding from
> other committers is that these steps are more or less representative of a
> good day (i.e. no merge conflicts, master passing, etc).
>
> A corollary problem is that this is not something only on committers /
> PMCs' plate. Let's now go through the other side: I am a brand new
> contributor.
>
> 1. create the PR on github because I found something to fix and fixed it
> 2. got an email by a bot that I must follow some convention.
> 3. okk, let me try to fix the title. Oh, I need an issue in JIRA...
> 3. go to JIRA and there is no "create issue" option...
> 4. somehow I figured that I need to create an account.
> 5. There is no option to create a new account...
> 6. Try pressing log in and see if it sends me somewhere. Now there is a
> small button "Sign up". Finally, let's go.
> 6. create an account: no SSO: I need write my name, create a new password
> on my password manager and wait for an email.
> 6. wait for verification email and validate
> 7. press create issue
>    * type
>    * Summary (no idea I need to put the component on the title)
>    * Priority (no idea)
>    * Due date (no idea)
>    * component (no idea, let me search some keywords and see if something
> matches: perfect, Rust)
>    * affected version (put latest)
>    * Add description. Can't use markdown, so some struggle here as
> copy-pasting code usually does not work. Need to learn how to use this.
>    * More 5 fields or so, that I have no idea if it is expected of me to
> fill or not.
> 9. press create
> 10. Pop up shows up: great, now I have the issue... wait, I forgot, why I
> was creating the issue again? Pop up disappears.
> 11. Ah, right, the issue number. Dam, how do I find it now? The pop up is
> gone.
> 12. Spend an arbitrary amount of time finding the issue.... finally, I
> found it.
> 13. Copy it over to the github, edit the title on github.
> 14. Oh, I just received two emails from JIRA: someone already commented on
> it?!?!
> 15. Open email, and after some digging about it I conclude that:
>     * the first email is telling me that the title of the JIRA has been
> updated
>     * the second email is telling me that there is now a PR associated with
> the issue. Well, that is a bummer...
> 16. That bot comment has not disappeared from github. Am I done?
> 17. (some time later): oh, another email from JIRA: after 1m reading the
> diff: ah, someone added some [DataFusion] to the title...
>
> Again, I am adding some clues of what I perceive to be a state of mind of
> the person going through this flow, just to point out that IMO we are
> talking about no small barrier here. I am also assuming an infinite
> willpower.
>
> I do not find JIRA appealing, but I do not find it bad either. I do think
> that the setup we have puts too much load on everyone and in my previous
> email I tried to express that, for what is worth, that has caused me to
> significantly reduce my contributions. I also tried formulating what I see
> as the root cause for the current status quo (availability of information
> from the project); I hope this one helps to clarify what I meant with "too
> much".
>
> In my experience, discussion on JIRA is about the issue itself (for
> > example diagnosing a bug or discussing a feature), then discussion on
> > the PR is about the implementation.  JIRA discussions are generally
> > readable by users (and indeed, users often participate) while PR
> > discussions are really for developers of the project.
> >
>
> In my experience (from Rust alone), little discussion happens on JIRA.
> Either on the PRs, google docs, or mailing list. Only one of them supports
> markdown, though, which I consider a basic requirement for any product for
> developers.
>
> FWIW, I've set up a mail filter that sends all "work logged" automated
> > mail to the trashbin.  I agree it's unfortunate that developers have to
> > do that.  I also have other qualms with the Apache JIRA configuration,
> > such as the fact that "labels" (keywords) are shared between all
> > projects, so there is essentially a million of them with no effort at
> > taxonomy.
> >
>
> I also struggle with both. I tried at some point adding "beginner friendly"
> labels to issues that were so, but there are 5 variants of that label; if I
> do not know which one to pick, how can I expect a *beginner* to know which
> one to pick?
>
> Best,
> Jorge
>
> On Tue, Mar 2, 2021 at 10:26 AM Antoine Pitrou <anto...@python.org> wrote:
>
> >
> > Hi Jorge,
> >
> > On Tue, 2 Mar 2021 08:55:03 +0100
> > Jorge Cardoso Leitão <jorgecarlei...@gmail.com> wrote:
> > > Hi,
> > >
> > > FWIW, the amount of bureaucracy that goes into JIRA is a major
> > contributing
> > > factor for the reduction of my time commitment to this project by 80%+.
> >
> > Can you expand a bit on this?  In particular, which aspects of using
> > JIRA feel bureaucratic?  Is it the requirement to create a new issue
> > for each PR?  Or is it other concerns (such as the UI for entering or
> > searching issues)?
> >
> > I can't say I like JIRA myself, but at least it provides the
> > classification and navigation features that I would expect from an
> > issue tracker.  The Github issue tracker AFAIK is rudimentary and not
> > really practical when a project has accumulated many issues (but they
> > may have changed this recently).
> >
> > > The major challenge is that most discussions happen where PRs are created
> > > and seen, which is on github, but JIRA and mailing list is used for other
> > > types of decisions. In this model, how do we preserve curated information
> > > about the decision process while at the same time leverage both JIRA and
> > > github's capabilities?
> >
> > In my experience, discussion on JIRA is about the issue itself (for
> > example diagnosing a bug or discussing a feature), then discussion on
> > the PR is about the implementation.  JIRA discussions are generally
> > readable by users (and indeed, users often participate) while PR
> > discussions are really for developers of the project.
> >
> > > OTOH, asking contributors to create a jira account
> > > and committers to add the person as contributor, as well as the email
> > spam
> > > and the merge process is a large barrier.
> >
> > FWIW, I've set up a mail filter that sends all "work logged" automated
> > mail to the trashbin.  I agree it's unfortunate that developers have to
> > do that.  I also have other qualms with the Apache JIRA configuration,
> > such as the fact that "labels" (keywords) are shared between all
> > projects, so there is essentially a million of them with no effort at
> > taxonomy.
> >
> > > IMO the foundation could be clearer wrt to what does it mean with
> > > information being preserved and available (e.g. on apache servers?) and
> > if
> > > yes, follow it through by hosting all their projects on their own github
> > /
> > > gitlab / whatever, where issues and PRs are on the same platform, and
> > offer
> > > SSO for contributors as a way to prove identity across the system. But
> > that
> > > is also a complex operation with a lot of unknowns...
> >
> > From what I see of the ASF's velocity, I wouldn't expect such a large
> > breakthrough in the short future.
> >
> > (this is not trying to badmouth the ASF, just a pragmatic evaluation)
> >
> > Regards
> >
> > Antoine.
> >
> >
> >

Reply via email to