Spolecznosc Projekty


Projekty
SPOAECZNOŚĆ
Przegląd najciekawszych projektów Open Source
Projekty pod lupą
Obecnie mamy do dyspozycji tak
wiele wolnego oprogramowania 
narzędzi, aplikacji, różnych projek-
tów  że chwilami trudno ocenić,
które narzędzie najlepiej odpowia-
da naszym potrzebom. My wybiera-
my dla Was to, co jest najważniej-
sze i najciekawsze.
ARTUR SKURA
Subversion ków, wersjonowania katalogów itp. Subver- współpracujące z systemami kontroli wersji
Rozwijany od 2000 roku system kontroli sion, jak na następcę CVS przystało, jest tego wymagają  mówi Arkadiusz Miśkie-
wersji, Subversion[1], ukazał się w długo pozbawiony tych wad, umożliwiając m.in. wicz z PLD.  Jedną z podstawowych zalet
oczekiwanej wersji 1.0. Celem projektu jest wersjonowanie metadanych. Subversion jest to, że znając CVS zna się
zastąpienie wysłużonego, choć najpopular- Subversion nie jest narzędziem, którego i Subversion, ponieważ z punktu widzenia
niejszego dotąd w świecie Wolnego Opro- zwykły użytkownik będzie używał na co użytkownika różnic w używaniu poleceń (cvs
gramowania systemu kontroli wersji, CVS dzień. Mimo że ogromna większość otwartych i svn) jest niewiele. Wystarczy przeczytać
(Concurrent Version System). Zaletą CVS, projektów korzysta z jakiegoś systemu kontro- fragment podręcznika dotyczący różnic mię-
oprócz sporej popularności, jest względna li wersji, dla użytkowników przygotowane są dzy cvs, a svn.
prostota protokołu oraz łatwość instalacji zazwyczaj wersje zródłowe i binarne, tworzo- Jednak najistotniejsza i najwspanialsza
i użytkowania. Po pewnym czasie pracy ne na podstawie plików zgromadzonych w re- rzecz to wersjonowanie całymi seriami zmian
z CVS wychodzą jednak na jaw wady syste- pozytorium danego systemu. Trudno jednak  tzn. nie każdy plik jest wersjonowany osob-
mu, takie jak ignorowanie zmian nazw pli- przecenić znaczenie tego faktu dla dewelope- no, tylko całe drzewo. Dzięki temu można
rów korzystających użyć podpolecenia diff dla danej wersji i zo-
do tej pory z CVS. baczyć całą serię zmian, zazwyczaj dotyczącą
W Polsce jednym jednego problemu. W przypadku CVS trzeba
z pierwszych pol- było obchodzić problem, szukając różnic we-
skich projektów, któ- dług daty zamiast według wersji. Niezwykle
ry zaczął korzystać użyteczne jest też wersjonowanie katalogów
z Subversion jest  można je usuwać, przenosić itp. Reszta
PLD (PLD Linux funkcjonalności według mnie nie różni się
Distribution[2]). Czy zbytnio od tej występującej w CVS .
wiąże się to z jakimiś
ograniczeniami? Free Pascal
 CVS ma jedną rzecz Free Pascal[3] jest kolejnym interesującym
