Language must serve communication
Language rules (spelling, orthography, grammar, …) exist to make communication happen properly, to maximize the signal-to-noise ratio, to minimize ambiguity.
As language evolves, and communication mediums evolve as well, grammar rules must be updated to reflect new realities.
For example, URLs and paths require special word-breaking rules that would not normally be considered correct. The existence of URLs and file paths, however, creates a problem, because traditional grammar rules create ambiguity for URLs and paths.
Another example is related to compound adjectives. “Open-source software” needs a hyphen, because is a compound adjective. On the other hand, “a dimly lit room” does not need a hyphen, because an adverb and an adjective do not create a compound adjective. However, “a dimly-lit room” would be more consistent, and provides more information for the reader to reduce apparent ambiguity.