Project

General

Profile

Forges » History » Version 24

Jesse Olson, 12/27/2020 07:54 PM

1 1 Denis 'GNUtoo' Carikli
h1. Forges
2
3 5 Denis 'GNUtoo' Carikli
h2. Requirements
4 1 Denis 'GNUtoo' Carikli
5 5 Denis 'GNUtoo' Carikli
* Fully free software
6
* Low resource usage
7
* Javascript requirements:
8 10 Denis 'GNUtoo' Carikli
** Friendly upstream that accepts patches to make all features work without JavaScript
9
** Code base that don't depend a lot on JavaScript
10
** If possible all features should be usable without JavaScript
11
** If possible the JavaScript has to be compatible with LibreJS
12 5 Denis 'GNUtoo' Carikli
* Workflow requirements:
13 10 Denis 'GNUtoo' Carikli
** Have the ability to tell users, from within the forge how to send patches to the mailing list
14 5 Denis 'GNUtoo' Carikli
** Friendly upstream that can accept patches for integrating it with a mailing based workflow.
15 10 Denis 'GNUtoo' Carikli
** Code base where integrating a mailing list based workflow is not too hard to do
16 7 Denis 'GNUtoo' Carikli
* Have it packaged in a distribution we can use in the FSF VMs to reduce maintenance cost
17 5 Denis 'GNUtoo' Carikli
18 22 Kurtis Hanna
h2. Forge evaluations done by other Free Software organizations
19
20
The FSF is currently evaluating forges to compliment their Savannah servers: https://www.fsf.org/blogs/sysadmin/coming-soon-a-new-site-for-fully-free-collaboration
21
22
FSF 2020 forge evaluation page on the LibrePlanet wiki: https://libreplanet.org/wiki/FSF_2020_forge_evaluation
23
24 23 Kurtis Hanna
December 4th, 2020 update: "The FSF forge is still a work in progress. Since our last update, summer intern Amin Bandali deployed a testing instance of SourceHut, one of many possible programs for the forge." https://www.fsf.org/bulletin/2020/fall/updates-from-the-fsf-tech-team
25 22 Kurtis Hanna
26 23 Kurtis Hanna
h2. Possible forges for Replicant
27 5 Denis 'GNUtoo' Carikli
28
h3. Gitlab
29
30 8 Denis 'GNUtoo' Carikli
We used gitlab before and we had resource usage issues. The VM went out of RAM because of that.
31
32 9 Denis 'GNUtoo' Carikli
It also extensively depends on JavaScript and it doesn't look easy at all to fix. 
33
34
From our FOSDEM 2020 report that is not yet released:
35 3 Denis 'GNUtoo' Carikli
<pre>
36
They used a framework that did most of the work on the server side,
37
but at some point they switched to a framework that does JavaScript
38
on the client side.
39
40
Accepting patches to fix that would require to double the UI work for
41
everything, but it might be possible to do server side rendering for
42
JavaScript. The issue is that it cannot make requests from buttons
43
like that, so in addition to the page rendering that could happen
44
through server-side JavaScript, introspection could be used to
45
rewrite the buttons.
46
</pre>
47
48
It also hide buttons, which is awful for users as they don't understand what is going on.
49
50 1 Denis 'GNUtoo' Carikli
Packages: ?
51 3 Denis 'GNUtoo' Carikli
52 13 Denis 'GNUtoo' Carikli
h3. Pagure
53 1 Denis 'GNUtoo' Carikli
54
*Website*: https://pagure.io/pagure
55
*Command line tools* : https://pagure.io/pag-off
56
57
Features:
58
* "The buttons seem to be greyed out when they cannot be used":https://pagure.io/pagure/pull-request/4786 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.
59 12 Denis 'GNUtoo' Carikli
* 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
60 11 Denis 'GNUtoo' Carikli
* 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":https://pagure.io/pagure/issue/3507 . Few features seem to depend on JavaScript.
61 13 Denis 'GNUtoo' Carikli
* There is some interest in bridging a mailing based workflow to pagure: https://pagure.io/pagure/issue/15
62 3 Denis 'GNUtoo' Carikli
63 6 Denis 'GNUtoo' Carikli
Packages: "currently packaged in Debian SID":https://packages.debian.org/sid/pagure, in "a PPA":https://packages.ubuntu.com/focal/pagure, might be packaged in other distributions
64 3 Denis 'GNUtoo' Carikli
65
Contacts: #pagure on Freenode and/orthe pagure-devel@lists.pagure.io mailing list
66 14 Jesse Olson
67
h3. Sourcehut
68
69
*Website*: https://sourcehut.org
70
*Primary Maintainer*: Drew Devault - sir@cmpwn.com
71
*Person who wrote this section*: j3s - j3s@c3f.net (feel free to contact me with any questions!)
72
73
*Pros*
74
75 24 Jesse Olson
* Completely integrated mailing list, build, todo, hub, and git repositories. Organizations/groups coming eventually.
76 14 Jesse Olson
* Only has 3 static js files. Extremely easy to support LibreJS. Requires no Javascript to function.
77
* Simple user export of data
78 16 Jesse Olson
* AGPLv3, committed to free software philosophies and open source communities https://sourcehut.org/blog/2019-10-23-srht-puts-users-first/
79 14 Jesse Olson
* Also has wiki/manpage support, a paste service, and a dispatch service.
80 21 Jesse Olson
* Trisquel/Parabola installations would both work with minimal fuss: https://man.sr.ht/packages.md
81 14 Jesse Olson
82
*Cons*
83 1 Denis 'GNUtoo' Carikli
84 21 Jesse Olson
* Alpine Linux is the most supported distribution, and doesn't meet RYF certification.
85 18 Jesse Olson
* Email setup can be a bit more complicated than alternatives, but it's fine if one is familiar with email concepts - SPF/DKIM/etc
86 24 Jesse Olson
* Drew maintains that sourcehut is "in alpha stage" - he goes over what that means here: https://sourcehut.org/alpha-details