I wasn't saying i was totally against the idea btw, i was just trying to invite some discussion..., just to explain
Personally I dont think its that great we have version numbers in our default codec, I was the one that proposed this
because its simple on our end as Lucene developers to implement backwards compatibility this way: but it encourages
some code duplication and stuff like that: which is in my mind, a lesser evil than conditionals inside one "mega-impl"
like before, that must handle different binary formats.
And i think this is pretty contained to expert users: most people will just create an indexwriter and be oblivious to this.
As far as alternative things in codecs/, I feel it would be best to not add complication for back-compat, instead to
try to keep these implementations simple. If we start adding versioning and back compat to them, then we are basically
expanding our backwards compatibility commitments to N versions * M formats, which is something that requires a very