Greetings,
Several people over the last 12+ years have asked -- and not been given an answer -- why usernames' first character are forced to upper-case. I now have the same question. The discussion stems from this talk pages: https://www.mediawiki.org/wiki/Manual_talk:$wgCapitalLinks and https://www.mediawiki.org/wiki/Manual_talk:$wgCapitalLinkOverrides
To me, this looks like an obsolete, legacy requirement from long before the time $wgCapitalLinks was introduced. The relevant code is found in includes/user/User.php:
public static function getCanonicalName( $name, $validate = 'valid' ) { // Force usernames to capital global $wgContLang; $name = $wgContLang->ucfirst( $name );
isValidUserName also checks this condition. But no where do I see *why*.
Proposal:
It seems to me that either $wgCapitalLinks should apply here, or (for backward compatibility), a new option ( $wgCapitalNames ) should be created to allow the site-admin to disable the forcing of ucfirst of usernames.