Hi Ekaitz,

This discussion has reminded me that I have a bunch of hastily typed
notes from Guix Days about this very topic!  The notes touch upon a
number of things brought up in this thread.

- Current situation is that Ludovic and Andy are maintainers
  - Ludovic doesn't have much time
  - Andy is focused on compiler engineering
- What we don't have is someone that can focus on patch review
- We don't have someone stewarding new contributors
- Patches waiting a year or more for review
  - Like the Windows JIT patches
- Should we add another maintainer?
  - Group here agrees
- Dev experience work needed too
- Andy doesn't have the time he used to
  - "I'm not going to change" lol
- Want to give people feeling of ownership and power to do things
- Andy doesn't want to decide things in a top-down way
- Keeping stability is important
- Would a forge make it easier to participate in the contribution
  process?
- "The GNU/FSF thing"
  - Should we go along with some of the decisions that Guix makes wrt
    forge/gnu?
- Existing contributors should be empowered more
- Rob Browning specifically should feel more empowered to make commits
  without direct approval from Ludovic/Andy
- Rules about API/ABI changes are institutional knowledge that aren't
  written down anywhere
- Guile feels more difficult to contribute to than Guix
- Ludovic thinks we could get more people to take care of simpler
  things like POSIX (is that simple? lol) and the web client
- Easier to submit things that could be useful to Guile to Guix
  instead; edit distance algorithm given as example
- Ludovic felt like an imposter at the time a previous maintainer made
  him a maintainer
- 2 experienced maintainers + 1 new maintainer seems good to Andy
- Where is Guile headed? Can maintainers set direction?
- Missing persistent data structures, strong consensus on priority to
  get those
- There was a pressure on Guile to get things into core
- Guile lacking a nice build system for Guile-only code (no C)
- Andy says pretty much every time something gets brought into Guile
  core it's been a win
  - Cites the (web ...) modules
- Seems to be agreement that more deprecation needs to happen and
  default (guile) module needs to be reduced in size
- A bit of a divide between those that value standard Scheme and those
  that value Guile-specific APIs
- Hash langs as path for legacy Guile compatibility?
- Could we capture some of the Racket use cases to encourage adoption?
- Andy wants to merge the interesting parts of Hoot into Guile at some
  point
- Whole-program compilation in Guile itself for Guile bytecode,
  similar to Hoot
- Running a REPL on Hoot is a challenge, but seems solvable (Spritely
  will be working on this)
- Wasm emitting toolchain, CPS to Wasm, could be useful for Guile and
  should be merged upstream
- Andy thinks it's dangerous to have the entire Hoot compiler outside
  of Guile; too much risk
  - Spritely agrees, of course
- LGPL complicates whole-program compilation
- Andy would like single-binary output for Guile bytecode linked with
  libguile.a + minigmp + etc. (I agree)
- Ludovic is interested in whole-program compilation for initial RAM
  disks, etc.
- Fundraising????
  - More people are using Guix for their day job, can they pitch in
    for funding?
  - Spritely, NLnet, and Igalia are paying Andy for some Guile
    development
- Would be nice to have a Guile roadmap
- Hacking on Guile feels intimidating
- The Scheme procedures implemented in C, legacy code, are confusing
  newcomers now
  - Things should be moving C to Scheme, especially things that call
    back into Scheme due to how stack capture works for continuations
- Better backtraces desired, underscores are confusing (variables that
  have been optimized out, space that has been reused)
  - Andy: "So you're saying you want a worse compiler" (half-joking)



- Action items:
  - We need to empower more contributors
  - Maybe bringing on a new maintainer
  - Guile should use Guix as a guide for the issues of debbugs
    vs. forge and the GNU issue (update: Guix is now on Codeberg, time
    for Guile to make the switch?)
  - Maintainer for the forge migration
  - Teams for subsets of Guile codebase?
  - Project plan
  - More onboarding resources (talk recordings on website, "try it
    now" REPL in browser, etc.)


Personally, I think a move to Codeberg + a new maintainer + some newly
empowered committers would go a long way, with Andy/Ludovic helping to
set high-level project direction (replacing C with Scheme,
deprecations, cleaning up default namespace, etc.)

- Dave

Reply via email to