[neomutt-devel] New marching orders - reviving dead mailing list
Ihor Antonov
ihor at antonovs.family
Fri Feb 5 07:10:31 CET 2021
Hello everyone!
This mailing list was dead for quite some time, and this is an attempt
to bring it back to life. Today (Friday 2021-02-05) there will be a new
release of NeoMutt and flatcap has announced on IRC a goal for the next
one:
de-globalise Index and Pager
This is a result of our discussions on IRC that uncovered somewhat
stagnant state of the project, caused by many factors, some of which
are:
- Large amount of technical debt that manifests itself in a web of
interconnected problems, that form cyclic graphs. Analysing these
chains of problems to find the best way to solve them all
takes an enormous amount of time and often lead to analysis-paralysis.
( and is best described by this xkcd [1] comic )
- Significant mental overhead required to evaluate code changes, caused by
the technical debt. Often even small code change have unexpected
consequences, and so requires exhaustive knowledge of the codebase to be
evaluated and implemented correctly. It takes a lot of time and focus
away from team members who have this knowledge, and creates a
significant challenge for those who want to become more proficient
with the codebase.
- Lack of contributors. Not only it is hard to find people interested
writing C code, it is also hard to find self-contained "good first
issue" due to issues described above.
Even these high level problems form a self-reinforcing loop. Technical debt
leads to mental overhead and low productivity, which creates entry barriers for
contributors, and so remaining team members have less time and resources
to deal with technical debt, and so they are often stuck dealing with
"low hanging fruit" problems that do not change the high level picture:
NeoMutt is not mutt, but it is not something different either.
A proposed strategy to break out of this loop is to gather and focus on
a high-risk, high-impact task, such as the one defined by flatcap above,
without trying to analyze if this is the best approach or not.
Refactoring of index and pager is large chunk of work that aims to
reduce the amount of technical debt, improve application architecture
and open doors for future improvements. It can also introduce breaking
changes, or instabilities. But given the state of the project it is
justified.
The purpose of this email is spark a discussion to:
- define what de-globalisation means, breaking the goal down into
milestones and tasks
- define workflow, branch name, etc.
- answer questions like below, that can be summarized as "how much focus
we divert away from the main goal?"
- what is the level of support fort the current release (do we try to fix
critical issues if reported?)
- do we try following upstream, merging mutt patches into
master/feature branch?
- do we take time to update roadmap page [2] that is currently 3 years
out of date
- ...
- <your-item-here>
Sorry for long rant :)
[1] https://xkcd.com/1445/
[2] https://neomutt.org/dev/roadmap
----------
ngortheone
More information about the neomutt-devel
mailing list