RFC: Новая стратегия версионирования для Discourse

Суть SemVer заключается в том, что номер версии должен передавать какую-либо полезную информацию. Единственная информация, передаваемая вашей предлагаемой схемой, — это орбита Земли вокруг Солнца. Эта информация не очень полезна для потребителя программного обеспечения.

Если по какой-то причине я захочу узнать дату выпуска, я посмотрю на релиз и получу полную дату.

Не совсем так. Суть в том, чтобы сообщить пользователю о характере выпуска.

Если выпуск представляет собой обновление патч-версии, это означает, что набор изменений не содержит ничего, что могло бы повлиять на рабочий процесс пользователей программного обеспечения.

Если выпуск представляет собой обновление минорной версии, это означает, что набор изменений включает добавление новых компонентов, с которыми взаимодействуют пользователи, но ничего, что нарушит существующие рабочие процессы пользователей программного обеспечения.

Если выпуск представляет собой обновление мажорной версии, это означает, что набор изменений включает изменения, которые могут нарушить существующие рабочие процессы пользователей программного обеспечения.

Определение того, какой из компонентов версии следует обновить, более однозначно в программном продукте с единственным пользовательским интерфейсом, но принципы остаются теми же даже для программного продукта, такого как Discourse, где существует множество уровней интерфейсов и типов потребителей (например, разработчики плагинов, потребители API, сотрудники форума, конечные пользователи).

Даже если выбор компонента для обновления в этом проекте программного обеспечения является несколько субъективным, это всё равно придаёт номеру версии смысл, а не делает его просто произвольным числом, как это происходит с вашим предложением.