Это действительно зависит от проекта; некоторые проекты даже не выпускают версию 1.0.
Разработчики MAME не намерены выпускать версию 1.0 своей программы-эмулятора. Аргумент в том, что он никогда не будет действительно «закончен», потому что всегда будет больше аркадных игр. За версией 0.99 последовала версия 0.100 (минорная версия 100> 99). Аналогичным образом за Xfire 1.99 последовало 1.100. После 6 лет разработки eMule еще даже не достиг версии 0.50. Управление версиями программного обеспечения в Википедии
Один из популярных методов нумерации версий (который я начал использовать) - это семантическое управление версиями .
В соответствии с этой схемой номера версий и то, как они изменяются, передают значение о базовом коде и о том, что было изменено из одной версии в другую.
Некоторые цитаты, чтобы дать вам больше идей о том, как это работает и / или ответить на некоторые ваши вопросы:
Как я знаю, когда выпустить 1.0.0?
Если ваше программное обеспечение используется в производстве, оно должно быть уже 1.0.0. Если у вас есть стабильный API, от которого стали зависеть пользователи, вы должны быть 1.0.0. Если вы сильно беспокоитесь об обратной совместимости, вы, вероятно, уже должны быть 1.0.0.
Разве это не мешает быстрой разработке и быстрой итерации?
Основная версия ноль - все о быстрой разработке. Если вы меняете API каждый день, вы все равно должны быть в версии 0.xx или в отдельной ветке разработки, работающей над следующей основной версией.
Если даже самые незначительные назад несовместимые изменения в общедоступном API требуют значительного увеличения версии, разве я не получу очень быстро версию 42.0.0?
Это вопрос ответственного развития и предвидения. Несовместимые изменения не следует вводить слегка в программное обеспечение, которое имеет много зависимого кода. Стоимость обновления может быть значительной. Необходимость поднять основные версии для выпуска несовместимых изменений означает, что вы продумаете влияние своих изменений и оцените соотношение затрат и выгод.
Существуют также правила определения версий «альфа», «бета» и т. Д. Проверьте детали на http://semver.org/ .
[Edit] Еще одна интересная схема нумерации версий, которую использует MongoDB :
MongoDB использует нечетные версии для выпусков разработки.
В версии MongoDB 3 числа: ABC
- А является основной версией. Это будет редко меняться и означать очень большие изменения
- B номер выпуска. Это будет включать в себя множество изменений, включая функции и вещи, которые могут нарушить обратную совместимость. Четные B будут стабильными ветвями, а нечетные B будут развитием.
- C - это номер редакции, который будет использоваться для ошибок и проблем безопасности.
Например:
- 1.0.0: первый выпуск GA
- 1.0.x: исправление ошибок до 1.0.x - настоятельно рекомендуется обновить, очень небольшой риск
- 1.1.x: выпуск для разработки. это будет включать в себя новые функции, которые еще не полностью завершены и находятся в стадии разработки. Некоторые вещи могут отличаться от 1.0
- 1.2.x: второй выпуск GA. это будет кульминацией релиза 1.1.x.
Я не думаю, что есть «стандарт» как таковой.
Существует соглашение для Release Candidates, которое обычно называется «[version] RC 1» и т. Д., В зависимости от того, сколько версий вы можете выпустить.
Если вы выпускаете очень раннюю версию вашего продукта - ту, которая еще не завершена, - возможно, вы захотите использовать версию «0». Таким образом, вы можете увеличивать версию с течением времени по мере заполнения вашего набора функций.
Я бы использовал «Альфа» и «Бета», как Release Candidate - для ограниченных по времени версий, чтобы показать, что вы думаете, что близки к выпуску полной версии.
источник
Есть страница Википедии о версии программного обеспечения . Для совместного использования версий до 1.0 хорошо работает соглашение, используемое Apple и другими: major.minor.maintSrev, где S - индикатор стадии для предварительных версий: d = разработка, a = альфа, b = бета, rc = кандидат на выпуск. Таким образом, ваша первая внутренняя версия может быть 1.0.0d1.
Для полностью внутренних ревизий достаточно метки времени.
источник
Каждый разработчик по большей части решает, какой стандарт он собирается использовать. В целом, хотя цифры слева от десятичной точки указывают на большие изменения, которые, вероятно, будут очень заметны для среднего пользователя (т.е. изменения функциональности или интерфейса и т. Д.). В правой части десятичной точки это было бы изменение / модификация / дополнение, которое не сильно изменило бы общую функциональность и дизайн, но действительно изменило что-то в самой программе (то есть, сделало функцию быстрее, все еще делая то же самое или исправленное). проблема безопасности). Затем, если вы добавите дополнительные десятичные точки, цифры справа от них будут указывать на все меньшие и меньшие изменения (т. Е. Мелкие исправления ошибок / проблемы безопасности и тому подобное).
источник
Как уже говорили другие, не существует точного стандарта. Наша организация использует следующие обозначения:
Выпуск 1.0 ---> 2.0 (В продукт добавлена новая улучшенная функция)
Выпуск 1.0 ---> 1.1 (в продукт добавлена новая / улучшенная функция среднего уровня)
Выпуск 1.0 ---> 1.001 (исправления)
источник
Этап «версия 1.0» очень важен для опытных пользователей компьютеров, поскольку подразумевает, что программа выполнена и работает, как и ожидалось. Что-нибудь в версии "0.something" подразумевает, что сами программисты думают, что программа не выполнена .
Вы можете сохранить номера версий «0.1», «0.2» ... для основных достижений функциональности, а затем установить для них номер сборки, который часто является достаточно точной датой и отметкой времени.
источник