+1 here, especially due to GitHub tooling and apps.

On Tue, Aug 18, 2020 at 8:13 AM Mark Waite <[email protected]>
wrote:

> +1 from me.
>
> On Tuesday, August 18, 2020 at 6:03:07 AM UTC-6 Arnaud Héritier wrote:
>
>> and I received a PR https://github.com/aheritier/build-flow-plugin/pull/2
>> 😭
>>
>> +1000 for the proposal
>>
>>
>> On Tue, Aug 18, 2020 at 2:01 PM Arnaud Héritier <[email protected]>
>> wrote:
>>
>>> ok I missed :(
>>> It doesn't make sense to have my repo as primary. I didn't create it and
>>> never committed to it.
>>> There is probably a bug in GitHub with forks which were created a long
>>> time ago
>>>
>>> On Tue, Aug 18, 2020 at 1:58 PM Daniel Beck <[email protected]> wrote:
>>>
>>>> The repo exists, there's just an additional "jenkinsci/" in the link. I
>>>> have no idea why the GH API behaves inconsistently there.
>>>>
>>>> On Tue, Aug 18, 2020 at 1:50 PM Arnaud Héritier <[email protected]>
>>>> wrote:
>>>>
>>>>> +1 for the proposed plan
>>>>> Something is strange in your export.
>>>>> For example I am supposed to host
>>>>> https://github.com/aheritier/build-flow-plugin (origin) which should
>>>>> be forked to https://github.com/jenkinsci/jenkinsci/build-flow-plugin (
>>>>> doesn't exist)
>>>>> We probably had such repo in the past and it was deleted after I
>>>>> forked it but maybe you could exclude from the list the repos when they
>>>>> aren't existing anymore in the jenkinsci side (not sure how many repos
>>>>> could be like this)
>>>>>
>>>>> On Tue, Aug 18, 2020 at 1:39 PM Daniel Beck <[email protected]> wrote:
>>>>>
>>>>>> Hi everyone,
>>>>>>
>>>>>> I'd like to propose a cleanup of 'fork' relationships of the
>>>>>> repositories in the jenkinsci GitHub organization.
>>>>>>
>>>>>> Background:
>>>>>> For many years, the plugin hosting process has forked existing
>>>>>> repositories. The expectation was always that the new repo in jenkinsci 
>>>>>> was
>>>>>> the canonical 'main' repository, but that wasn't enforced. For the past
>>>>>> year or two, we've even asked maintainers to delete their repository 
>>>>>> after
>>>>>> forking unless there were useful PRs and issues in there already, so that
>>>>>> the jenkinsci repo became the 'main' repo (with occasional mishaps if
>>>>>> someone else had forked before us).
>>>>>>
>>>>>> Some people enjoy the "branding" effect that having the source
>>>>>> repository creates. But this comes with downsides: Sometimes GitHub code
>>>>>> search doesn't work, depending on the popularity of the repository. Links
>>>>>> to create pull requests sometimes don't work quite right, and INFRA-2697
>>>>>> notes that the GitHub CLI cannot really handle networks where a fork is 
>>>>>> the
>>>>>> "main" repo, probably for the same reason. Having a different repo than
>>>>>> what we consider canonical as the "root" repository confuses users trying
>>>>>> to file pull requests or issues on GitHub. It'll get worse once GitHub 
>>>>>> adds
>>>>>> repo-level discussions[1]. Basically, the more stuff is attached to a
>>>>>> repository that isn't trivially cloned/mirrored to forks, the worse it 
>>>>>> gets.
>>>>>>
>>>>>> In terms of security, GitHub for quite some time did not support
>>>>>> security warnings for forks. LGTM.com / GitHub Security Labs still does 
>>>>>> not
>>>>>> recognize forked repositories. Earlier this year a security researcher
>>>>>> recently used its CodeQL functionality to identify and submit fixes to
>>>>>> pom.xml files referencing plain HTTP Maven repositories, but couldn't do
>>>>>> that for forked repos. In many cases, the source repositories are much 
>>>>>> less
>>>>>> active than the repo in jenkinsci, or the maintainers have moved on
>>>>>> entirely, making this feature unavailable to (other) current maintainers,
>>>>>> or the Jenkins security team.
>>>>>>
>>>>>> The way we create forks is simply not a well-supported use case.
>>>>>>
>>>>>> My proposal therefore is to "unfork" plugin and similar repositories
>>>>>> in the jenkinsci organization. Only repositories that clearly are forks
>>>>>> (e.g. some libraries not maintained by us) would remain forks.
>>>>>>
>>>>>> After checking with GitHub support, the following options exist:
>>>>>>
>>>>>> 1. It is possible to invert the fork relationship. This requires
>>>>>> approval from both repo owners (i.e. jenkinsci and whoever we forked 
>>>>>> from).
>>>>>> 2. It is possible to cut the fork relationship. This requires
>>>>>> approval from the forked repo owner (i.e. jenkinsci).
>>>>>>
>>>>>> And while it is technically possible to re-attach repos to a network
>>>>>> / merge networks, GH support would rather not do that.
>>>>>>
>>>>>> Therefore I propose we implement the following steps:
>>>>>>
>>>>>> 1. We try to contact, wherever possible, whoever we forked from, and
>>>>>> ask them to contact GitHub support. I'll grant blanket permission on 
>>>>>> behalf
>>>>>> of jenkinsci and will tell everyone the support ticket number to 
>>>>>> reference
>>>>>> so this goes as smoothly as possible.
>>>>>> 2. We wait a while while folks ask GH support for an inversion of the
>>>>>> fork relationship.
>>>>>> 3. We ask GitHub support to cut the fork relationship of everything
>>>>>> that's left over.
>>>>>>
>>>>>> Additionally, we should change the hosting process to work with repo
>>>>>> transfers, or creation of repos without the fork relationship. That can 
>>>>>> be
>>>>>> done at any time though; as even now we don't really want that fork
>>>>>> relationship we create to exist.
>>>>>>
>>>>>> To understand the scope of this, I've written a script that
>>>>>> periodically updates a list of forked repositories in jenkinsci, you can
>>>>>> see the result at
>>>>>> https://www.jenkins.io/doc/developer/publishing/source-code-hosting/forks/
>>>>>>
>>>>>> One potential problem are plugins that are actively maintained
>>>>>> outside the jenkinsci organization and only have an outdated fork in
>>>>>> jenkinsci that isn't being used. I think it makes sense to ask 
>>>>>> maintainers
>>>>>> to move their activity into jenkinsci (including perhaps a complete repo
>>>>>> transfer to retain issues and PRs). If they refuse, rather than cut the
>>>>>> fork relationship, we could just delete our unused fork. (While this
>>>>>> touches on plugins maintained exclusively outside jenkinsci, I consider
>>>>>> that general topic to be a separate conversation. Please keep this thread
>>>>>> focused on this proposal.)
>>>>>>
>>>>>> Thoughts?
>>>>>>
>>>>>> Daniel
>>>>>>
>>>>>> 1:
>>>>>> https://github.blog/2020-05-06-new-from-satellite-2020-github-codespaces-github-discussions-securing-code-in-private-repositories-and-more/#discussions
>>>>>>
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "Jenkins Developers" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to [email protected].
>>>>>> To view this discussion on the web visit
>>>>>> https://groups.google.com/d/msgid/jenkinsci-dev/6D96DA83-2AE0-4C87-92D6-4CCC8DFE1E57%40beckweb.net
>>>>>> .
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Arnaud Héritier
>>>>> Twitter/Skype : aheritier
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Jenkins Developers" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/jenkinsci-dev/CAFNCU-_vuzGEO_u18SkF43t1vSbZouZm7yq61-m9BCvj3dizMg%40mail.gmail.com
>>>>> <https://groups.google.com/d/msgid/jenkinsci-dev/CAFNCU-_vuzGEO_u18SkF43t1vSbZouZm7yq61-m9BCvj3dizMg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Jenkins Developers" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/jenkinsci-dev/CAMo7PtKTB1QCVTd-c1ABxBi3pf%2Bo8w-ODJu1Poq2vWjKX4Ot8g%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/jenkinsci-dev/CAMo7PtKTB1QCVTd-c1ABxBi3pf%2Bo8w-ODJu1Poq2vWjKX4Ot8g%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>
>>>
>>> --
>>> Arnaud Héritier
>>> Twitter/Skype : aheritier
>>>
>>
>>
>> --
>> Arnaud Héritier
>> Twitter/Skype : aheritier
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-dev/50ad23a4-abe8-4a69-ab09-2419d227e830n%40googlegroups.com
> <https://groups.google.com/d/msgid/jenkinsci-dev/50ad23a4-abe8-4a69-ab09-2419d227e830n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>


-- 
Matt Sicker
Senior Software Engineer, CloudBees

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/CAEot4oz_CHTEH257FqacEOChDxEHTWj0SPOVTbt3%2BKKCSxnj0A%40mail.gmail.com.

Reply via email to