Haikuports gerrit

Is there any objection to there beeing set up an own instance to use? regardless of wether that is sr.ht (forgot the sw name), gitea, or gerrit?

You meant mirroring GitHub repositories on an Haiku hosted instance?
Or tracking bugs directly on the Haiku hosted repository software ?

Sorry, your use of complex phrasing with passive voice in English confused me and I misunderstood you.

Anyway, yes, self hosted instances do let you contribute. It works this way:

  • You run your own git instance with whatever tool you want
  • You put your patches there
  • You send a message to the maintainers informing them that you made changes
  • It is up to the people who decide to use Githubto figure out how to pull the changes and integrate them in their repo

This is how Git should work. Github attempts to turn it into a centralized system, but we don’t have to blindly follow that, even if some repositories are hosted at Github.

I will have to do that as well, since Github requires 2FA now and for security reasons I have that now tied to my work computer to secure Github things I do there appropriately, so, no Github access from home anymore for me. For now I can still push things directly to Github without authenticating, and I can reply to issues by email. The web interface is completely unreachable, so, no creating pull requests, no creation of new forks, no creation of issues. Unless I do it from work during lunchbreak.

Now, regarding opposition: there will be some if we ask the already overworked Haiku sysadmins to handle this. On the other hand, moving to another hosted system only pushes the problem back until that other provider also starts doing stupid things or shuts down. At least we can pick one that uses opensource software this time…
And, for a full migration, Haikuports would have to decide what to do with the existing tickets and pull requests. Can these be migrated? Having them spread in two different places would be annoying.

Well, this is not really a nice way to contribute to a project in my view. Usually if you want to contribute to a project, you use the tools that they have decided to use, whether you are fond of them or not.
The correct way in my opinion would be to start a discussion among the Haikuports members/contributors on the HaikuPorts mailing list and try to convince them to switch. Apart from checking with Haiku’s sysadmins if they are OK with it.

2 Likes

nephele has been complaining for several months, if not years. Nothing happens. We are having this discussion here again. I think it is not working? So all that’s left is making it annoying for the people who don’t move out of github :frowning:

Also, haikuports is not part of Haiku, so Haiku sysadmins have no special word in that decision. Unless we ask them to host it, of course, but that will be a big change of how Haikuports operate (even if there is a large overlap in the contribution teams, officially, it’s not the same project).

1 Like

Maybe the majority of Haikuports members want do stay on GitHub? Isn’t that a valid choice also? I don’t necessarily advocate for the use of GitHub but I don’t see a reason to actively try to force people off it either.

That’s what I was referring to.

3 Likes

The problem i see with this model is that a big part of contributing back, atleast for me, is also reviewing changes. In some areas I have more expertise than others and If I cannot review changes that can’t be utilized, and in the same way I cannot benefit from reviews of other people as easily, or the turnabout time becomes way too big.

So I do agree with you that it is possible, but for me I think it is infeasible, we had this situation with gerrit before and I don’t think that was fun for either of us : /

Coming back to this: Is there interest from the haikuports team to move to any other soluton?

Github kind of forces the issue with their 2fa requirement, which already makes some devs unable to access github.

If there is interest let me know and I can set up a solution on a vps to try it out.

Options mentioned in this thread:

  • Gerrit (Code review only)
  • Forgejo (codeberg) (both)
  • Gitea (both)
  • Gogs (both)
  • Gitlab (both)
  • Trac (tickets only)

I would discount gitea in favor of Forgejo.
Gigs and trac do not support oauth2. So for the moment that would leave

  • Gerrit
  • Forgejo
  • Gitlab

Since gerrit can’t be used standalone (no tickets) that leaves us with two options, personally i would strongly lean to forgejo of those two options.

Is there interest in trying out forgejo for this purpose? Or does anyone have suggestions on how we could set up the gerrit+trac combo, making sure that trac supports oauth2. Or any other ticketing software that is equivalent and supports oauth2.

Regards

1 Like

Indeed. As mentioned in one of my previous posts I am mirroring Haikuports with Gitea, but Forgero seems like a better option now (including for my personal repositories). I think I will migrate to it in the the coming weeks.

