-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Description
I would like to start by thanking the enormous work @jpakkane is doing with the Meson project. Being a maintainer is hard and ungrateful work, I'm really pleased by the time and effort he has always put in the project. If meson is so successful today it's thanks to him first.
I've personally been involved in the Meson project for about 2 years now, and while the project gets a continuous stream of contribution from everyone, I feel we are underpowered regarding maintainership and reviewing of patches. It is often a frustrating bottleneck.
I would like to suggest the idea of delegating maintainership of meson modules to individuals, who will be in charge of reviewing/approving patches touching their module. This means they would be responsible to approve or reject new methods and features in their module. That way @jpakkane can focus on the core of Meson.
The side effect of this proposal is to allow more flexibility to experimental modules that would not always match the same stability standards than the rest of Meson, as long as it has a clear maintainer and popular use-cases. Yes I'm thinking about a "cargo" module.
Why modules?
- They have self-contained code base, it's easy to know who is responsible for each PR.
- They have dedicated doc page, where we can make it clear when it's unstable/experimental/deprecated/etc.
- Easy to just drop/deprecate the code altogether if it turns out the experiment is a failure, or has been replaced by better alternatives.
- Easy to document who is in charge for each module, so contributers know who to talk to.
- In most projects this would be achieved by external plugins, but I personally don't like spreading the code base, and that would require to design stable public API which is not really the biggest strength of python.
Examples:
- I hereby offer becoming maintainer of pkgconfig module. :-P
- @nirbheek has offered to maintain a future cargo module.
- @mensinda is already maintaining cmake module.
- I'm sure people will step-in for other modules, comment below ;-)
Of course this won't solve everything, but could be a good start. What do you think?