Topic on Talk:Requests for comment/Page protection as a component

Moving features to extension only as a means to extend them?

3
Dantman (talkcontribs)

The RFC seems to presume that to make a feature extensible it should be removed from core and put into an extension. I believe this is a fallacy. In the first place you don't even need to remove something from core to make it possible to plug in completely different code.

Being an extension is not a prerequisite for experimentation. Some features do belong in core, including experimental ones. We should encourage ideas of near-ubiquitous features and experimental incremental improvements of core features to be done in core, not move things to extensions just to improve or extend it.

In the case at hand. I see no reason to remove protection from core. If there is a good idea for improvement to our protection system the core code should be improved, such an improvement shouldn't be segregated to an extension only available to the few who bother to install it. And if it's a feature only useful to a few it should be built as an extension and we should make sure that core has enough hooks and interfaces to make it possible to write. But we shouldn't remove the already universally useful protection we currently have just to do that.

Adamw (talkcontribs)

Dantman, You're correct that extracting functionality into an extension is not required. Componentization could be done within core, although I haven't seen any good arguments in favor of that. The built-in protection model is certainly not universal -- see the proliferation of User Rights extensions. Also, bundling extensions with core has been the norm since MW 1.18, I'm not advocating shipping with protection totally disabled. My instinct to extensionize is probably motivated by ignorance and prejudice, although it does seem to be supported by the trends in other open-source projects, among which core functionality is being consistently reduced and divided into decoupled components.

I do strongly agree with your point that potential improvements to the protection model should be distributed by default so that all users benefit.

Thank you for this input, I'll try to update the RFC to disentangle the extension vs. component facet of the debate. Honestly, this is very secondary to the main thrust of the work I hope to complete, and I would be perfectly happy if page protection remained in core, as long as the implementation is flexible and clear.

Unfortunately, far-reaching changes within core will be impeded by inertia.

Nemo bis (talkcontribs)

Moving protection to an extension is totally inappropriate. Practically every wiki, even private ones, have at least one page which is "special" and requires a restriction that all the others don't, including for legal reasons (e.g. the main page or the copyright terms).

Reply to "Moving features to extension only as a means to extend them?"