I think this would be the most humane way to version software. You might ask, yeah but what about API's and contracts? My very strange opinion on this is that, if project developers empathize with people using and operating their software, the API contract problem is solved and won't have to be reflected in the version number.