I won’t be popular with this one.
Within a week, we’ve seen 2 new module proposals, both created by people who made it clear (and that’s a good thing) that they had an idea, and used an LLM to quickly come up with an implementation. The feedback proves that the ideas themselves are popular with the community, and look promising and useful.
Normally, seeing such new modules is a good thing. However, I’m really worried about what AI may mean for the future of darktable.
The creators of these modules have invested time and thought into the tools, designed, experimented and refined them – I do not mean to belittle their efforts.
On the other hand, the maintainers are already stretched thin with ongoing work, whether it’s improvements to existing modules, or to darktable’s inner workings. Plus, the GTK 4 upgrade is looming, where (yes, I also use LLMs) Claude Code gave me a really scary estimate about the required effort. (If anyone is interested: ~258 files with direct GTK usage, ~40,000 lines of GTK code, 1,197 signal connections across 142 files. Realistic estimate: 18-24 months wall-clock with 3-4 developers (~50-74 person-months total).) I’m not the person to say whether it’s correct or not, but even if the real effort were a tenth of that, it seems monumental.
I think, although I’m not a maintainer, that these modules do not have a high chance of being accepted into darktable – if the LLM created a bug, which is only found after the module has been merged, who will fix it? The models are getting better, but do we want to place our bets on their (growing) ability to fix reported issues?
Then, of course, the people who created the modules, and have already published experimental builds, may feel their efforts were for nothing – and maybe decide to fork darktable, or just put up builds on their websites, or post them here. At which point, unless someone steps up to maintain this more AI-permissive darktable fork, merging everyone’s experiments (and how will they set the admission conditions?), this can lead to fragmentation and incompatibility.
I don’t want to be elitist (‘only real developers should create modules’ – what does ‘real developer’ even mean? where is the limit to the extent of LLM/agent contributions?) or a hypocrite (it’s no secret that the 1st version of AgX was LLM-generated, and even after extensive updates, some of the UI code and all of the original OpenCL came from AI). I’m genuinely asking: how can we move forward, making use of the new tools, making it possible to incorporate new ideas, and not sending darktable down a path to fragmentation and chaos, while saving the sanity of the core maintainers?