Systemy Kontroli Wersji - gdzie przebiega granica?
Systemy kontroli wersji (ang. Version Control System, VCS, nie mylić z Voice Control System :) ) to bardzo przydatne narzędzia dla twórców oprogramowania. Na forum Warsztatu zdarzyło mi się przeczytać wypowiedź, że (luźno cytując z pamięci) 'kto raz zacznie korzystać z VCS, ten już nie przestanie'. Zgadzam się z tym, choć sam tylko sporadycznie korzystam z Subversion. Niemniej ostatnio trafiłem na newsa na stronie NA$A, który zmusił mnie do zadania sobie pytania postawionego w tytule tego wpisu.
Kod, który NA$A opublikowało, zawarty jest w repozytorium CVS, co skutecznie utrudnia komuś, tak jak ja wychowanemu na Windowsie, ściągnięcie tych plików. Przypomniało mi to wszystkie irytujące sytuacje z życia, w których musiałem zrezygnować z przetestowania jakiegoś interesująco wyglądającego projektu programistycznego (głównie gamedev'owego) ponieważ był on dostępny jedynie przez VCS. Jestem w stanie zrozumieć, że zapaleni użytkownicy Linux'a mają CVS w małym palcu i dla nich korzystanie z repozytoriów jest chlebem powszednim. Ale wielu programistów gier jest wychowanych na Windowsie i wydaje mi się, że łatwo jest zniechęcić ich do ściągnięcia projektu publikując go jedynie jako repozytorium. Dlatego osobiście uważam, że o ile VCS są bardzo pomocne w zarządzaniu projektem w czasie prac, o tyle wersje udostępniane zewnętrznej publiczności - większe release'y, wersje beta, wersje finalne - powinny być po ludzku spakowane do jednego pliku i wrzucone na serwer. Nie jest to raczej trudne zadanie dla twórców danego projektu a znacząco poprawi komfort osób, które chcą udostępnione pliki ściągnąć.
A może ktoś ma inną opinię? Zapraszam do dyskusji!
PS. Zakończyłem wspominany kiedyś "rozrachunek z przeszłością", dział Projekty ma już trochę artykułów.