To naprawdę zależy od projektu; niektóre projekty nawet nie wydają wersji 1.0.
Twórcy MAME nie zamierzają wypuszczać wersji 1.0 swojego programu emulującego. Argument polega na tym, że nigdy nie będzie tak naprawdę „ukończony”, ponieważ zawsze będzie więcej gier zręcznościowych. Po wersji 0.99 następowała po prostu wersja 0.100 (mniejsza wersja 100> 99). W podobny sposób po Xfire 1.99 nastąpił 1.100. Po 6 latach rozwoju eMule nie osiągnął jeszcze wersji 0.50. Wersjonowanie oprogramowania z Wikipedii
Jedną z popularnych metod numerowania wersji (z których zacząłem korzystać) jest wersja semantyczna .
W ramach tego schematu numery wersji i sposób ich zmiany przekazują znaczenie dotyczące kodu źródłowego i tego, co zostało zmodyfikowane z jednej wersji do następnej.
Kilka cytatów, aby dać ci więcej pomysłów na to, jak to działa i / lub odpowiedzieć na niektóre pytania:
Skąd mam wiedzieć, kiedy wydać 1.0.0?
Jeśli twoje oprogramowanie jest używane w środowisku produkcyjnym, prawdopodobnie powinno to być już 1.0.0. Jeśli masz stabilny interfejs API, od którego zaczęli polegać użytkownicy, powinieneś mieć wersję 1.0.0. Jeśli bardzo martwisz się kompatybilnością wsteczną, prawdopodobnie powinieneś już mieć wersję 1.0.0.
Czy nie zniechęca to do szybkiego rozwoju i szybkiej iteracji?
W głównej wersji zero chodzi o szybki rozwój. Jeśli zmieniasz interfejs API codziennie, powinieneś być nadal w wersji 0.xx lub w oddzielnym oddziale programistycznym pracującym nad kolejną wersją główną.
Jeśli nawet najmniejsze wstecznie niezgodne zmiany w publicznym interfejsie API wymagają poważnego wypaczenia wersji, czy nie skończę w wersji 42.0.0 bardzo szybko?
Jest to kwestia odpowiedzialnego rozwoju i prognozowania. Niekompatybilne zmiany nie powinny być lekko wprowadzane do oprogramowania, które ma dużo zależnego kodu. Koszt, który musi zostać poniesiony na uaktualnienie, może być znaczny. Konieczność zderzenia głównych wersji w celu wydania niezgodnych zmian oznacza, że przemyślisz wpływ swoich zmian i ocenisz związany z nimi stosunek kosztów do korzyści.
Istnieją również zasady określania wersji „alfa”, „beta” itp. Sprawdź szczegóły na http://semver.org/ .
[Edytuj] Kolejnym interesującym schematem numeracji wersji jest ten, którego używa MongoDB :
MongoDB używa wersji nieparzystych w wydaniach programistycznych.
Istnieją 3 numery w wersji MongoDB: ABC
- A jest główną wersją. To rzadko się zmienia i oznacza bardzo duże zmiany
- B jest numerem wydania. Obejmuje to wiele zmian, w tym funkcje i rzeczy, które mogą zepsuć zgodność wsteczną. Nawet Bs będą stabilnymi gałęziami, a nieparzyste Bs będą rozwojem.
- C jest numerem wersji i będzie używany w przypadku błędów i problemów związanych z bezpieczeństwem.
Na przykład:
- 1.0.0: pierwsze wydanie GA
- 1.0.x: poprawki błędów do 1.0.x - wysoce zalecane do aktualizacji, bardzo małe ryzyko
- 1.1.x: wersja rozwojowa. obejmie to nowe funkcje, które nie są w pełni ukończone i są w trakcie realizacji. Niektóre rzeczy mogą być inne niż 1.0
- 1.2.x: drugie wydanie GA. będzie to kulminacja wydania 1.1.x.