Я вот недавно сказал уже, что политика эта странная, считать что пользователи платформы должны быть или программистами/unix-администраторами, либо им по барабану и они готовы у моря погоды ждать, за что меня слава богу не забанили на этот раз, но комментарий резко почистили.
Почему это должно выглядеть вот так?
Есть у вас эти diff файлы, лежат они у вас на сервере, есть у вас табличка в базе, где каждому diff прописано к каким версиям ядра и модулей он доступен.
Клиент при заходе в Центр обновления запрашивает информацию и при наличии у него высвечивается наличие патча под его версию. Нажимает кнопку и патч скачивается и устанавливается. Вааще без проблем же. Мало того - если чуток постараться - у вас же версификация нормально построена? делеаете вы патч под текущую версию - 4.13 например, но видите, что этот код не менялся по всей четвертой ветке - и ставите ему что он доступен для 4…0 + - и даже тот кто с 4.2 не обновлялся - сможет это сделать (не будем пока обращать внимание на то, что тогда, как и сейчас, такого механизма нет).
Что еще даст подобный инструмент?
Опять же то, о чем я вам лет пять твержу: поддержака работы с внешними сервисами. Яндекс, гугл, или кто еще помял что-то в своих настройках, изменил url запроса - и всё, сервис не работает. Хорошо, для тех кто купил платформу, платит за обновления и главное обновляется - вы выпускаете ОБНОВЛЕНИЕ. А для тех, кто за всё платит, но по какой-то причине не обновляется, через какое-то время часть платформы перестает работать, та часть, которая работает с внешними сервисами. А здесь ведь не зависит ничего от версии ядра, чаще всего - надо лишь изменить работу с внешним сервисом. И? Выпускаете патч, кому он доступен - применяет его и всё работает, все, абсолютно все довольны.
И это нормально. Это человеческое и правильное отношение к своим клиентам. Если они заплатили за ваш продукт, платя за обновления, они оплачивают ваш труд. Но если вы включаете в код работу с внешним сервисом - как мне кажется, вы просто обязаны поддерживать его работоспособность как минимум на текущей ветке системы, то есть если сервис внес изменения в запросы, формат запроса или ответа - доступ к таким изменениям должны иметь все ваши клиенты, вне зависимости, оплачены у них обновления или нет.
Потому что это не обновления системы, это - восстановление работоспособности.