You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nuttx.apache.org by "Lee, Lup Yuen" <lu...@appkaki.com> on 2025/01/11 22:01:21 UTC

[Article] Forgejo Git Forge for NuttX (Experimental)

What is Forgejo? Think GitHub… But Open-Source and Self-Hosted! Forgejo is
a Git Forge, the server code that will publicly host and share a Git Repo.
(Including our NuttX Repo)

In this article, we talk about Forgejo Git Forge, and whether NuttX could
possibly switch from GitHub to a self-hosted Git Forge...

(1) If GitHub Breaks: What’s our Contingency Plan?

(2) GitHub is Blocked in some parts of the world…

(3) Can we Mirror our NuttX Repo outside GitHub? So NuttX Community becomes
more inclusive?

(4) Also: We’re outgrowing our Budget Limits at GitHub, might need to move
out

Check out the article: https://lupyuen.org/articles/forgejo.html

[image: forgejo-flow-small.jpg]

Lup

Re: [Article] Forgejo Git Forge for NuttX (Experimental)

Posted by "Lee, Lup Yuen" <lu...@appkaki.com>.
<< I was wondering if PR can be easily "forwarded from external mirror to
the upstream repo" or needs to be re-created manually based on git commits
>>

Hi Tomek: I'm guessing we could call the GitHub API? Needs more research
and testing :-)

I wrote about GitHub Coexistence:
https://lupyuen.org/articles/forgejo.html#coexist-with-github

Lup

On Sun, Jan 12, 2025 at 11:50 AM Tomek CEDRO <to...@cedro.info> wrote:

> On Sun, Jan 12, 2025 at 4:33 AM Gregory Nutt wrote:
> > On 1/11/2025 9:20 PM, Tomek CEDRO wrote:
> > > By the way is there a way so that PR from "wild mirrors" like on
> > > GitLab or Forgejo could land into the GitHub?
> > >
> > > You would have to push such commits to a branch on your local GH
> > > account and then create a PR to the upstream?
> >
> > This is way outside my areas of expertise.  The way I think of it is
> > that GIT is GIT wherever it is hosted.  The value added by these sites
> > is in the integrated development tools that they they add and the
> > particular work flow that they support.  So maybe some GIT only solution
> > could work.
> >
> > I think the PRs as we think of them are inventions of Github. GIT
> > supports command line PR generation which probably underlies Github PRs,
> > but any use case with these would be awkward:
> > https://git-scm.com/docs/git-request-pull/2.6.7
>
> Yeah I never used that raw `git request-pull` myself.. I guess making
> it easy to operate over a simple website is what made GitHub so
> popular :-)
>
> The question on making PRs to upstream from external mirrors was more
> directed to Lup.. because whether its GitHub or GitBox or something
> else it must land onto the Apache upstream repo and before that it
> needs to be reviewed as PR and before that probably it needs to be
> PR'ed on such external mirror :D I was wondering if PR can be easily
> "forwarded from external mirror to the upstream repo" or needs to be
> re-created manually based on git commits :-P I dont know it myself and
> I think it could be good addition to the article :-) Maybe it could be
> useful information for organizations that prefer to work on local
> mirror of a project internally for whatever reason, and then just
> "forward" selected PRs to the upstream when ready :-)
>
> --
> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
>

Re: [Article] Forgejo Git Forge for NuttX (Experimental)

Posted by Tomek CEDRO <to...@cedro.info>.
On Sun, Jan 12, 2025 at 4:33 AM Gregory Nutt wrote:
> On 1/11/2025 9:20 PM, Tomek CEDRO wrote:
> > By the way is there a way so that PR from "wild mirrors" like on
> > GitLab or Forgejo could land into the GitHub?
> >
> > You would have to push such commits to a branch on your local GH
> > account and then create a PR to the upstream?
>
> This is way outside my areas of expertise.  The way I think of it is
> that GIT is GIT wherever it is hosted.  The value added by these sites
> is in the integrated development tools that they they add and the
> particular work flow that they support.  So maybe some GIT only solution
> could work.
>
> I think the PRs as we think of them are inventions of Github. GIT
> supports command line PR generation which probably underlies Github PRs,
> but any use case with these would be awkward:
> https://git-scm.com/docs/git-request-pull/2.6.7

Yeah I never used that raw `git request-pull` myself.. I guess making
it easy to operate over a simple website is what made GitHub so
popular :-)

