Agree with Christopher that "technically" this does not matter if branch is
fork PR or branch PR. And I also see the usefulness of Dependabot. I used
it in the past and it's been extremely easy and helpful - with all the
changelogs/release notes right in the PR you could find in exactly the
moment and place you needed them.

There is one very small difference - namely the visibility of those refs.
When you have fork PR refs, you do not see them in the UI of GitHub outside
of the PR, with a clear indication it comes from a fork. Whereas when you
have PR in the repo, you see both PR and the branch in the "main" repo.
For me it's not a problem though. I think the "3rd-party" motivation does
not come from "visibility" but "technical feasibility of writing to the
repo"
But I am not sure what is the motivation behind the "3rd-party" rule, and
what actually constitutes a 3rd-party. GitHub could very easily write a
change to any of our repos and we probably would not notice (especially if
you rebase  and push --force often),
We already implicitly trust GitHub and they are our "infrastructure
provider" - we have business relationship with them, and I guess they do
not qualify as 3rd-party because (I am guessing here) we have a legal
agreement with them that allows to qualify them as not a "3rd-party" in
this case.
The ASF did not have a legal agreement with Dependabot. GitHub owns
Dependabot and integrates them in their service. I wonder if our legal
agreement with GitHub also covers subsidiaries (and I am not even sure -
maybe Dependabot is just a brand after acquisition and legally they ARE
GitHub)

I think in this case both "3rd-party" and "add code to the repo" are
defined well enough and they are open for interpretation. Who should
interpret that ? Board? VP legal?

I think it's worth considering revising the "no Dependabot" rule by the
board. It made a lot of sense 2 years ago but I think a lot changed at the
moment Dependabot was acquired by GitHub (so initially I even thought this
is already a solved problem).

Maybe that's a good time to review the stance taking that ownership change
into consideration?

J.


On Fri, Sep 3, 2021 at 6:21 PM Christopher <ctubb...@apache.org> wrote:

