Why, oh why, does every piece of software implement its own version comparison scheme? And make it as incomprehensible as possible? Maven, I am looking at you!