Це дійсно залежить від проекту; деякі проекти навіть не випускають версію 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/ .
[Редагувати] Ще одна цікава схема нумерації версій - та, яку використовує MongoDB :
MongoDB використовує версії з непарними номерами для версій розробки.
У версії MongoDB є 3 номери: ABC
- A - основна версія. Це рідко змінюватиметься і означатиме дуже великі зміни
- B - номер випуску. Це стосуватиметься багатьох змін, включаючи функції та речі, які можуть порушити сумісність. Навіть Bs будуть стабільними гілками, а непарні Bs - розвитком.
- C - номер редакції, який буде використовуватися для помилок та проблем безпеки.
Наприклад:
- 1.0.0: перший GA-реліз
- 1.0.x: виправлення помилок до 1.0.x - дуже рекомендується оновити, дуже мало ризику
- 1.1.x: випуск розробки. це буде включати нові функції, які не повністю закінчені та працюють незавершеними. Деякі речі можуть відрізнятися від 1,0
- 1.2.x: другий випуск GA. це стане вершиною випуску 1.1.x.