Hello all,
Reading a random fediverse thread, I came across some aspects about
growth of issues and governance around duplications and feature
requests:
https://social.wildeboer.net/@jwildeboer/114131748974841455
```
What I gather from the replies is that better issue tracking should work
with at least 3 separate queues:
- Bugs (things that don't work as they should, breaking functionality,
can be fixed relatively fast)
- Feature requests (Things that don't exist yet in the codebase but
could be added)
- Refactoring (Things that can be bugs or features, but to solve them a
redesign/rewrite/refactor of certain parts of the codebase is needed)
Triage should decide where a new issue belongs.
```
https://social.wildeboer.net/@jwildeboer/114132897616035930
```
often issue trackers are used for feature requests. I think it is
reasonable for those to stay open for long-ish periods of time as part
of a long term roadmap or a help-wanted list. I agree those should be
clearly distinguished from bugs, but sometimes the line between "missing
feature" and "bug" blurs.
```
https://kolektiva.social/@cscott/114132771181298941
Is there a need to provide more formal clarifications regarding
collective expectations and emphases?
Are there any case studies we are using to inform such outcomes?
In particular, is there anything distinct to the Guix experience that we
need to be mindful of?
Kind regards,
Jonathan
On 2025-03-07 06:18, Divya Ranjan wrote:
Hello Carlo,
I don't think this is a fair summary of the goal. The first sentence
of
the GCD[1] is:
The contribution workflow in Guix has been facing several
challenges:
difficult onboarding, lack of legibility, complex, unreliable, and
labor-intensive infrastructure, and lack of automation.
Of these, only "difficult onboarding" is about newcomers. Your
proposal
(which I might describe as "proxy Codeberg into debbugs") involves
building new infrastructure without helping the other issues.
You are correct, Carlo, the GCD does have multiple goals. But in my
email I also elaborated how the onboarding issue is a high-priority
task, reflective from the last survey and also something that can be
achieved without risking too much. I believe we are at a probabilistic
trade-off decision here, do we wish to achieve all the goals, including
a complete change of infrastructure, workflow etc. in the proposed
timeline of 15 days or so, and thus incurring a lot of problems that a
team of committers would’ve to put a lot of effort into resolving? Or,
do we wish to slowly achieve some of the goals, take those goals as a
litmus test for the overall proposal and proceed gradually? I believe
latter would be a safer bet, with less to risk immediately and
opportunity to fix mistakes from feedback.
So, yes, my proposal cannot resolve all the goals, but I am trying to
find a way to integrate what we have with what we might switch to. I
might be at fault here, and feel free to elaborate on that, such as how
can we approach the proposed quick migration to Codeberg while having a
huge backlog of patches?
Since Codeberg already allows to communicate in issues over email,
i.e. you can respond to someone in a particular issue over email,
this
shouldn’t be too difficult to arrange.
This is not true today. While Forgejo supports replying via email,
Codeberg does not have that enabled due to bugs. They have an issue
tracking it: https://codeberg.org/Codeberg/Community/issues/1562
Thank you for this. I had tried it on a Forgejo repository, not a
Codeberg one, so I believed the same could be possible here as well.
From the discussions I see, if we spend enough time with them--which we
need to do either ways--for the migration, they might get it working?
Does not look far from possible to me.
Even if it was true, the big disconnect here would be around
commenting
on specific lines of code. An email with a comment on a patch would
come
through as a top-level comment on the PR, which is not natural in that
context.
Also thank you for bringing this issue, indeed this is a crucial
functionality. But to be clear, this is specifically for a
pull-request. The issues functionality is totally doable out of the box
with Forgejo, we just need to make it work with Codeberg and polish it.
With regards to the PR, one has to remember that the entire process
needs to be wrapped around Forgejo’s API, not as our used to method of
plain text. We’d be parsing JSON to-and-fro. For "reviewing a Pull
Request" in Codeberg methodology, Forgejo provides a
=/repos/{owner}/{repo}/pulls/{index}/reviews= API[0] to initiate a
review. This API will take the comments from the patch in the Email,
place them in the "body" string of the JSON, and the respective
positions from the diff, the commit_id and so on. I agree it is
non-trivial, but so is switching a workflow that has been in-place for
years, also a non-trivial task. I think the API has enough things for
what we need. And again, we don’t need all of them, we only require
implementing those for now that bridge existing email workflow and the
newcomers’ onboarding. Merging, for example, I propose to be done in
the usual way of taking a patch and applying it. Eventually once we
have less of a backlog, and more ease of migration, one might consider
moving these core tasks to the Codeberg as well.
Either ways, we are at the crossroads and we need to decide which
trade-off is worth the pain. I believe it is *not* certain that once we
entirely migrate to Codeberg, the goals of "complexity" and "lack of
legibility" would be immediately reaped. It creates a possibility of
enjoying them, but given the assumption that the switch from existing
architecture is smooth. And, once again, if we were a relatively
smaller project such as the Guix-Science, this could’ve been a decision
much simpler and with less at stake, but that is not the case. But I
think it *is* certain that if we take an approach that doesn’t directly
replace one workflow with another, but bridges the new one with the
previous one, the committers will have a better way to switch. Simply
because they can try to finish the backlog using the existing workflow,
and the new patches can come to them with that as well. Where we go
from there, can be decided upon how good the litmus test goes.
[0]: https://codeberg.org/api/swagger#/repository/repoCreatePullReview
Regards,