Personally I find Gitea/Forgero to be very good compromises in term lightness on resources vs features vs easiness to setup/use, and setting-up oauth2 on my Gitlab instance was trivial.

I’ll be brief (for once):

If HaikuPorts switches to Gerrit… I’ll probably stop contributing much there. Current setup, works for me. A switch to codeberg, I wouldn’t mind that much.

Edit: That being said. I rather leave things as they are, now. Even I can manage 2FA. And switching to other solutions will create points of friction for occasional contributors (“yet another service/account to just report a bug”).

1 Like

Unsure if it’ll be a problem (unlikely) for HaikuPorts and the wider Haiku Project, but it should be noted that Codeberg has disabled the push to create feature in Forgejo. This means that new repositories cannot be created simply by pushing. In contrast, GitLab and GitHub both have this feature enabled.

Aside from this, Codeberg would be preferable. GitHub Pages was mentioned earlier in the thread. GitLab Pages and Codeberg Pages both exist as direct alternatives.

Also as a very minor point in favour of Codeberg, Forgejo has a theme that is slightly similar to the planned stylesheet revisions for some of the Haiku websites:

This is a setting and not relevant if we set up our own instance, the theme I can also adjust.

But first I want to actually try this.

EDIT:

Not really, since this would use oauth2 with our keycloak

It’s not completely removed though; it’s only disabled by default, you can enable it in the settings.

I’ve given my 2 cents here already, I’m good with github and see no reason to switch.

3 Likes

This is for Forgejo admins, not users. This is why I specified Codeberg, since it was under the presumption that HaikuPorts/Haiku Project would not self-host a Forgejo instance.

That being said, @nephele did mention earlier the possibility of self-hosting Forgejo where it would be relevant.

1 Like

I also think that Forgejo is currently the best solution.
I use it very much through the Codeberg platform and I’m really happy with it.
It feels somewhat like Github before M$ started to destroy it,but free and open.
Self-hosted Gitlab is also very much better than relying on M$ for everything,but its user-interface is rather bloated and JS-heavy,Forgejo feels better/more lightweight.

Maybe I’ve already mentioned that,not sure,but what speaks against at least setting up a mirror with Issues and Pull requests enabled?
That way,people who don’t care about M$ being evil can continue to use their proprietary walled-garden,and actual free-software supporters can still contribute to the project.

gitlab to me seems to be just worse than github. No advantages whatsoever. Technically open source doesn’t help much when the software is awfull.

I don’t see what the point is off a mirror, it would split the repo across two places.

We could if we wanted to set up a second instance that does something different. i.e not beeing haikuports but rather for example a repo for native software only and distribute that. It would be another option

edit: I could for instance imagine a “project” aegis in forgejo, with all repos in that project with tagged releases getting those tags build and then distributed in a repository. Quiting the “one repo aproach” haikuports has and moving to proper build system support for packages. It would be one alternative idea for instance.

Github used to have a rather nice web interface in the past,and I found Gitlab worse in terms of UX,but those times are gone.
Github tried very hard to destroy their user interface during the last months,and they succeeded,it’s now just as slow and bloated as Gitlab.
Now,Gitlab has the advantage that it can be self-hosted and is independent of M$,but it doesn’t really have a major disadvantage compared with Github anymore lol

I still think that Forgejo is the best way to go,and if nobody is willing to host it,Codeberg can be used for free and many people already have accounts there.

The point of a mirror is that it offers a way to contribute without being forced to have an account with M$.
This current requirement makes sure that I’ll never even think of contributing,and I don’t think the popularity of M$ has grown in the recent past,I’d rather think the opposite.
People are getting fed up with big tech taking control over everything.
And people who don’t care can always go on using Windows…

From all these options, which allow for the login/password to be set up in a config file in the machine, and never be asked when working ?

For the web interface: none, haikuwebkit does not support webauthn.

For the commandline: all of them, just use a ssh key.

Funny thing is… since keycloak got added, and I setup 2FA for gerrit, it is Haiku’s gerrit the one that gets on my nerves, asking for me to loging/2FA, way way too frequently.