The question on making PRs to upstream from external mirrors was more
directed to Lup.. because whether its GitHub or GitBox or something
else it must land onto the Apache upstream repo and before that it
needs to be reviewed as PR and before that probably it needs to be
PR'ed on such external mirror :D I was wondering if PR can be easily
"forwarded from external mirror to the upstream repo" or needs to be
re-created manually based on git commits :-P I dont know it myself and
I think it could be good addition to the article :-) Maybe it could be
useful information for organizations that prefer to work on local
mirror of a project internally for whatever reason, and then just
"forward" selected PRs to the upstream when ready :-)

-- 
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info

Re: [Article] Forgejo Git Forge for NuttX (Experimental)

Posted by Gregory Nutt <sp...@gmail.com>.
On 1/11/2025 9:20 PM, Tomek CEDRO wrote:
> By the way is there a way so that PR from "wild mirrors" like on
> GitLab or Forgejo could land into the GitHub?
>
> You would have to push such commits to a branch on your local GH
> account and then create a PR to the upstream?

This is way outside my areas of expertise.  The way I think of it is 
that GIT is GIT wherever it is hosted.  The value added by these sites 
is in the integrated development tools that they they add and the 
particular work flow that they support.  So maybe some GIT only solution 
could work.

I think the PRs as we think of them are inventions of Github. GIT 
supports command line PR generation which probably underlies Github PRs, 
but any use case with these would be awkward: 
https://git-scm.com/docs/git-request-pull/2.6.7

>

Re: [Article] Forgejo Git Forge for NuttX (Experimental)

Posted by Tomek CEDRO <to...@cedro.info>.
On Sun, Jan 12, 2025 at 4:06 AM Gregory Nutt <sp...@gmail.com> wrote:
> On 1/11/2025 6:00 PM, Tomek CEDRO wrote:
> > On Sat, Jan 11, 2025 at 11:02 PM Lee, Lup Yuen <lu...@appkaki.com> wrote:
> >> What is Forgejo? Think GitHub… But Open-Source and Self-Hosted! Forgejo is a Git Forge, the server code that will publicly host and share a Git Repo. (Including our NuttX Repo)
> >>
> >> In this article, we talk about Forgejo Git Forge, and whether NuttX could possibly switch from GitHub to a self-hosted Git Forge...
> >>
> >> (1) If GitHub Breaks: What’s our Contingency Plan?
> >>
> >> (2) GitHub is Blocked in some parts of the world…
> >>
> >> (3) Can we Mirror our NuttX Repo outside GitHub? So NuttX Community becomes more inclusive?
> >>
> >> (4) Also: We’re outgrowing our Budget Limits at GitHub, might need to move out
> >>
> >> Check out the article: https://lupyuen.org/articles/forgejo.html
> > Thank you Lup :-) Do you know how does Forgejo compare to GitLab? :-)
>
> I am not sure how much wiggle room we have in this matter. Remember that
> the software belongs to the Apache Software Foundation and not us.  We
> would need to ask, but I suspect that the ASF would object to hosting
> the master version of their software outside the Apache repositories.
>
> By the way, there are two Apache GIT repositories:  Github and GitBox.
> They mutually synch with each other periodically.  I don't understand
> all of this.  I suggest anyone interested review documents on Apache.org
> regarding repository usage.  Then discussing this with Infra.
>
> Here's one related document:
>
> Project Code Repository Policy:
> https://infra.apache.org/project-repo-policy.html
>
> I think we would need to have some discussions with members of the board
> and/or with infra.  I don't see any issue with maintaining a mirror of
> Apache NuttX, but getting things back to the Apache master or GitBox
> could be a pain.

Yeah, PRs would have to land at GitHub anyways to be merged into the
upstream.. I guess this is just a kind of worst-case-scenario
research.. mirroring options.. or just playing around with Forgejo?
:-)

By the way is there a way so that PR from "wild mirrors" like on
GitLab or Forgejo could land into the GitHub?

You would have to push such commits to a branch on your local GH
account and then create a PR to the upstream?

-- 
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info

Re: [Article] Forgejo Git Forge for NuttX (Experimental)

Posted by Tomek CEDRO <to...@cedro.info>.
Thanks for the valuable input Sebastien! :-)

--
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info

On Tue, Jan 14, 2025, 18:16 Sebastien Lorquet <> wrote:

