... | ... | @@ -66,7 +66,7 @@ In the following the references to interview quotes are the first two letters of |
|
|
|
|
|
### The forge ecosystem
|
|
|
|
|
|
The interviewees use multiple forges for a variety of reasons but they mainly work on their software development project on a single forge. In the past years they came to experience and know about a variety of forges (GitHub, GitLab, Gitea, Phabricator, SourceHut, Heptapod, redmine, etc.) (ref. AR, CJ, CP, DA, DO, GR, MA, NA, PO, ZA). All of them have (or had in the past) a GitHub account and they acknowledge the monopolistic position it occupies because it hosts the majority of Free Software projects (ref. ZA44) (ref. DA54) (ref. MA67) (ref. DO61) (ref. GR39). Although they are concerned and have reservations about GitHub (ref. NA93) (ref. DA45) (ref. MA64) (ref. CP57), none of them refuse to use it (ref. PO80). The Free Software forges (GitLab CE, Gitea) are considered to be quality software that can easily be installed and maintained (ref. CP19). In the past years, the number of self-hosted forges instances grew substantially (ref. GR93). However the interviewees noticed that only a few are open to the general public (ref. MA4) (ref. CP57) (ref. GR75): most of them have a specific focus (ref. CP57). For instance the [GitLab CE instance of Gnome](https://gitlab.gnome.org/).
|
|
|
The interviewees use multiple forges for a variety of reasons but they mainly work on their software development project on a single forge. In the past years they came to experience and know about a variety of forges (GitHub, GitLab, Gitea, Phabricator, sourcehut, Heptapod, Redmine, etc.) (ref. AR, CJ, CP, DA, DO, GR, MA, NA, PO, ZA). All of them have (or had in the past) a GitHub account and they acknowledge the monopolistic position it occupies because it hosts the majority of Free Software projects (ref. ZA44) (ref. DA54) (ref. MA67) (ref. DO61) (ref. GR39). Although they are concerned and have reservations about GitHub (ref. NA93) (ref. DA45) (ref. MA64) (ref. CP57), none of them refuse to use it (ref. PO80). The Free Software forges (GitLab CE, Gitea) are considered to be quality software that can easily be installed and maintained (ref. CP19). In the past years, the number of self-hosted forges instances grew substantially (ref. GR93). However the interviewees noticed that only a few are open to the general public (ref. MA4) (ref. CP57) (ref. GR75): most of them have a specific focus (ref. CP57). For instance the [GitLab CE instance of Gnome](https://gitlab.gnome.org/).
|
|
|
|
|
|
* **CP19**: "We converge towards the notion of 'I have a software component and it runs'".
|
|
|
* **CP57**: "[...] as any respectable Free Software developer trying to minimize their internal conflicts [...] you cannot be on GitHub nor GitLab.com"
|
... | ... | @@ -190,7 +190,7 @@ This user research did not collect any evidence of other forge features for whic |
|
|
* **AR56**: "There is no tooling to handle these links, it is documented, it is a convention."
|
|
|
* **AR64**: "[...] to ensure stability we pin everything and then bots suggests upgrades that can be merged on a rolling basis."
|
|
|
* **AR67**: "He does the update the version [of the dependency] must be upgraded and the monkey patch breaks."
|
|
|
* **CP39**: "External issue trackers: Gitea handles that well and I use it to connect with the redmine of [organization]."
|
|
|
* **CP39**: "External issue trackers: Gitea handles that well and I use it to connect with the Redmine of [organization]."
|
|
|
* **CP49**: "We use [the API] to produce activity reports."
|
|
|
* **DA109**: "It was a CLI tool to automate manual tasks by using the GitLab and Redmine API [...]"
|
|
|
* **DA52**: "<project B> has many dependencies. Some of them are hosted on other forges."
|
... | ... | @@ -208,7 +208,7 @@ This user research did not collect any evidence of other forge features for whic |
|
|
* **NA52**: "We have some scripts to help developers automate repetitive tasks such as opening a backport issue in Redmine and opening a backport pull request in GitHub."
|
|
|
* **NA60**: "To use the RocksDB example, bugs in that dependency get fixed by applying a patch to the Ceph project's fork of the RocksDB git repo, and then triggering a new build. But since that means the fork has diverged from the upstream RocksDB project's source code, the patch has to be submitted to the RocksDB project, where it might end up being accepted in a modified form, or even rejected."
|
|
|
* **NA85**: "When I use Git to prepare a new branch for an update, and one or more downstream patches have made it into the upstream repo since the last update, I do it in such a way that Git automatically drops those patches. "
|
|
|
* **PO110**: "At April we have an ad-hoc bot to monitor the redmine activity"
|
|
|
* **PO110**: "At April we have an ad-hoc bot to monitor the Redmine activity"
|
|
|
* **PO119**: "[...] I use the tig viewer: I add forks I know as remotes in Git"
|
|
|
* **PO50**: "[...] I stumbled on a problem with the django-<plugin> dependency that is hosted on GitHub"
|
|
|
* **PO53**: "I added an hyperlink in a comment of the issue from <projectB> to the issue of the django-<plugin> project"
|
... | ... | @@ -262,4 +262,4 @@ Key takeaways: |
|
|
* **Focus on multi forges issues**. Developers manually add links in issues or commit comments to keep track of related issues that are located on different forges. They rely on their memory or conventions to connect the two. Fedeproxy can automate this workflow and provide activity notifications when it is lacking.
|
|
|
* **Leverage the desire of developers for a decentralized and federated ecosystem**. Although developers have agreed to the terms of service of centralized forges, they are unhappy about it. Making it easy for them to participate in fedeproxy would allow them to help making it happen sooner rather than later.
|
|
|
* **Create a User eXperience, not a User Interface**. Developers use the UI of the forge on which their project is hosted on a daily basis and are reluctant to use another UI. The UX provided by fedeproxy by must be embedded in the UI they currently use.
|
|
|
* **Do not require the user to create an account on every forge**, even for the purpose of federation. Although having an account on both forges is a requirement to link two issues, it must be transparent to the user otherwise it will drive early adopters away. |
|
|
* **Do not require the user to create an account on every forge**, even for the purpose of federation. Although having an account on both forges is a requirement to link two issues, it must be transparent to the user otherwise it will drive early adopters away. |
|
|
\ No newline at end of file |