Project

General

Profile

Actions

Forges » History » Revision 16

« Previous | Revision 16/21 (diff) | Next »
Jesse Olson, 04/08/2020 07:52 PM


Forges

Requirements

  • Fully free software
  • Low resource usage
  • Javascript requirements:
    • Friendly upstream that accepts patches to make all features work without JavaScript
    • Code base that don't depend a lot on JavaScript
    • If possible all features should be usable without JavaScript
    • If possible the JavaScript has to be compatible with LibreJS
  • Workflow requirements:
    • Have the ability to tell users, from within the forge how to send patches to the mailing list
    • Friendly upstream that can accept patches for integrating it with a mailing based workflow.
    • Code base where integrating a mailing list based workflow is not too hard to do
  • Have it packaged in a distribution we can use in the FSF VMs to reduce maintenance cost

Possible forges

Gitlab

We used gitlab before and we had resource usage issues. The VM went out of RAM because of that.

It also extensively depends on JavaScript and it doesn't look easy at all to fix.

From our FOSDEM 2020 report that is not yet released:

They used a framework that did most of the work on the server side,
but at some point they switched to a framework that does JavaScript
on the client side.

Accepting patches to fix that would require to double the UI work for
everything, but it might be possible to do server side rendering for
JavaScript. The issue is that it cannot make requests from buttons
like that, so in addition to the page rendering that could happen
through server-side JavaScript, introspection could be used to
rewrite the buttons.

It also hide buttons, which is awful for users as they don't understand what is going on.

Packages: ?

Pagure

Website: https://pagure.io/pagure
Command line tools : https://pagure.io/pag-off

Features:
  • The buttons seem to be greyed out when they cannot be used This is much better than Gitlab where the buttons like "Send pull request" completely disappear if the feature is deactivated. Having button like that disappearing is really bad as users struggle to understand what they are doing wrong and can't contribute, when in fact the feature is simply deactivated without any way that shows it.
  • It's possible to create a theme that replaces the Pull Requests tab with a link (for instance the link could point to a page that explains how to send patches to the mailing list). src.fedoraproject.org uses that to replace the Issues tab with a link to Red Hat's Bugzilla
  • It's compatible with LibreJS but still requires JavaScript for some functionalities. Upstream seem friendly and is probably very interested in getting patches to make it possible to use all features without any JavaScript . Few features seem to depend on JavaScript.
  • There is some interest in bridging a mailing based workflow to pagure: https://pagure.io/pagure/issue/15

Packages: currently packaged in Debian SID, in a PPA, might be packaged in other distributions

Contacts: #pagure on Freenode and/orthe mailing list

Sourcehut

Website: https://sourcehut.org
Primary Maintainer: Drew Devault -
Person who wrote this section: j3s - (feel free to contact me with any questions!)

Pros

  • Completely integrated mailing list, build, todo, git repositories. "Hub" feature coming soon, organizations/groups coming eventually.
  • Only has 3 static js files. Extremely easy to support LibreJS. Requires no Javascript to function.
  • Simple user export of data
  • AGPLv3, committed to free software philosophies and open source communities https://sourcehut.org/blog/2019-10-23-srht-puts-users-first/
  • Also has wiki/manpage support, a paste service, and a dispatch service.

Cons

  • Alpine Linux is the most supported distribution, and doesn't meet RYF certification. Trisquel installation may be a bit of a pain. Parabola may be easier since there are currently Arch repositories!
  • Email setup can be a bit complicated, but it's fine if one is familiar with SPF/DKIM/etc
  • Drew maintains that sourcehut is "alpha quality software" - he goes over what that means here: https://sourcehut.org/alpha-details/

Updated by Jesse Olson 6 months ago · 16 revisions