I spent a bunch of time reading docs to better understand the issues with loading modules a while back. I wanted to write a library—I was calling it “uspell”, the u for “unified”—that provided no spell-checking of its own and just had modules to support other spell-checking backends. Loadable modules solve the binary dependency problem: uspell depends on nothing, but uspell-module-aspell depends on aspell. There are spell checkers that attempt to unify languages (aspell supports quite a few) but ultimately the better spell checkers have language-specific logic for analyzing inflection/morphology.
The plan was to finish uspell, then use that as the backend for a new, better-thought-out GtkSpell. Today I got mail from the Enchant developer, who has created a near-identical system to the uspell I had planned, and just tonight I got a patch to GtkSpell to use it. So I guess I don’t need to do anything, yet.
The plan, as before: finish LogJam release, first. Mustn’t start other projects.