Przedwczoraj szef do mnie dzwonił z pytaniem jak załatwić sprawę
uprawnień różnych programistów w naszej firmie do kodu źródłowego, żeby
każdy widział swoją część, nie miał dostępu do pozostałych, a wszystko
działało razem. Wytłumaczyłem, że jeśli ten kod jest w PHP i ma działać
razem na serwerze, to w 100% nie da się zabezpieczyć przed tym, aby ktoś
sobie cudze źródła np. wyświetlił na stronie WWW. Zaproponowałem
natomiast użycie jakiegoś systemu kontroli wersji, który zapewnił by
kontrolę dostępu podczas tworzenia kodu i dokumentował ew. próby
nadużyć w kodzie służących dostępowi do „zakazanych” części. Miałem tę
sprawę obadać.
Najpierw przyjrzałem się dostępnym narzędziom. Wstępnie ograniczyłem
się do CVS, arch i Subversion. CVS odpadł, bo przestarzały i ma różne
głupie ograniczenia. Arch, bo nie chodzi pod Windows, a nasi programiści
(nie wiedzieć czemu ;-)) używają Windows. Subversion
z dostępem przez WebDAV wydał się najodpowiedniejszy. Problemem było
wymaganie apache-2.0, ale zainstalowałem sobie wszystko co trzeba
w chroot i ładnie chodzi.
Sam przerzuciłem do Subversion z CVS swoje projekty, przez
głupotę/niedopatrzenie tracąc jeden z ostatnich – rozpoczęty server DHCP
korzystający z bazy SQL – dzisiaj musiałem to pisać od nowa. Ale
Subversion mi się podoba, dużo bardziej niż CVS. A podstawową obsługa
praktycznie się nie różni.
Dzisiaj szef mnie wezwał do siebie w sprawie tych praw dostępu. Był
tam już szef działu oprogramowania, dość pozytywnie (a przynajmniej
neutralnie) nastawiony do mojej propozycji. Okazało się, że „nie ma sensu
takiej kobyły do tego zaprzęgać” i wszystko zostanie załatwione prawami
dostępu do plików na serwerze i skryptami – całe szczęście że nie ja
będę tego pilnował. I w sumie przekonywanie kogokolwiek więcej do tego
subversion mi odpada. Tylko szkoda że wczoraj tyle się z tym męczyłem,
gdy miałem lepsze rzeczy do roboty.
Podczas tej dyskusji szef twierdził, że ten kod źródłowy powinien
być najbardziej chroniony ze wszystkiego w naszej firmie. Chciał kupić
jakiś moduł do szyfrowania kodu PHP (żeby nikt od nas nie podejrzał,
a jakby co to można by go sprzedawać), wspominał nawet o odłączaniu
stacji dysków i Internetu programistom. Powtarzał, że tu nie ma miejsca
na żadne zaufanie itd. Chyba nawet Microsoft tak nie boi się o swoje
kody źródłowe, bo w końcu udostępnia je na zewnątrz (oczywiście tylko
wybranym i na diabelskich zasadach) Gdy użył stwierdzenia „myśl
techniczna”, to we mnie się gotowało. Sam mam zupełnie inne spojrzenie
na to jak powinno być tworzone i udostępniane oprogramowanie,
szczególnie dla instytucji publicznych (a o takim była mowa).
Zastanawiałem się co ja właściwie robię w tej firmie. Nie próbowałem
wyjaśniać moich poglądów, bo wyszedł bym tylko na fanatyka, a z powodu
mojego słabego rozeznania z biznesem i prawem może także na głupka. Na
szczęście nie jestem programistą, ale administratorem i mogę uznać, że
sprawa mnie nie dotyczy. Ale fajnie by było pracować gdzieś gdzie Wolne
Oprogramowanie i Open Source to rzecz naturalna nie tylko w sensie brania ale
także dawania.