У меня вопрос по поводу правил разработки: в чем сакральный смысл версии в имени библиотеки? Зачем выпускать kde4 на qt4, и тут же пересобирать для qt4.5 или какая она там?
Вот есть, скажем, Qt. Версии, скажем, третьей. Тут разрабы поднатужились и родили четвертую версию, кардинально отличающуюся от третьей, как небо от земли. Почему не выпускать под тем же именем? Не qt3, а просто Qt. Скажем, мажорный релиз. И писать, когда ты говоришь, aptitude show Qt, что вот-мол, версия сменилась, стала не 3.8.9, а 4.0.2. Или без зоопарка номеров библиотек невозможно жить?
К вопросу о совместимости, вот, якобы софт, написанный под qt3 не будет работать под qt4.5 - а разраб даже не чешется, чтобы дорабатывать софтину, а она очень, очень нужная в работе. Да в задницу такой софт, я вам скажу, который даже я(а он мне очень нужен) не хочу браться дорабатывать. Зато какой будет стимул - либо разрабатыват ьсамому дальше софт, либо, за неимением навыков, пинать разработчика, чтобы он копался и исправлял несовместимость.
На мой взгляд, пометки -dev -beta -testing -main или еще какой-либо вполне достаточно, чтобы отобразить, идет речь о основной версии, о бета-версии или версии для разработчиков.
В конце-концов либы для софта - это не ядро, которое меняется раз в год или в два.