I've always thought that this didn't seems so bad idea. We use vendor prefixes so specific vendor errors and omissions doesn't become a property of the released standard.<p>An alternative to vendor prefix could have been draft prefixes instead. So for example, Firefox could say that we have partial implemented `shadow-box` draft 1, so we call it `-d1-shadow-box`. If Firefox had a number of omissions they could instead call it `-ff1-shadow-box`. If an later browser supported shadow-box exactly as Firefox did with the same omisisons, they could simply adopt `-ff1-shadow-box`, which then most likely would later become the standard.