I agree with this. Don’t tag anything as BR:urban, only use the categories that actually exist (maybe local/collector/coletora/arterial/rapido?)
I do not think that any schema or mechanical reading implications should be imposed on source:* tags. URLs to images or the reference code of a piece of legislation should continue to be acceptable values for source:*, and they should only carry information that you can’t get from source= on a changeset.
if there are different default limits, you should not conflate them of course. Rather you should have 2 defaults, one for urban arterial roads, and one for residential roads, e.g. source:maxspeed=BR:urban_residential or BR:urban_arterial.
The same goes for rural roads if there are different defaults. (or better use the names you have suggested if these are closer to your legal reality).
I exported raw TagInfo chronology data and compared the yearly relative tag usage increase, dividing the change in maxspeed:type count by the change in source:maxspeed count. Correcting myself, the adoption maxspeed:type surpassed source:maxspeed only in 2018 and 2023, and by a small margin (only 2% more). In 2025 the difference was minimal, but 2% less. At this point, it cannot be said that source:maxspeed is being supplanted or replaced by maxspeed:type. Perhaps StreetComplete should offer the option to set source:maxspeed where that is the predominant local practice.
Since both tags have almost the same most common values, it would be easier to redefine source:maxspeed than to migrate all its instances to maxspeed:type. Since double tagging is generally not recommended, it would make sense to continue using source:maxspeed, perhaps only discouraging source:maxspeed=implicit and similar imprecise values. This would be the smallest change to the database that would result in meaningful legal default patterns in the format [countrycode]:[context].
I understand that the use of both tags is common practice in the UK, with some adoption in Germany, but TagInfo also indicates that only 9% of ways with maxspeed:type have source:maxspeed. Perhaps StreetComplete should offer both maxspeed:type and source:maxspeed as fields in these countries.
You might need to account for the fact that we are observing geometric growth. The rate of change is much higher for maxspeed:type than for source:maxspeed considering that the latter has much more current use. I’d expect (without justification) that in 5 or 6 years there are more maxspeed:type than source:maxspeed in absolute terms if current growth stays the same.
People newly starting to tag speed limits seem to choose maxspeed:type over source:maxspeed, despite the latter being more prevalent. For this analysis, one would probably need to group the tag usage by users and the time of first use of either. Not sure how to translate that into an overpass query.
I can’t make mapping decisions or endorse either approach based on this speculation. However, since most routing tools already support both tags with the same values, despite not enjoying the support of an influential tool like StreetComplete, I can argue in favour of source:maxspeed with values in the format [countrycode]:[context] as an improvement over source:maxspeed=implicit. In fact, based on the wiki’s edit history, this logic has been valid since 2014.