Download: Spolecznosc_Projekty

Transkrypt

Download: Spolecznosc_Projekty
SPOŁECZNOŚĆ
Projekty
Przegląd najciekawszych projektów Open Source
Projekty pod lupą
Obecnie mamy do dyspozycji tak
wiele wolnego oprogramowania –
narzędzi, aplikacji, różnych projektów – że chwilami trudno ocenić,
które narzędzie najlepiej odpowiada naszym potrzebom. My wybieramy dla Was to, co jest najważniejsze i najciekawsze.
ARTUR SKURA
Subversion
ków, wersjonowania katalogów itp. Subversion, jak na następcę CVS przystało, jest
pozbawiony tych wad, umożliwiając m.in.
wersjonowanie metadanych.
Subversion nie jest narzędziem, którego
zwykły użytkownik będzie używał na co
dzień. Mimo że ogromna większość otwartych
projektów korzysta z jakiegoś systemu kontroli wersji, dla użytkowników przygotowane są
zazwyczaj wersje źródłowe i binarne, tworzone na podstawie plików zgromadzonych w repozytorium danego systemu. Trudno jednak
przecenić znaczenie tego faktu dla deweloperów korzystających
do tej pory z CVS.
W Polsce jednym
z pierwszych polskich projektów, który zaczął korzystać
z Subversion jest
PLD (PLD Linux
Distribution[2]). Czy
wiąże się to z jakimiś
ograniczeniami?
„CVS ma jedną rzecz
,której jeszcze nie ma
subversion – blokowanie zasobów. Zazwyczaj nie jest to
potrzebne, jednak
Rysunek 1:Prosty edytor tekstu, jeden z przykładów dołączanych do
niektóre narzędzia
Free Pascala, pokazujących jak używać modułu oCrt.
Rozwijany od 2000 roku system kontroli
wersji, Subversion[1], ukazał się w długo
oczekiwanej wersji 1.0. Celem projektu jest
zastąpienie wysłużonego, choć najpopularniejszego dotąd w świecie Wolnego Oprogramowania systemu kontroli wersji, CVS
(Concurrent Version System). Zaletą CVS,
oprócz sporej popularności, jest względna
prostota protokołu oraz łatwość instalacji
i użytkowania. Po pewnym czasie pracy
z CVS wychodzą jednak na jaw wady systemu, takie jak ignorowanie zmian nazw pli-
102
Kwiecień 2004
www.linux-magazine.pl
współpracujące z systemami kontroli wersji
tego wymagają” – mówi Arkadiusz Miśkiewicz z PLD. „Jedną z podstawowych zalet
Subversion jest to, że znając CVS zna się
i Subversion, ponieważ z punktu widzenia
użytkownika różnic w używaniu poleceń (cvs
i svn) jest niewiele. Wystarczy przeczytać
fragment podręcznika dotyczący różnic między cvs, a svn.
Jednak najistotniejsza i najwspanialsza
rzecz to wersjonowanie całymi seriami zmian
– tzn. nie każdy plik jest wersjonowany osobno, tylko całe drzewo. Dzięki temu można
użyć podpolecenia diff dla danej wersji i zobaczyć całą serię zmian, zazwyczaj dotyczącą
jednego problemu. W przypadku CVS trzeba
było obchodzić problem, szukając różnic według daty zamiast według wersji. Niezwykle
użyteczne jest też wersjonowanie katalogów
– można je usuwać, przenosić itp. Reszta
funkcjonalności według mnie nie różni się
zbytnio od tej występującej w CVS”.
Free Pascal
Free Pascal[3] jest kolejnym interesującym
projektem, który jednak nie wydaje się być
wystarczająco doceniony. Jest to bowiem bodaj najlepsze wieloplatformowe środowisko
programistyczne służące do tworzenia oprogramowania w języku Pascal.
Dzisiejszy Pascal znacznie różni się od te-
Projekty
go, który skrytykowano w słynnym dokułania systemowe odpowiedzialne np. za zapis
mencie „Dlaczego Pascal nie jest moim ului odczyt z dysku, zmianę czasu, nawiązywanie połączeń itd. Najczęściej modyfikowanie
bionym językiem programowania”. Jest to
któregokolwiek z nich nie jest potrzebne,
szczególnie prawdziwe w odniesieniu do immoże tylko sprowadzić problemy. Zdarzają
plementacji Free Pascal, która umożliwia
się jednak sytuacje, kiedy jest to najszybszy,
m.in. zwracanie tablic jako rezultatów funka czasem jedyny sposób rozwiązania problecji, co przydałoby się np. Delphi i Kyliksowi.
mu. I wtedy właśnie z pomocą przychodzi
Jest to niezwykle potężny język, atrakcyjny
Subterfugue, które pozwala niemal dowolnie
również ze względów bezpieczeństwa: znaczmodyfikować wywołania systemowe.
nie trudniej w nim popełnić błąd, który
Co można dzięki temu osiągnąć? Dla
mógłby wywołać przepełnienie bufora, niż
większości użytkowników przykłady zastow tradycyjnie stosowanym języku C.
sowań Subterfugue mogą się wydać zupełRozwijany od jedenastu lat projekt osiąnie nieprzydatne, jest to jednak raj dla
gnął stadium dojrzałości. Kompilator sam
tych, którzy chcą eksperymentować z włajest napisany w Pascalu, można więc go użyć
snym systemem, bądź też osiągnąć nietypodo kompilacji Free Pascala. Wśród obsługiwanych platform znajduje się
DOS, Windows (od Win32s po
XP), Linux, OS/2, Solaris, BeOS, QNX i systemy *BSD. Jest
w dużej mierze zgodny z Turbo
Pascalem 7.0 zarówno na poziomie języka, jak i dołączonych bibliotek. A skoro o bibliotekach
mowa – Free Pascal ma się czym
pochwalić. Z witryny projektu
możemy pobrać moduły umożliwiające współpracę z większością popularnych bibliotek – do
kompresji (zlib, gzip), tworzenia
graficznych interfejsów użytkownika (GTK+, Forms, GGI),
pracy w trybie tekstowym (ncurses, oCrt), przetwarzania wyraRysunek 2: Irrlicht potrafi importować mapy Quake 3.
żeń regularnych, tworzenia aplikacji sieciowych i wiele, wiele innych.
we rezultaty. Możemy na przykład wprowaOd wielu lat Pascal ma swoje ustalone
dzić dodatkowe opóźnienie do każdego wymiejsce w dydaktyce. Rola Free Pascala jest
wołania, czego rezultatem będzie widoczne
tu szczególnie istotna, jako że darmowy chaspowolnienie pracy systemu. Możemy dorakter projektu umożliwia uczniom i nauczywolnie manipulować danymi przekazywacielom swobodne tworzenie aplikacji, bez
nymi i zwracanymi przez wywołania. Możeuiszczania opłat licencyjnych. Być może pomy dokładnie śledzić działanie programu,
winni się nim zainteresować również zawopodobnie jak robi to strace, podejmując
dowi programiści, jako że wydajność kodu
określone działanie, kiedy zostaną spełniogenerowanego przez kompilator w niczym
ne dane warunki. Możemy blokować różne
nie ustępuje GCC, w wielu wypadkach prowywołania systemowe, np. te związane z obgramy pisze się szybciej, mniej jest też możsługą sieci. Reasumując: możemy niemal
liwości popełnienia potencjalnych błędów,
całkowicie zmienić zachowanie całego sysktóre mogłyby być fatalne w skutkach.
temu bez ingerencji w samo jądro -- ogranicza nas jedynie wyobraźnia.
Subterfugue jak dotąd działa jedynie na
Subterfugue
Linuksie. Podobnie jak Fenris[5], narzędzie
Subterfugue[4] jest narzędziem nietypowym
do analizy programów binarnych, pozostaje
– nie można go określić jednym słowem, czy
znane jedynie wąskiej grupie osób zainterenawet przypisać do określonej kategorii aplisowanych głębszym poznaniem funkcjonokacji. Program pozwala bowiem modyfikowania systemu operacyjnego. Warto je więc
wać wywołania systemowe dla uruchamiapolecić tym, którzy chcą dowiedzieć się więnych procesów. Co to oznacza?
cej o tym, jak działa Linux.
W jądrze Linuksa zdefiniowane są wywo-
SPOŁECZNOŚĆ
Linux Virtul Server Project
Linux Virtual Server Project[6], znany również jako konteksty bezpieczeństwa dla systemu Linux, jest jednym z najbardziej interesujących projektów linuksowych, które pojawiły się w ciągu ostatnich kilku lat.
Większość użytkowników Linuksa zna
oprogramowanie, takie jak VMware, Bochs
czy Plex, umożliwiające uruchamianie kopii
niektórych systemów operacyjnych m.in.
w Linuksie. Z kolei User Mode Linux umożliwia uruchamianie różnych jąder Linuksa
w przestrzeni użytkownika. Projekty te są
niezwykle użyteczne i popularne, jednak ich
największym problemem jest wydajność –
z oczywistych względów systemy uruchamiane na innym systemie działają
wolniej niż uruchomione na samym sprzęcie.
Twórcy projektu serwerów
wirtualnych dla Linuksa poszli
inną drogą: zamiast tworzyć
środowisko emulacyjne, w którym byłaby uruchamiana kolejna kopia systemu, zdecydowali
się zmodyfikować część wywołań systemowych tak, by całe
środowisko zachowywało się
dokładnie tak, jakby składało
się z wielu serwerów. Tak więc,
mimo że każdy z serwerów wirtualnych uruchamianych w systemie zachowuje się jak serwer
fizyczny, w praktyce nie ponosi
się prawie żadnych dodatkowych kosztów związanych z wydajnością.
Jest to doskonałe rozwiązanie dla tych,
którzy potrzebują kilku działających serwerów spełniających różne funkcje, oszczędzamy bowiem nie tylko na wydajności –
dzięki dowiązaniom do plików możliwe jest
współdzielenie części dysków należących
do serwerów wirtualnych opartych na tej
samej dystrybucji. Dołączone narzędzia
umożliwiają również automatyczną aktualizację pakietów na wszystkich serwerach
znajdujących się na danym komputerze, co
znacznie ułatwia pracę administratora.
Linux Virtual Server Project składa się
z dwóch elementów: łaty nakładanej na jądro Linuksa oraz zestawu narzędzi wspomagających tworzenie i administrację serwerami wirtualnymi. Utworzenie nowego serwera jest niezwykle proste – wystarczy podać
jego nazwę i numer IP, a program sam pobierze niezbędne pakiety (z systemu macierzystego czy z sieci) i skonfiguruje nowy serwer. Administratorowi takiego serwera
www.linux-magazine.pl
Kwiecień 2004
103
SPOŁECZNOŚĆ
Projekty
Irrlicht korzysta zarówmożna ograniczać prawa za
no z OpenGL, jak i z Dipomocą możliwości (caparect3D. Obsługuje animabilities) wbudowanych w jącję postaci, którymi można
dro Linuksa. Dzięki temu
nie tylko dowolnie poruadministrator serwera wirszać, ale i manipulować potualnego z efektywnym
wierzchnią nałożonych na
identyfikatorem użytkowninie tekstur. Prawdziwie
ka równym 0 nie może wyimponująco wygląda zekonywać pewnych czynnostaw dostępnych efektów
ści administracyjnych, któspecjalnych, obejmujących
re może przeprowadzić adm.in. mapowanie środowiministrator serwera fizyczskowe, mapy świetlne
nego. W praktyce oznacza
i efekty cząsteczek.
to, że dostawcy usług interCzym jednak byłaby sanetowych mogą oferować
ma biblioteka do tworzeswoim klientom kompletne
nia gier, w której nie dałośrodowisko serwerowe, łączby się wykorzystać rezulnie z prawami administratatów pracy w innych aplitora niezbędnymi do instakacjach? Przy dzisiejszym
lacji i konfiguracji wszystRysunek 3: Efekty specjalne, które można uzyskać dzięki Irrlicht, robią duże
stanie
zaawansowania
kich aplikacji, nie ryzykuwrażenie.
technologii tworzenia gier
jąc jednocześnie naruszenia
trudno sobie wyobrazić napisanie gry zupełbezpieczeństwa innych serwerów wirtualCzy warto używać Firebirda, skoro manie od zera. Irrlicht obsługuje więc import
nych znajdujących się na danym komputemy do dyspozycji inne dobre systemy bazopopularnych formatów, takich jak pliki
rze, które dzięki modyfikacji wywołań sysdanowe Open Source, takie jak PostreSQL,
obiektowe Maji, 3D Studio, Milkshape, plitemowych zostały całkowicie oddzielone
SapDB czy MySQL? Jest to z pewnością
ki poziomów Quake 3 i obiektów Quake 2,
(na poziomie systemu plików, komunikacji
bardzo dobre rozwiązanie dla obecnych
jak również obiektów DirectX. Możemy
międzyprocesowej i sieci).
klientów Borlanda, którzy korzystają z prowięc stworzyć obiekt 3D pod Linuksem, np.
Jak to możliwe, by tak interesujący produktów tej firmy. Jednym z głównych celów
w darmowej wersji True Space działającej
jekt umykał do tej pory uwadze zarówno
Firebirda jest zapewnienie wstecznej zgodpod Wine, następnie zapisać jako obiekt Diprasy branżowej, jak i wielu użytkowniności z InterBase tak, by przynajmniej
rectX i wykorzystać w grze. Rzecz jasna imków, potencjalnie zainteresowanych tego
w najbliższej przyszłości można było wyport nie ogranicza się tylko do obiektów
typu rozwiązaniem? Podobny mechanizm,
mieniać instalacje oparte na InterBase na
trójwymiarowych, znacznie dłuższa jest lista
który zostanie udostępniony w najnowszej,
serwery Firebird. Warto więc pamiętać
formatów tekstur obsługiwanych przez bidziesiątej wersji sytemu operacyjnego Solao tym produkcie przy planowaniu rozwiąbliotekę.
ris (tzw. strefy), i jest reklamowany jako
zań, w których ważnym elementem są sysNa główniej witrynie projektu dostępne
niezwykła innowacja, w Linuksie istnieje
temy bazodanowe Borlanda.
jest demo, dzięki któremu można się zapood dwóch lat! Jest mało znany, ponieważ
znać z niezwykłymi możliwościami tej binie stanowi oficjalnej części jądra – i jest to
Irrlicht
blioteki, obecnie w wersji 0.6. Nie pozostaje
jedyny powód. Zapewne w przyszłości, kieNiewiele projektów wygląda tak obiecująnic innego, jak tylko zachęcić do zapoznania
dy uczestnikom projektu uda się wywalco i nęci tak interesującym plikiem demonsię z tym obiecującym projektem, mającym
czyć włączenie go do głównej gałęzi, sytustracyjnym jak Irrlicht[8]. Jest to biblioteka
szanse stać się de facto standardem przy twoacja ulegnie zmianie.
służąca do tworzenia gier trójwymiarowych.
rzeniu przenośnych gier.
Takich bibliotek powstało mnóstwo, jednak
■
poziom, który udało się osiągnąć Irrlicht,
Firebird
jest naprawdę imponujący.
W 2000 roku Borland udostępnił na licenINFO
Jedną z podstawowych zalet Irrlicht jest
cji Open Source silnik bazodanowy znany
[1] Subversion: http://subversion.tigris.org
jej przenośność. Oznacza to, że możemy pijako InterBase 6.0. Ponieważ polityka
[2] PLD Linux Distribution:
sać grę dla Windows całkowicie na Linuksie
Borlanda byłą pełna wewnętrznej sprzeczhttp://pld-linux.org
– Windows będziemy potrzebowali jedynie
ności w stosunku do Open Source i firmie
[3] Free Pascal: http://www.freepascal.org
do kompilacji (którą, nawiasem mówić, możnigdy nie udało się zdefiniować jasnej,
[4] Subterfugue: http://www.sourceforge.net/
na przeprowadzić przy pomocy darmowego
konsekwentnej polityki w stosunku do teprojects/subterfugue/
mingw32). Irrlicht to bowiem nie tylko silgo zjawiska, stosunkowo szybko na pod[5] Fenris: http://lcamtuf.coredump.cx/
nik 3D, ale i zestaw mechanizmów pozwalastawie udostępnionego kodu utworzono
[6] Vserver: http://www.linux-vserver.org/
jących tworzyć własne interfejsy użytkowninowy projekt, znany obecnie jako Fireka i obsługiwać inną funkcjonalność obecną
bird[7]. Wersja 1.5, która ukazała się pod
[7] Firebird: http://www.firebirdsql.org/
w grach. To jednak dopiero początek możlikoniec lutego, to przepisanie kolejnej por[8] Irrlicht: http://irrlicht.sourceforge.net/
wości biblioteki.
cji kodu i usunięcie wielu błędów.
104
Kwiecień 2004
www.linux-magazine.pl

Podobne dokumenty