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