> I feel like people are getting a bit hung up on the fact that dependabot
> creates branches in the repo directly when that isn't any different from
> what GitHub is doing for pull requests.
>
> Dependabot creates refs in git under refs/heads/dependabot/* (this is
> customizable, to some extent by the repo owners with a config file)
>
> GitHub natively creates refs for pull requests under refs/pull/*
>
> Both write directly to the repo. Neither is a problem. The only difference
> is that we mirror some refs and not others by default, so we forget about
> the PR refs. It should be noted that dependabot's refs (called branches,
> only because the refs are under refs/heads/*) are trivial config changes,
> and not really code and definitely don't contain any IP whose provenance
> matters. The utility as branches rather than as non-branch refs like pull
> requests is to provide a writable place for the devs to add commits to
> resolve any actual code changes to make the version bumps function before
> the PR is merged.
>
> I really don't see the problem here, but if we really don't want to mirror
> these refs, like PR refs, we could just exclude them in the mirror process,
> although I think that would cause problems if devs are adding commits to
> these branches to resolve issues before merging. Either these branches
> contain trivial changes, or they contain dev additions. So either way, I
> don't see a problem mirroring them. But it could be done if policy
> disallowed it.
>
> Personally, I think it should be allowed, as the branches are not
> substantially different from PR refs, do not contain substantial IP unless
> the devs add commits, are transient, and the tool is immensely useful.
> Since the tool is managed by GitHub itself and not another third party, and
> we have a relationship with GitHub as a hosting service for mirroring our
> repos, I think the risk is further mitigated. We already trust GitHub to
> write PR refs to the repos, and to function properly as a bidirectional
> mirror, so why not trust them for this immensely useful tool that empowers
> projects to develop more secure builds?
>
> I think we shouldn't let nitpicking over policy technicalities get in the
> way of doing what is reasonable here. If we really don't trust these refs,
> just exclude them from the mirror process to the gitbox copy. But I see no
> reason we can't trust devs to enable this tool and decide for their own
> workflows.
>
> On Fri, Sep 3, 2021, 06:15 sebb <seb...@gmail.com> wrote:
>
> > On Fri, 3 Sept 2021 at 01:09, Olivier Lamy <ol...@apache.org> wrote:
> > >
> > > On Fri, 3 Sept 2021 at 09:57, David Jencks <david.a.jen...@gmail.com>
> > wrote:
> > >
> > > > I’m afraid I don’t understand your “the result is the same” argument.
> > > >
> > >
> > > result == Apache committer merging the bot commit
> > >
> >
> > But that is not the only change to the repo.
> > The repo also has a branch containing code committed by the 3rd party.
> >
> > We cannot allow 3rd parties to add code directly to our repos.
> >
> > > >
> > > > Let's say a company has 2 employees, Arthur, who is not an Apache
> > > > committer on project X, and Bernadette who is.  Arthur writes some
> > code and
> > > > submits a PR to project X.  In scenario 1, Bernadette merges the PR
> > and in
> > > > scenario 2 Arthur does.  The result is the same!! (at least the
> > resulting
> > > > code is the same, there will be some difference in the fields in the
> > > > commit) So should we allow scenario 2?
> > > >
> > >
> > > except in our case Arthur (i.e the bot never merge his pr but only
> Apache
> > > committer merge to master/main branches)
> > >
> > >
> > >
> > > >
> > > > David Jencks
> > > >
> > > > > On Sep 2, 2021, at 4:42 PM, Olivier Lamy <ol...@apache.org> wrote:
> > > > >
> > > > > I perfectly understand this.
> > > > > But my point was at the end the result is the same!
> > > > > If we follow such reasoning, why do we use github as we do not
> > control
> > > > what
> > > > > is happening there?
> > > > > but yeah I'm having an already lost discussion :)
> > > > >
> > > > > On Fri, 3 Sept 2021 at 09:32, David Jencks <
> david.a.jen...@gmail.com
> > >
> > > > wrote:
> > > > >
> > > > >> The difference is whether a non-committer has write access to an
> > Apache
> > > > >> repo.  In this case the non-committer is some code GitHub
> maintains
> > > > that we
> > > > >> have no control over.  Why should we trust it not to modify a real
> > > > branch?
> > > > >>
> > > > >> To now argue on the other side of the issue, the git website
> > publishing
> > > > >> workflow using .asf.yaml allows Jenkins jobs to automatically
> > commit to
> > > > >> specific branches in Apache repos as part of publishing
> websites.  I
> > > > can’t
> > > > >> say I’m all that clear on how the two situations differ.  One
> > > > difference is
> > > > >> that the Jenkins script is set up and presumably written by an
> > Apache
> > > > >> committer: also infra restricts which branch(es) the Jenkins
> script
> > > > commits
> > > > >> to.
> > > > >>
> > > > >> David Jencks
> > > > >>
> > > > >>> On Sep 2, 2021, at 4:16 PM, Olivier Lamy <ol...@apache.org>
> wrote:
> > > > >>>
> > > > >>> So what happen here?
> > > > >>> If I understand correctly dependabot creates a branch in a fork
> > > > >> repository
> > > > >>> with a commit then this commit is merged back to the Apache
> GitHub
> > repo
> > > > >> by
> > > > >>> a committer.
> > > > >>>
> > > > >>> In the previous model dependabot created a branch in the Apache
> > GitHub
> > > > >> repo
> > > > >>> then a committer merged this back to master or any other branch.
> > > > >>>
> > > > >>> In both case there is a commit by a bot which has been merged by
> a
> > > > >>> committer..
> > > > >>>
> > > > >>> What is exactly the difference at the end?
> > > > >>>
> > > > >>> On Fri, 3 Sep 2021 at 8:19 am, David Jencks <
> > david.a.jen...@gmail.com>
> > > > >>> wrote:
> > > > >>>
> > > > >>>> After thinking about it for a couple of minutes I’m fully behind
> > > > Apache
> > > > >>>> policy forbidding automated commits to an Apache repository. If
> > > > Eclipse
> > > > >>>> allows such commits I’d rather suspect they haven’t noticed
> them.
> > > > >>>>
> > > > >>>> Assuming that dependabot can’t deal with making it’s branch in a
> > > > >> separate
> > > > >>>> repo it might be possible to make something like this work:
> > > > >>>>
> > > > >>>> 1. Someone fork the apache repo.
> > > > >>>> 2. Use something like
> > > > >>>>
> > > > >>
> > > >
> >
> https://mathieu.carbou.me/post/649318432483033088/automatic-fork-syncing-with-github
> > > > >>>> to keep this fork up to date with the Apache repo.
> > > > >>>> 3. Run dependabot on this fork.
> > > > >>>>
> > > > >>>> In these circumstances I’m not sure what the target of the
> > dependabot
> > > > PR
> > > > >>>> would be or, if it’s the fork, how hard it would be to make a PR
> > to
> > > > the
> > > > >>>> Apache repo.
> > > > >>>> 4. Do something to apply the dependabot PR/changes to the apache
> > repo.
> > > > >>>>
> > > > >>>> David Jencks
> > > > >>>>
> > > > >>>>> On Sep 2, 2021, at 2:48 PM, Olivier Lamy <ol...@apache.org>
> > wrote:
> > > > >>>>>
> > > > >>>>> Hi,
> > > > >>>>> Really? This sounds like a productivity killer to remove such
> > > > >> feature...
> > > > >>>>> the bot never write to master branch it just creates a branch
> > and pr
> > > > >>>> which
> > > > >>>>> need to be validated/merged by a valid committer.
> > > > >>>>> FYI eclipse foundation definitely accepts this without problem
> > so I
> > > > >> guess
> > > > >>>>> we have a similar level of source management.
> > > > >>>>>
> > > > >>>>>
> > > > >>>>>
> > > > >>>>> On Wed, 1 Sept 2021 at 05:33, Gary Gregory <
> > garydgreg...@gmail.com>
> > > > >>>> wrote:
> > > > >>>>>
> > > > >>>>>> I am missing something here: the whole point of dependabot is
> > that
> > > > it
> > > > >>>>>> creates a branch in GitHub, runs a build, and creates a PR. If
> > you
> > > > >> like
> > > > >>>> the
> > > > >>>>>> results, you can click merge, a huge time saver.
> > > > >>>>>>
> > > > >>>>>> I really don't want to loose this killer feature.
> > > > >>>>>>
> > > > >>>>>> Gary
> > > > >>>>>>
> > > > >>>>>> On Tue, Aug 31, 2021, 11:33 Chris Lambertus <c...@apache.org>
> > wrote:
> > > > >>>>>>
> > > > >>>>>>> Third party write access to code repositories is expressly
> > > > forbidden
> > > > >> by
> > > > >>>>>>> Foundation policy:
> > > > >>>>>>>
> > > > >>>>>>> https://infra.apache.org/repository-access.html <
> > > > >>>>>>> https://infra.apache.org/repository-access.html>
> > > > >>>>>>>
> > > > >>>>>>>
> > > > >>>>>>>
> > > > >>>>>>> Infra has worked with GitHub to prevent dependabot from being
> > able
> > > > to
> > > > >>>>>>> write to our repos, but it appears that it is still able to
> > under
> > > > >> some
> > > > >>>>>>> circumstances. We will open yet another support case with
> > GitHub
> > > > >>>>>> regarding
> > > > >>>>>>> this.
> > > > >>>>>>>
> > > > >>>>>>> Here is an example of a third party commit:
> > > > >>>>>>>
> > > > >>>>>>> https://github.com/apache/commons-io/pull/264 <
> > > > >>>>>>> https://github.com/apache/commons-io/pull/264>
> > > > >>>>>>>
> > > > >>>>>>>
> > > > >>>>>>>
> > > > >>>>>>
> > > > >>>>
> > > > >>
> > > >
> >
> https://lists.apache.org/thread.html/ra4ca6fdfd6dd75e4579c334ca7f012df69ca00908dd48b645c1a7339%40%3Ccommits.commons.apache.org%3E
> > > > >>>>>>> <
> > > > >>>>>>>
> > > > >>>>>>
> > > > >>>>
> > > > >>
> > > >
> >
> https://lists.apache.org/thread.html/ra4ca6fdfd6dd75e4579c334ca7f012df69ca00908dd48b645c1a7339@%3Ccommits.commons.apache.org%3E
> > > > >>>>>>>>
> > > > >>>>>>>
> > > > >>>>>>>
> > > > >>>>>>> This write access to commons-io appears to be in violation of
> > the
> > > > >>>>>>> aforementioned policy.
> > > > >>>>>>>
> > > > >>>>>>> Dependabot's email alerts are currently the only acceptable
> > method
> > > > >> for
> > > > >>>>>>> working with the tool.
> > > > >>>>>>>
> > > > >>>>>>>
> > > > >>>>>>> -Chris
> > > > >>>>>>> ASF Infra
> > > > >>>>>>>
> > > > >>>>>>>
> > > > >>>>>>>
> > > > >>>>>>>> On Aug 30, 2021, at 10:53 AM, Gary Gregory <
> > > > garydgreg...@gmail.com>
> > > > >>>>>>> wrote:
> > > > >>>>>>>>
> > > > >>>>>>>> The Apache git repo must be mirrored from Apache to GitHub,
> > for
> > > > >>>> example
> > > > >>>>>>>> https://github.com/apache/commons-io, then you add a
> .github
> > > > folder
> > > > >>>>>> and
> > > > >>>>>>>> files (see above link).
> > > > >>>>>>>>
> > > > >>>>>>>> Gary
> > > > >>>>>>>>
> > > > >>>>>>>> On Mon, Aug 30, 2021, 09:43 Lewis John McGibbney <
> > > > >> lewi...@apache.org>
> > > > >>>>>>> wrote:
> > > > >>>>>>>>
> > > > >>>>>>>>> Thanks Gary and Sebb.
> > > > >>>>>>>>> How do I turn dependabot on? Last time I tried I was
> informed
> > > > that
> > > > >>>> due
> > > > >>>>>>> to
> > > > >>>>>>>>> the program requiring write permissions to the repository,
> it
> > > > >> wasn’t
> > > > >>>>>>>>> possible…
> > > > >>>>>>>>> This policy must have changed…
> > > > >>>>>>>>> Thanks for any info.
> > > > >>>>>>>>> lewismc
> > > > >>>>>>>>>
> > > > >>>>>>>>> On 2021/08/29 14:42:00 Gary Gregory wrote:
> > > > >>>>>>>>>> Most of Apache Common's components' are happy users of
> > > > Dependabot,
> > > > >>>>>>> which
> > > > >>>>>>>>> is
> > > > >>>>>>>>>> used on our GitHub mirrored repositories.
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> Gary
> > > > >>>>>>>>>>
> > > > >>>>>>>>>>
> > > > >>>>>>>>>> On Sun, Aug 29, 2021, 10:38 lewis john mcgibbney <
> > > > >>>> lewi...@apache.org
> > > > >>>>>>>
> > > > >>>>>>>>> wrote:
> > > > >>>>>>>>>>
> > > > >>>>>>>>>>> Hi builds@,
> > > > >>>>>>>>>>> I was advised to ask my question here instead of
> > > > >> general@incubator.
> > > > >>>>>>>>>>> Thanks for any feedback
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>>> I understand that we cannot use automated tooling,
> > > > specifically
> > > > >>>>>>>>> Dependbot
> > > > >>>>>>>>>>> (
> > > > >>>>>>>>>>>> https://dependabot.com/) because it requests write
> > access to
> > > > >> the
> > > > >>>>>> ASF
> > > > >>>>>>>>>>>> project source code.
> > > > >>>>>>>>>>>> I have found this functionality to be really useful and
> > > > wondered
> > > > >>>> if
> > > > >>>>>>>>> there
> > > > >>>>>>>>>>>> are any suggestions out there for automating the
> > dependency
> > > > >>>>>>>>> management
> > > > >>>>>>>>>>>> workflow?
> > > > >>>>>>>>>>>> Thanks for any feedback.
> > > > >>>>>>>>>>>> lewismc
> > > > >>>>>>>>>>> --
> > > > >>>>>>>>>>> http://home.apache.org/~lewismc/
> > > > >>>>>>>>>>> http://people.apache.org/keys/committer/lewismc
> > > > >>>>>>>>>>>
> > > > >>>>>>>>>>
> > > > >>>>>>>>>
> > > > >>>>>>>
> > > > >>>>>>>
> > > > >>>>>>
> > > > >>>>>
> > > > >>>>>
> > > > >>>>> --
> > > > >>>>> Olivier Lamy
> > > > >>>>> http://twitter.com/olamy | http://linkedin.com/in/olamy
> > > > >>>>
> > > > >>>> --
> > > > >>> Olivier Lamy
> > > > >>> http://twitter.com/olamy | http://linkedin.com/in/olamy
> > > > >>
> > > > >>
> > > > >
> > > > > --
> > > > > Olivier Lamy
> > > > > http://twitter.com/olamy | http://linkedin.com/in/olamy
> > > >
> > > >
> > >
> > > --
> > > Olivier Lamy
> > > http://twitter.com/olamy | http://linkedin.com/in/olamy
> >
>

Reply via email to