,której jeszcze nie ma projektem, który jednak nie wydaje się być
subversion  bloko- wystarczająco doceniony. Jest to bowiem bo-
wanie zasobów. Za- daj najlepsze wieloplatformowe środowisko
zwyczaj nie jest to programistyczne służące do tworzenia opro-
Rysunek 1:Prosty edytor tekstu, jeden z przykładów dołączanych do potrzebne, jednak gramowania w języku Pascal.
Free Pascala, pokazujących jak używać modułu oCrt. niektóre narzędzia Dzisiejszy Pascal znacznie różni się od te-
102 Kwiecień 2004 www.linux-magazine.pl
Projekty SPOAECZNOŚĆ
go, który skrytykowano w słynnym doku- łania systemowe odpowiedzialne np. za zapis Linux Virtul Server Project
mencie  Dlaczego Pascal nie jest moim ulu- i odczyt z dysku, zmianę czasu, nawiązywa- Linux Virtual Server Project[6], znany rów-
bionym językiem programowania . Jest to nie połączeń itd. Najczęściej modyfikowanie nież jako konteksty bezpieczeństwa dla sys-
szczególnie prawdziwe w odniesieniu do im- któregokolwiek z nich nie jest potrzebne, temu Linux, jest jednym z najbardziej inte-
plementacji Free Pascal, która umożliwia może tylko sprowadzić problemy. Zdarzają resujących projektów linuksowych, które po-
m.in. zwracanie tablic jako rezultatów funk- się jednak sytuacje, kiedy jest to najszybszy, jawiły się w ciągu ostatnich kilku lat.
cji, co przydałoby się np. Delphi i Kyliksowi. a czasem jedyny sposób rozwiązania proble- Większość użytkowników Linuksa zna
Jest to niezwykle potężny język, atrakcyjny mu. I wtedy właśnie z pomocą przychodzi oprogramowanie, takie jak VMware, Bochs
również ze względów bezpieczeństwa: znacz- Subterfugue, które pozwala niemal dowolnie czy Plex, umożliwiające uruchamianie kopii
nie trudniej w nim popełnić błąd, który modyfikować wywołania systemowe. niektórych systemów operacyjnych m.in.
mógłby wywołać przepełnienie bufora, niż Co można dzięki temu osiągnąć? Dla w Linuksie. Z kolei User Mode Linux umoż-
w tradycyjnie stosowanym języku C. większości użytkowników przykłady zasto- liwia uruchamianie różnych jąder Linuksa
Rozwijany od jedenastu lat projekt osią- sowań Subterfugue mogą się wydać zupeł- w przestrzeni użytkownika. Projekty te są
gnął stadium dojrzałości. Kompilator sam nie nieprzydatne, jest to jednak raj dla niezwykle użyteczne i popularne, jednak ich
jest napisany w Pascalu, można więc go użyć tych, którzy chcą eksperymentować z wła- największym problemem jest wydajność 
do kompilacji Free Pascala. Wśród obsługi- snym systemem, bądz też osiągnąć nietypo- z oczywistych względów systemy uruchamia-
wanych platform znajduje się ne na innym systemie działają
DOS, Windows (od Win32s po wolniej niż uruchomione na sa-
XP), Linux, OS/2, Solaris, Be- mym sprzęcie.
OS, QNX i systemy *BSD. Jest Twórcy projektu serwerów
w dużej mierze zgodny z Turbo wirtualnych dla Linuksa poszli
Pascalem 7.0 zarówno na pozio- inną drogą: zamiast tworzyć
mie języka, jak i dołączonych bi- środowisko emulacyjne, w któ-
bliotek. A skoro o bibliotekach rym byłaby uruchamiana kolej-
mowa  Free Pascal ma się czym na kopia systemu, zdecydowali
pochwalić. Z witryny projektu się zmodyfikować część wywo-
możemy pobrać moduły umożli- łań systemowych tak, by całe
wiające współpracę z większo- środowisko zachowywało się
ścią popularnych bibliotek  do dokładnie tak, jakby składało
kompresji (zlib, gzip), tworzenia się z wielu serwerów. Tak więc,
graficznych interfejsów użyt- mimo że każdy z serwerów wir-
kownika (GTK+, Forms, GGI), tualnych uruchamianych w sys-
pracy w trybie tekstowym (ncur- temie zachowuje się jak serwer
ses, oCrt), przetwarzania wyra- Rysunek 2: Irrlicht potrafi importować mapy Quake 3. fizyczny, w praktyce nie ponosi
żeń regularnych, tworzenia apli- się prawie żadnych dodatko-
kacji sieciowych i wiele, wiele innych. we rezultaty. Możemy na przykład wprowa- wych kosztów związanych z wydajnością.
Od wielu lat Pascal ma swoje ustalone dzić dodatkowe opóznienie do każdego wy- Jest to doskonałe rozwiązanie dla tych,
miejsce w dydaktyce. Rola Free Pascala jest wołania, czego rezultatem będzie widoczne którzy potrzebują kilku działających serwe-
tu szczególnie istotna, jako że darmowy cha- spowolnienie pracy systemu. Możemy do- rów spełniających różne funkcje, oszczę-
rakter projektu umożliwia uczniom i nauczy- wolnie manipulować danymi przekazywa- dzamy bowiem nie tylko na wydajności 
cielom swobodne tworzenie aplikacji, bez nymi i zwracanymi przez wywołania. Może- dzięki dowiązaniom do plików możliwe jest
uiszczania opłat licencyjnych. Być może po- my dokładnie śledzić działanie programu, współdzielenie części dysków należących
winni się nim zainteresować również zawo- podobnie jak robi to strace, podejmując do serwerów wirtualnych opartych na tej
dowi programiści, jako że wydajność kodu określone działanie, kiedy zostaną spełnio- samej dystrybucji. Dołączone narzędzia
generowanego przez kompilator w niczym ne dane warunki. Możemy blokować różne umożliwiają również automatyczną aktu-
nie ustępuje GCC, w wielu wypadkach pro- wywołania systemowe, np. te związane z ob- alizację pakietów na wszystkich serwerach
gramy pisze się szybciej, mniej jest też moż- sługą sieci. Reasumując: możemy niemal znajdujących się na danym komputerze, co
liwości popełnienia potencjalnych błędów, całkowicie zmienić zachowanie całego sys- znacznie ułatwia pracę administratora.
które mogłyby być fatalne w skutkach. temu bez ingerencji w samo jądro -- ograni- Linux Virtual Server Project składa się
cza nas jedynie wyobraznia. z dwóch elementów: łaty nakładanej na ją-
Subterfugue Subterfugue jak dotąd działa jedynie na dro Linuksa oraz zestawu narzędzi wspoma-
Subterfugue[4] jest narzędziem nietypowym Linuksie. Podobnie jak Fenris[5], narzędzie gających tworzenie i administrację serwera-
 nie można go określić jednym słowem, czy do analizy programów binarnych, pozostaje mi wirtualnymi. Utworzenie nowego serwe-
