Praca nad projektem OpenSource

Adam Boduch

Każda osoba ucząca się programować lub będąca na wyższym szczeblu umiejętności, chce tworzyć coś dużego, coś wspólnego, coś czego używałoby wielu ludzi. Jest to naturalny odruch. Nim jednak podejmiesz decyzję o tworzeniu wspólnych projektów, należy przemyśleć pare rzeczy - przede wszystkim - organizacja pracy! Jest to rzecz najważniejsza.

Nie lekceważ tej sprawy! Ogłoszenie, że robimy jakiś program i już nie przyniesie ządanego efektu, nawet jeżeli zgłoszą się chętni - potrzebna jest bowiem pewna organizacja pracy. Tak więc ważny jest: język programowania, środowisko (Linux, Windows, platforma niezależna) oraz pomysł na program. Nie ma sensu tworzyć kolejnego edytora tekstu, gdyż szansa, że ktoś będzie go używał wynosi mniej niż 1%. No, może przesadziłem, bo określenie "ktoś" jest subiektywną opinią. Powiedzmy jednak, że Twój projekt nie będzie tak popularny, jak byś chciał, aby był. Wszystko z tego względu, że istnieją setki edytorów tekstu, na wszystkie platformy.

Kolejna sprawa to organizacja pracy: jeżeli jest to projekt OpenSource, to pliki nie mogą być raczej przechowywane na dysku Twojego komputera. Jest to podejście niewłaściwe. Jeżeli posiadasz własny serwer to jesteś w konfortowej sytuacji. Najlepiej gdyby to Twój komputer był serwerem (nie musi być wielkiej mocy obliczeniowej, a jeżeli chodzi o łącze, to z powodzeniem sprawdzi się tutaj SDI). W takim wypadku możesz zainstalować na swoim komputerze, oprogramowanie, na które nie możesz liczyć w przypadku innych serwerów WWW (zarówno darmowych jak i płatnych). Chodzi mi tutaj o CVS, czyli Concurent Version System (artykuł o tym w dziale "Z pogranicza"). Jest to naprawdę wygodny system zarządzania plikami projektu. Takie pliki są udostępnione na serwerze, a dostęp do nich mają ludzie, biorący udział w projekcie. Każda osoba biorąca udział w projekcie może pobrać pliki z serwera na swój komputer i dokonywać w nich, zmian. Po wprowadzeniu poprawek użytkownik projektu może ponownie wysłać plik na serwer. Każda osoba biorąca udział w projekcie może sprawdzić, kto, kiedy i jakie poprawki wprowadził do danego pliku. Każdy plik posiada swój odrębny numer wersji.

CVS jest programem, który może zainstalować jedynie administrator serwera. Możesz go ściągnąć ze strony http://www.cvshome.org

Oprócz zwykłego CVS'a, w którym będą znajdować się pliki, potrzebna jest jakaś platforma wymiany informacji - np. forum dyskusyjne. Takie forum można zainstalować na własnym serwerze, pod warunkiem, że ma się dostęp do bazy MySQL i PHP (aczkolwiek są fora które nie wymagają dostępu do bazy danych). Popularne i dobre forum dyskusyjne znajduje się pod adresem: http://www.phpbb.com

Inne przydatne narzędzie to system zgłaszania błedów - np. BugZilla (http://www.bugzilla.org/). System jest napisany w Perlu, więc wymaga również, aby na serwerze był zainstalowany interpreter Perla.

Jeżeli nie masz dostępu do tych wszystkich wymienionych rzeczy, możesz zdecydować się na umieszczenie swojego projektu na stronie http://sourceforge.net, która oferuje usługi hostingowe dla projektów OpenSource (podkreślam: OpenSource, tak więc w myśl tej zasady, dostęp do kodów źródłowych mają mieć wszyscy). Po rejestracji swojego projektu będziesz miał dostęp do CVS'a, forum, systemu zgłaszania błędów oraz nowych funkcji. Minusem jest jednak to, że dosyć ciężko się dostać na SourceForge.net - musisz dobrze uargumentować, że Twój projekt jest wart tego, aby poświęcić mu trochę miejsca na serwerze.

Kolejną, ważną sprawą są komentarze, w kodach źródłowych: pracując w grupie, ciężko czasami zrozumieć, co powoduje dany fragment kodu, stąd warto go komentować.

Pisząc np. w Delphi, korzystaj z narzędzi, które oferuje to środowisko. Jest to funkcja To-Do List (View | To-Do List), czyli małe okienko, które analizuje kod źródłowy i wyświetla słowa-klucze. Innymi słowy, mając w kodzie źródłowym taki komentarz:

{TODO-Janek: Musisz tutaj poprawić kodowanie!}

Program "wygrzebie" go i wyświetli w okienku. W wielu projektach OpenSource jest stosowane coś w rodzaju TODO List (dosłowne tłumaczenie: lista do zrobienia), które określa listę rzeczy, które powinno się poprawić. Dobrze się składa, że Delphi oferuje taki mechanizm, który umieszcza odpowiednie słowa w kodzie źródłowym. Powyższy komentarz oznacza, że przypisujemy deweloperowi (zaporzyczone słowo oznacza "budowniczego" projektu) Jankowi pewne rzeczy do zrobienia. W Delphi, okienko To-Do List wyświetla takie fragmenty. Umożliwia ono również nadawanie priorytetów oraz znaczników uznających daną rzecz za zrobioną (DONE). W takim wypadku, w komentarzu zamiast słowa TODO znajdzie się DONE. Uwaga! Funkcja To-Do w Delphi, obecna jest od wersji 7.

Po zastosowaniu się do powyższych wskazówek, masz szansę, aby Twój projekt wypalił, a przynajmniej miał szansę, aby praca stała się przyjemnijsza.

3 komentarzy

hej ;) przez długi czas szukam pracy poprzez internet... trafiłem na serwis, który dopiero zaczął działać www.praca-dla-nastolatka.pl . jest już trochę ofert pracy - mam już tam zaklepaną pracę - na razie robotę tylko mam w soboty, ale pewnie coś będzie jeszcze wieczorami w tygodniu - ja jestem zadowolony

bo w presonal nie ma ale widzialem gdzieś (nie pamiętam już gdzie) darmowe programy, które idealnie zastępowały TODO z Delphi a nawet momentami były lepsze wiec może warto poszukać :)

Ja miałem TODO w Delphi 6. Ale nie w Personal niestety (właściwie w D5 Enterprise tez miałem...)