> Hi,
>
> If I happen to contribute again that is how you are going to get my
> contributions, because I deleted all my github accounts in dec 2024 when
> they forced copilot on everyone.
>
> Everyone has to be ready for the enshittification of any large platform.
>
> At my dayjob we already have a nuttx mirror, just so there is no
> disaster if something bad happens to github. Same for all open source
> libraries we use.
>
> We are using a gitea forge. We determined that it was the easiest choice
> for self-hosting and backup.
>
> We did not select gitlab because it had many features not available in
> the general self-hostable "community" edition.
>
> Sebastien
>
>
> On 12/01/2025 12:36, Nathan Hartman wrote:
> > IIRC when we joined the incubator we discussed the question of how to
> > handle contributions from anyone who can't or won't access GitHub and one
> > possibility that was discussed was that they could always send a [PATCH]
> to
> > the mailing list and we could either review it by email and commit it
> > directly or convert it into a GitHub PR if we want to maintain a
> consistent
> > process.
>

Re: [Article] Forgejo Git Forge for NuttX (Experimental)

Posted by Sebastien Lorquet <se...@lorquet.fr>.
Hi,

If I happen to contribute again that is how you are going to get my 
contributions, because I deleted all my github accounts in dec 2024 when 
they forced copilot on everyone.

Everyone has to be ready for the enshittification of any large platform.

At my dayjob we already have a nuttx mirror, just so there is no 
disaster if something bad happens to github. Same for all open source 
libraries we use.

We are using a gitea forge. We determined that it was the easiest choice 
for self-hosting and backup.

We did not select gitlab because it had many features not available in 
the general self-hostable "community" edition.

Sebastien


On 12/01/2025 12:36, Nathan Hartman wrote:
> IIRC when we joined the incubator we discussed the question of how to
> handle contributions from anyone who can't or won't access GitHub and one
> possibility that was discussed was that they could always send a [PATCH] to
> the mailing list and we could either review it by email and commit it
> directly or convert it into a GitHub PR if we want to maintain a consistent
> process.

Re: [Article] Forgejo Git Forge for NuttX (Experimental)

Posted by Nathan Hartman <ha...@gmail.com>.
On Sat, Jan 11, 2025 at 10:06 PM Gregory Nutt <sp...@gmail.com> wrote:

>
> On 1/11/2025 6:00 PM, Tomek CEDRO wrote:
> > On Sat, Jan 11, 2025 at 11:02 PM Lee, Lup Yuen <lu...@appkaki.com>
> wrote:
> >> What is Forgejo? Think GitHub… But Open-Source and Self-Hosted! Forgejo
> is a Git Forge, the server code that will publicly host and share a Git
> Repo. (Including our NuttX Repo)
> >>
> >> In this article, we talk about Forgejo Git Forge, and whether NuttX
> could possibly switch from GitHub to a self-hosted Git Forge...
> >>
> >> (1) If GitHub Breaks: What’s our Contingency Plan?
> >>
> >> (2) GitHub is Blocked in some parts of the world…
> >>
> >> (3) Can we Mirror our NuttX Repo outside GitHub? So NuttX Community
> becomes more inclusive?
> >>
> >> (4) Also: We’re outgrowing our Budget Limits at GitHub, might need to
> move out
> >>
> >> Check out the article: https://lupyuen.org/articles/forgejo.html
> > Thank you Lup :-) Do you know how does Forgejo compare to GitLab? :-)
>
> I am not sure how much wiggle room we have in this matter. Remember that
> the software belongs to the Apache Software Foundation and not us.  We
> would need to ask, but I suspect that the ASF would object to hosting
> the master version of their software outside the Apache repositories.
>
> By the way, there are two Apache GIT repositories:  Github and GitBox.
> They mutually synch with each other periodically.  I don't understand
> all of this.  I suggest anyone interested review documents on Apache.org
> regarding repository usage.  Then discussing this with Infra.


As I understand it, our official repositories are actually the ASF-hosted
GitBox on ASF-controlled hardware, and GitHub is actually a mirror. Both
mutually sync to each other so if a committer would commit any changes to
the GitBox repository it would immediately show up at the GitHub
repository. In practice we haven't used this, so it's easy to forget that
GitBox exists and to think that GitHub is the official one.