nawet przypisać do określonej kategorii apli- znane jedynie wąskiej grupie osób zaintere- ra jest niezwykle proste  wystarczy podać
kacji. Program pozwala bowiem modyfiko- sowanych głębszym poznaniem funkcjono- jego nazwę i numer IP, a program sam po-
wać wywołania systemowe dla uruchamia- wania systemu operacyjnego. Warto je więc bierze niezbędne pakiety (z systemu macie-
nych procesów. Co to oznacza? polecić tym, którzy chcą dowiedzieć się wię- rzystego czy z sieci) i skonfiguruje nowy ser-
W jądrze Linuksa zdefiniowane są wywo- cej o tym, jak działa Linux. wer. Administratorowi takiego serwera
www.linux-magazine.pl Kwiecień 2004 103
Projekty
SPOAECZNOŚĆ
można ograniczać prawa za Irrlicht korzysta zarów-
pomocą możliwości (capa- no z OpenGL, jak i z Di-
bilities) wbudowanych w ją- rect3D. Obsługuje anima-
dro Linuksa. Dzięki temu cję postaci, którymi można
administrator serwera wir- nie tylko dowolnie poru-
tualnego z efektywnym szać, ale i manipulować po-
identyfikatorem użytkowni- wierzchnią nałożonych na
ka równym 0 nie może wy- nie tekstur. Prawdziwie
konywać pewnych czynno- imponująco wygląda ze-
ści administracyjnych, któ- staw dostępnych efektów
re może przeprowadzić ad- specjalnych, obejmujących
ministrator serwera fizycz- m.in. mapowanie środowi-
nego. W praktyce oznacza skowe, mapy świetlne
to, że dostawcy usług inter- i efekty cząsteczek.
netowych mogą oferować Czym jednak byłaby sa-
swoim klientom kompletne ma biblioteka do tworze-
środowisko serwerowe, łącz- nia gier, w której nie dało-
nie z prawami administra- by się wykorzystać rezul-
tora niezbędnymi do insta- tatów pracy w innych apli-
lacji i konfiguracji wszyst- Rysunek 3: Efekty specjalne, które można uzyskać dzięki Irrlicht, robią duże kacjach? Przy dzisiejszym
kich aplikacji, nie ryzyku- wrażenie. stanie zaawansowania
jąc jednocześnie naruszenia technologii tworzenia gier
bezpieczeństwa innych serwerów wirtual- Czy warto używać Firebirda, skoro ma- trudno sobie wyobrazić napisanie gry zupeł-
nych znajdujących się na danym kompute- my do dyspozycji inne dobre systemy bazo- nie od zera. Irrlicht obsługuje więc import
rze, które dzięki modyfikacji wywołań sys- danowe Open Source, takie jak PostreSQL, popularnych formatów, takich jak pliki
temowych zostały całkowicie oddzielone SapDB czy MySQL? Jest to z pewnością obiektowe Maji, 3D Studio, Milkshape, pli-
(na poziomie systemu plików, komunikacji bardzo dobre rozwiązanie dla obecnych ki poziomów Quake 3 i obiektów Quake 2,
międzyprocesowej i sieci). klientów Borlanda, którzy korzystają z pro- jak również obiektów DirectX. Możemy
Jak to możliwe, by tak interesujący pro- duktów tej firmy. Jednym z głównych celów więc stworzyć obiekt 3D pod Linuksem, np.
jekt umykał do tej pory uwadze zarówno Firebirda jest zapewnienie wstecznej zgod- w darmowej wersji True Space działającej
prasy branżowej, jak i wielu użytkowni- ności z InterBase tak, by przynajmniej pod Wine, następnie zapisać jako obiekt Di-
ków, potencjalnie zainteresowanych tego w najbliższej przyszłości można było wy- rectX i wykorzystać w grze. Rzecz jasna im-
typu rozwiązaniem? Podobny mechanizm, mieniać instalacje oparte na InterBase na port nie ogranicza się tylko do obiektów
który zostanie udostępniony w najnowszej, serwery Firebird. Warto więc pamiętać trójwymiarowych, znacznie dłuższa jest lista
dziesiątej wersji sytemu operacyjnego Sola- o tym produkcie przy planowaniu rozwią- formatów tekstur obsługiwanych przez bi-
ris (tzw. strefy), i jest reklamowany jako zań, w których ważnym elementem są sys- bliotekę.
niezwykła innowacja, w Linuksie istnieje temy bazodanowe Borlanda. Na główniej witrynie projektu dostępne
od dwóch lat! Jest mało znany, ponieważ jest demo, dzięki któremu można się zapo-
nie stanowi oficjalnej części jądra  i jest to Irrlicht znać z niezwykłymi możliwościami tej bi-
jedyny powód. Zapewne w przyszłości, kie- Niewiele projektów wygląda tak obiecują- blioteki, obecnie w wersji 0.6. Nie pozostaje
dy uczestnikom projektu uda się wywal- co i nęci tak interesującym plikiem demon- nic innego, jak tylko zachęcić do zapoznania
czyć włączenie go do głównej gałęzi, sytu- stracyjnym jak Irrlicht[8]. Jest to biblioteka się z tym obiecującym projektem, mającym
acja ulegnie zmianie. służąca do tworzenia gier trójwymiarowych. szanse stać się de facto standardem przy two-
Takich bibliotek powstało mnóstwo, jednak rzeniu przenośnych gier.
Firebird poziom, który udało się osiągnąć Irrlicht,
W 2000 roku Borland udostępnił na licen- jest naprawdę imponujący.
INFO
cji Open Source silnik bazodanowy znany Jedną z podstawowych zalet Irrlicht jest
[1] Subversion: http://subversion.tigris.org
jako InterBase 6.0. Ponieważ polityka jej przenośność. Oznacza to, że możemy pi-
[2] PLD Linux Distribution:
Borlanda byłą pełna wewnętrznej sprzecz- sać grę dla Windows całkowicie na Linuksie
http://pld-linux.org
ności w stosunku do Open Source i firmie  Windows będziemy potrzebowali jedynie
[3] Free Pascal: http://www.freepascal.org
nigdy nie udało się zdefiniować jasnej, do kompilacji (którą, nawiasem mówić, moż-
[4] Subterfugue: http://www.sourceforge.net/
konsekwentnej polityki w stosunku do te- na przeprowadzić przy pomocy darmowego
projects/subterfugue/
go zjawiska, stosunkowo szybko na pod- mingw32). Irrlicht to bowiem nie tylko sil-
[5] Fenris: http://lcamtuf.coredump.cx/
stawie udostępnionego kodu utworzono nik 3D, ale i zestaw mechanizmów pozwala-
nowy projekt, znany obecnie jako Fire- jących tworzyć własne interfejsy użytkowni- [6] Vserver: http://www.linux-vserver.org/
bird[7]. Wersja 1.5, która ukazała się pod ka i obsługiwać inną funkcjonalność obecną
[7] Firebird: http://www.firebirdsql.org/
koniec lutego, to przepisanie kolejnej por- w grach. To jednak dopiero początek możli-
[8] Irrlicht: http://irrlicht.sourceforge.net/
cji kodu i usunięcie wielu błędów. wości biblioteki.
104 Kwiecień 2004 www.linux-magazine.pl


Wyszukiwarka

Podobne podstrony:
Serwisy spolecznosciowe Projektowanie serspp
CZARNY Nauki społeczne w projekcie badań dalekiej północy
Projekt Strategii Polityki Spolecznej na lata 14 2020
projekt koncowy psych spolecznosci
Projekt ustawy o przedsiębiorstwie społecznym
projektowanie badan spoleczno ekonomicznych cz 1,2
Łotys Planowanie projektów na rzecz lokalnej społeczności
Projekt pracy aparat ortodontyczny ruchomy

więcej podobnych podstron