Project

General

Profile

Forges » History » Version 9

Denis 'GNUtoo' Carikli, 04/07/2020 05:01 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
** Friendly upstream that could accept patches to make all features work without JavaScript
9
** If possible don't depend on JavaScript
10
** if possible the JavaScript has to be compatible with LibreJS
11
* Workflow requirements:
12
** Have the ability to tell users about sending patches to the mailing list
13
** Friendly upstream that can accept patches for integrating it with a mailing based workflow.
14 7 Denis 'GNUtoo' Carikli
* Have it packaged in a distribution we can use in the FSF VMs to reduce maintenance cost
15 5 Denis 'GNUtoo' Carikli
16
h2. Possible forges
17
18
h3. Gitlab
19
20 8 Denis 'GNUtoo' Carikli
We used gitlab before and we had resource usage issues. The VM went out of RAM because of that.
21
22 9 Denis 'GNUtoo' Carikli
It also extensively depends on JavaScript and it doesn't look easy at all to fix. 
23
24
From our FOSDEM 2020 report that is not yet released:
25 3 Denis 'GNUtoo' Carikli
<pre>
26
They used a framework that did most of the work on the server side,
27
but at some point they switched to a framework that does JavaScript
28
on the client side.
29
30
Accepting patches to fix that would require to double the UI work for
31
everything, but it might be possible to do server side rendering for
32
JavaScript. The issue is that it cannot make requests from buttons
33
like that, so in addition to the page rendering that could happen
34
through server-side JavaScript, introspection could be used to
35
rewrite the buttons.
36
</pre>
37
38
It also hide buttons, which is awful for users as they don't understand what is going on.
39
40 1 Denis 'GNUtoo' Carikli
Packages: ?
41 3 Denis 'GNUtoo' Carikli
42 5 Denis 'GNUtoo' Carikli
h3. Pargure
43 1 Denis 'GNUtoo' Carikli
44
*Website*: https://pagure.io/pagure
45
*Command line tools* : https://pagure.io/pag-off
46
47
Features:
48
* "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.
49 3 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 enable to use all features without any JavaScript. For that the few features that depends on it would need to be modified to work without Javascript as well.
50 1 Denis 'GNUtoo' Carikli
* There is some interest in bridging a mailing based workflow to pargure: https://pagure.io/pagure/issue/15
51 3 Denis 'GNUtoo' Carikli
52 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
53 3 Denis 'GNUtoo' Carikli
54
Contacts: #pagure on Freenode and/orthe pagure-devel@lists.pagure.io mailing list