Nothing stops anyone from creating their own mirrors of the repositories
(though any other mirror would not have the same kind of two-way
synchronization as our GitBox <-> GitHub).

Here's one related document:
>
> Project Code Repository Policy:
> https://infra.apache.org/project-repo-policy.html
>
> I think we would need to have some discussions with members of the board
> and/or with infra.  I don't see any issue with maintaining a mirror of
> Apache NuttX, but getting things back to the Apache master or GitBox
> could be a pain.


IIRC when we joined the incubator we discussed the question of how to
handle contributions from anyone who can't or won't access GitHub and one
possibility that was discussed was that they could always send a [PATCH] to
the mailing list and we could either review it by email and commit it
directly or convert it into a GitHub PR if we want to maintain a consistent
process.

Nathan

Re: [Article] Forgejo Git Forge for NuttX (Experimental)

Posted by "Lee, Lup Yuen" <lu...@appkaki.com>.
Thanks Greg: You're right, we won't be able to move easily out of GitHub.
So our Git Forge would probably be useful as a Mirror or Backup, in case
GitHub is inaccessible for some reason? Some CI Jobs could also move out of
GitHub, since we're hitting the ASF Limits on GitHub Actions.

From https://infra.apache.org/project-repo-policy.html
<<
- We recommend using GitHub for your interactions with writable Git
repositories.
- Those who have reservations about GitHub's terms and conditions can use
Apache's GitBox, which also gives full access to Apache's writable Git
repositories.
...
- ASF projects must house their project code in ASF supported services
(Subversion, GitBox).
>>

Lup

On Sun, Jan 12, 2025 at 11:06 AM Gregory Nutt <sp...@gmail.com> wrote:

>
> On 1/11/2025 6:00 PM, Tomek CEDRO wrote:
> > On Sat, Jan 11, 2025 at 11:02 PM Lee, Lup Yuen <lu...@appkaki.com>
> wrote:
> >> What is Forgejo? Think GitHub… But Open-Source and Self-Hosted! Forgejo
> is a Git Forge, the server code that will publicly host and share a Git
> Repo. (Including our NuttX Repo)
> >>
> >> In this article, we talk about Forgejo Git Forge, and whether NuttX
> could possibly switch from GitHub to a self-hosted Git Forge...
> >>
> >> (1) If GitHub Breaks: What’s our Contingency Plan?
> >>
> >> (2) GitHub is Blocked in some parts of the world…
> >>
> >> (3) Can we Mirror our NuttX Repo outside GitHub? So NuttX Community
> becomes more inclusive?
> >>
> >> (4) Also: We’re outgrowing our Budget Limits at GitHub, might need to
> move out
> >>
> >> Check out the article: https://lupyuen.org/articles/forgejo.html
> > Thank you Lup :-) Do you know how does Forgejo compare to GitLab? :-)
>
> I am not sure how much wiggle room we have in this matter. Remember that
> the software belongs to the Apache Software Foundation and not us.  We
> would need to ask, but I suspect that the ASF would object to hosting
> the master version of their software outside the Apache repositories.
>
> By the way, there are two Apache GIT repositories:  Github and GitBox.
> They mutually synch with each other periodically.  I don't understand
> all of this.  I suggest anyone interested review documents on Apache.org
> regarding repository usage.  Then discussing this with Infra.
>
> Here's one related document:
>
> Project Code Repository Policy:
> https://infra.apache.org/project-repo-policy.html
>
> I think we would need to have some discussions with members of the board
> and/or with infra.  I don't see any issue with maintaining a mirror of
> Apache NuttX, but getting things back to the Apache master or GitBox
> could be a pain.
>
>
> >
>

Re: [Article] Forgejo Git Forge for NuttX (Experimental)

Posted by Gregory Nutt <sp...@gmail.com>.
On 1/11/2025 6:00 PM, Tomek CEDRO wrote:
> On Sat, Jan 11, 2025 at 11:02 PM Lee, Lup Yuen <lu...@appkaki.com> wrote:
>> What is Forgejo? Think GitHub… But Open-Source and Self-Hosted! Forgejo is a Git Forge, the server code that will publicly host and share a Git Repo. (Including our NuttX Repo)
>>
>> In this article, we talk about Forgejo Git Forge, and whether NuttX could possibly switch from GitHub to a self-hosted Git Forge...
>>
>> (1) If GitHub Breaks: What’s our Contingency Plan?
>>
>> (2) GitHub is Blocked in some parts of the world…
>>
>> (3) Can we Mirror our NuttX Repo outside GitHub? So NuttX Community becomes more inclusive?
>>
>> (4) Also: We’re outgrowing our Budget Limits at GitHub, might need to move out
>>
>> Check out the article: https://lupyuen.org/articles/forgejo.html
> Thank you Lup :-) Do you know how does Forgejo compare to GitLab? :-)

I am not sure how much wiggle room we have in this matter. Remember that 
the software belongs to the Apache Software Foundation and not us.  We 
would need to ask, but I suspect that the ASF would object to hosting 
the master version of their software outside the Apache repositories.

By the way, there are two Apache GIT repositories:  Github and GitBox.  
They mutually synch with each other periodically.  I don't understand 
all of this.  I suggest anyone interested review documents on Apache.org 
regarding repository usage.  Then discussing this with Infra.

Here's one related document:

Project Code Repository Policy: 
https://infra.apache.org/project-repo-policy.html

I think we would need to have some discussions with members of the board 
and/or with infra.  I don't see any issue with maintaining a mirror of 
Apache NuttX, but getting things back to the Apache master or GitBox 
could be a pain.


>

Re: [Article] Forgejo Git Forge for NuttX (Experimental)

Posted by "Lee, Lup Yuen" <lu...@appkaki.com>.
<< Do you know how does Forgejo compare to GitLab? >>

Hi Tomek: There are 2 flavours of GitLab...

(1) GitLab.com: This is the commercial, Cloud-Hosted version of GitLab. The
features are very similar to GitHub.

(2) GitLab Community Edition: This is the Self-Hosted version of GitLab. I
assume we're comparing GitLab Community Edition to Self-Hosted Forgejo.

Fedora Linux Project wrote about GitLab Community Edition vs Forgejo, and
why they selected Forgejo:
https://fedoramagazine.org/fedora-moves-towards-forgejo-a-unified-decision/

Forgejo has an article that compares itself with GitLab Community Edition.
Though it might be biased: https://forgejo.org/compare/

Lup

On Sun, Jan 12, 2025 at 8:01 AM Tomek CEDRO <to...@cedro.info> wrote:

> On Sat, Jan 11, 2025 at 11:02 PM Lee, Lup Yuen <lu...@appkaki.com> wrote:
> > What is Forgejo? Think GitHub… But Open-Source and Self-Hosted! Forgejo
> is a Git Forge, the server code that will publicly host and share a Git
> Repo. (Including our NuttX Repo)
> >
> > In this article, we talk about Forgejo Git Forge, and whether NuttX
> could possibly switch from GitHub to a self-hosted Git Forge...
> >
> > (1) If GitHub Breaks: What’s our Contingency Plan?
> >
> > (2) GitHub is Blocked in some parts of the world…
> >
> > (3) Can we Mirror our NuttX Repo outside GitHub? So NuttX Community
> becomes more inclusive?
> >
> > (4) Also: We’re outgrowing our Budget Limits at GitHub, might need to
> move out
> >
> > Check out the article: https://lupyuen.org/articles/forgejo.html
>
> Thank you Lup :-) Do you know how does Forgejo compare to GitLab? :-)
>
> --
> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
>

Re: [Article] Forgejo Git Forge for NuttX (Experimental)

Posted by Tomek CEDRO <to...@cedro.info>.
On Sat, Jan 11, 2025 at 11:02 PM Lee, Lup Yuen <lu...@appkaki.com> wrote:
> What is Forgejo? Think GitHub… But Open-Source and Self-Hosted! Forgejo is a Git Forge, the server code that will publicly host and share a Git Repo. (Including our NuttX Repo)
>
> In this article, we talk about Forgejo Git Forge, and whether NuttX could possibly switch from GitHub to a self-hosted Git Forge...
>
> (1) If GitHub Breaks: What’s our Contingency Plan?
>
> (2) GitHub is Blocked in some parts of the world…
>
> (3) Can we Mirror our NuttX Repo outside GitHub? So NuttX Community becomes more inclusive?
>
> (4) Also: We’re outgrowing our Budget Limits at GitHub, might need to move out
>
> Check out the article: https://lupyuen.org/articles/forgejo.html

Thank you Lup :-) Do you know how does Forgejo compare to GitLab? :-)

-- 
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info