Download: Spolecznosc_Projekty

Transkrypt

Download: Spolecznosc_Projekty
SPOŁECZNOŚĆ
Open Source
Przegląd najciekawszych projektów Open Source
Projekty pod lupą
W powodzi oprogramowania Open
Source (a także freeware) można
znaleźć tak wiele aplikacji, że trudno
niekiedy wybrać właściwe narzędzie.
W ramach stałej kolumny „Projekty
pod lupą” będziemy starali się opisywać najciekawsze i najbardziej przydatne z nich.
Ronald Raefle, visipix.com
MARTIN LOSCHWITZ
W
tym miesiącu nasz przegląd rozpoczniemy od rozrywki – gry
Racer, następnie skupimy się na
wykorzystaniu komputera z Linuksem jako
punktu dostępowego dla sieci bezprzewodowych. Inne tematy w tym wydaniu, to krótka recenzja nowej wersji systemu OpenBSD
3.4 oraz zmiany w ramach projektu
GNU/Linux Debian.
Racer
AUTOR
Racer to dość wyjątkowy symulator wyścigów
samochodowych [1]. Po pierwsze, gra działa
zarówno w systemie Windows jak i Linux, po
drugie – Racer jest pierwszym darmowym symulatorem wyścigów samochodowych dla Linuksa. Niestety, mimo że możliwe jest pobranie kodu źródłowego tej gry z Internetu, autor
wyraźnie zaznaczył, że Racer nie jest projektem Open Source. Sposób, w jaki sformułowano licencję jest dość zawiły – w każdym razie
programista zainteresowany modyfikacją kodu źródłowego, powinien wcześniej skontaktować się z autorem programu.
Na stronie głównej programu znajdziesz
wiele plików do pobrania. Racer wymaga kar-
102
Martin Loschwitz pochodzi z małego niemieckiego miasteczka Niederkrchten i jest programistą pracującym w ramach projektu Debian
GNU/Linux. Martin przeznacza
swój wolny czas głównie Debianowi
i projektom GNU.
Luty 2004
ty graficznej ze sprzętowym akceleratorem
grafiki, niestety udostępniane binaria mają
włączoną jedynie obsługę kart graficznych
nVidia. W większości przypadków będziemy
zatem zmuszeni do kompilacji gry z kodu źródłowego, a nie jest to sprawą prostą – dowodem na to jest zestaw często zadawanych pytań
(FAQ) znajdujący się na stronie [2] oraz opisy
rozwiązań problemów [3]. Kiedy już uda ci się
zainstalować wersję gry przygotowaną dla
twojego sprzętu, możesz uruchomić grę. Gracze mają do wyboru wyścigi na czas w trybie
gry pojedynczej oraz rozgrywkę wieloosobową. W trybie gry wieloosobowej mogą dołączyć do rozgrywanej już gry lub utworzyć nową sesję.
Jedną z ciekawych funkcji jest łatwa rozbudowa gry poprzez dodawanie modułów. Na
stronie internetowej grupy Racer Xtreme [4]
możesz odnaleźć wiele nowych, interesujących samochodów i tras, z których, po ściągnięciu do swojego komputera, możesz korzystać wybierając opcję z menu Select Track i Select Car. Warte uwagi są szczególnie samochody Opel/Vauxhall Speedster i Ferrari Enzo. Jeśli chodzi o trasy to możemy się ścigać nawet
na kilku torach Formuły 1 (np. torze ulicznym Monte-Carlo w Monako czy brytyjskim
torze Silverstone, zbudowanym na byłym lotnisku). Sterowanie pojazdem odbywa się
www.linux-magazine.pl
myszką – ten rodzaj sterowania w symulatorze
jest dość nietypowy, więc trzeba nieco czasu na
przyzwyczajenie się – większość kierowców
nie będzie miała jednak problemów z precyzyjnym opanowaniem swoich maszyn. Racer
pozwala także na nagrywanie swoich wyczynów i obejrzenie reportażu z wyścigu w celu
oceny swoich umiejętności sportowych. Pliki
wideo przechowywane są domyślnie w folderze tymczasowym, ale jedna z opcji menu
umożliwia nam wskazanie miejsca zapisywania tych plików w dowolnym miejscu na dysku twardym – wystarczy podczas gry nacisnąć
klawisz [F2].
Trzeba jednak przyznać, że Racer ma swoje
słabe strony. Sterowanie myszą przy dużych
prędkościach jest bardzo uciążliwe, sceny wypadków są niedopracowane: samochód po
uderzeniu w barierę, koziołkuje na dach i znika z ekranu monitora, wstrzymując jednocześnie toczącą się rozgrywkę. W takiej sytuacji
nie pozostaje nam nic innego, jak uruchomić
grę ponownie.
Pomimo paru niedociągnięć, Racer jest ciekawą propozycją na długie zimowe wieczory.
Błędy w grze ujawniają się rzadko i nie są
zbytnio dokuczliwe – w każdym razie nie odbierają przyjemności z gry.
Budowa
punktów dostępu (AP)
Bezprzewodowe sieci komputerowe (WLAN)
oferują wygodny sposób łączenia dwóch komputerów. Wszystko czego potrzebujesz, to dwie
karty sieciowe WLAN mogące komunikować
się między sobą w trybie „ad-hoc” (komputer-komputer). Aby jednak umożliwić podłączenie do bezprzewodowej sieci komputerowej
większej ilości komputerów, trzeba korzystać
z punktu dostępu (AP – Access Point). Obecnie na rynku znajduje się wiele urządzeń AP,
ale większość z nich to dość tandetne urządzenia z antenami montowanymi na stałe i bez
możliwości ich wymiany w razie uszkodzenia
lub montażu lepszej anteny. Wiele produktów
posiada też niestabilny firmware, co jest wynikiem gorączkowego wprowadzania nowych
modeli na rynek. Wyjątkiem jest firma Linksys, której punkty dostępu działają pod kontrolą Linuksa. Wystarczy ze strony interneto-
Open Source
SPOŁECZNOŚĆ
rozszerzanie partycji dysków twarwej [5] pobrać odpowiednie sterowdych. Nowa wersja OpenBSD zaniki umożliwiające uruchomienie
wiera także nowe wersje dokumenpunktu dostępu AP na komputerze
tacji man. Znaczący postęp dokonał
PC. Jedynym wymogiem jest karta
się także w obsłudze sprzętu, jest
sieci bezprzewodowej (WLAN)
już obsługa trybu ATA 100 dla komz układem Prism 2, Prism 2.5 lub
puterów Apple Powerbook, ekspePrism 3. Obsługa punktu dostępu
rymentalna obsługa formatu Serial
składa się z dwóch elementów: speATA, a obsługa magistrali USB ma
cjalizowanych sterowników urząjuż takie same możliwości jak
dzeń kart PCMCIAi PCI (hostap_cs
w NetBSD. Ponadto dodano wiele
i hostap_pci), które wykonują w zasasterowników dla kontrolerów SCSI
dzie te same zadania, co sterowniki
i interfejsów sieciowych.
pakietów PCMCIA CS [6] i Linux
Kilka tygodni przed wypuszczeWLAN NG [7], lecz zostały specjalniem na rynek systemu OpenBSD
nie zoptymalizowane do obsługi
Rysunek 1. Ferrari Enzo to jeden z modeli samochodów dostępnych
3.4 na liście dyskusyjnej projektu
punktów dostępu. Drugim elemenw grze Race, pierwszym symulatorze wyścigów samochodowych dla Liwybuchła gorąca dyskusja dotycząca
tem jest sterownik hostap. Dodatkonuksa. Gra umożliwia dodawanie nowych tras i samochodów. Wiele
testów porównawczych, które opuwy moduł hostap_wep zajmuje się
z nich można odnaleźć na stronie [4].
blikował Felix von Leitner [10]. Feobsługą kodowania WEP – po załalix badał systemy OpenBSD, FreeBSD,
stępu do zapisu. Twórcy oprogramowania nadowaniu wszystkich sterowników wystarczy
NetBSD i Linux pod kątem dostosowania typotykają na taki sam problem jak społecztylko uruchomić tryb transmisji hostap. Stepowych zadań, jakie wykonują serwery, np.
ność systemu Linux: firma Microsoft po prorownik Host APpracuje zarówno pod kontrolą
socket(), bind() czy fork(). OpenBSD wykazał
stu odmawia opublikowania szczegółowych
PCMCIA CS, jak i w strukturze opartej na jąduże niedociągnięcia (niewielką wydajność)
danych na temat systemu plików NTFS. Midrze wewnętrznym PCMCIA. Ostatnia z nich
w zasadzie w każdym rodzaju testu.
mo, że pod Linuksem jest dostępna obsługa
ma tę przewagę, że umożliwia wprowadzenie
Jeden z twórców systemu OpenBSD, Ted
zapisu w tym formacie, to możliwość taka
poprawki Host AP do jądra. Poprawki, jak
Unangst, próbował wyjaśnić słabe wyniki sysjest oficjalnie sklasyfikowana jako DANGEi sterowniki dla obecnej wersji, można odnatemu, podkreślając znaczenie faktu, że twórROUS (niebezpieczna). Operacja zapisu
leźć na serwerze CVS.
ców OpenBSD bardziej interesowało stworzemoże zniszczyć nawet cały system systemu
nie odpowiednich zabezpieczeń dla systemu
plików.
Nowe wydanie OpenBSD
niż łatwość dostosowania do zadań różnego tyIstnieją pewne rozszerzenia, zawierające
Najnowsze wydanie systemu operacyjnego
pu. Mimo to, aby poprawić wydajność systeobsługę separacji uprawnień dla serwerów
OpenBSD (wersja 3.5) pojawiło się na serwemu w badanych dziedzinach, wydano wkrótce
syslogd i X. Narzędzia GNU, takie jak diff,
rach FTP[9] 1 listopada 2003 roku[8]. Projekt
kilka poprawek, które mają być odpowiedzią
grep i gzip, zostały zastąpione ich odpowiedniOpenBSD ma na celu przygotowanie możlina opisane problemy.
kami w systemie BSD – poważnie zwiększowie najbezpieczniejszego systemu operacyjneWkrótce po wydaniu wersji 3.4 koleją burzę
no możliwości pakietu filtrów pf. Nowością
go ogólnego użytku. Nowa wersja systemu kowywołała wiadomość od użytkownika z Franjest growfs – umożliwia on użytkownikom
rzysta na komputerach typu x86 domyślnie
cji, który twierdził że sklep, w której
wyłącznie z formatu binarnego
kupił wersję 3.3 systemu OpenBSD
ELF, który zastępuje a.out, jako forma zakaz sprzedaży wersji 3.4 tego
mat przestarzały i stwarzający wiele
systemu. Powodem tego jest nowe
problemów.
prawo francuskie, zakazujące we
Dodatkowa zmiana na platformie
Francji sprzedaży oprogramowania
x86, to obsługa W^X (Writable xor
bez francuskiej dokumentacji.
eXecute) zapobiegająca przepełniePomimo słabych wyników testów
niom bufora na poziomie jądra syssystemu OpenBSD, wielu użytkowtemu. Nowa funkcja chroni przed
ników i programistów go polubiło,
równoczesnym dostępem do wolgdyż zapewnia wysoki poziom beznych, zapisywalnych adresów papieczeństwa systemu.
mięci. Powinno to zabezpieczyć system, nawet jeżeli uruchomione na
nim programy są podatne na ataki
Zmiana konstytucji
przepełnienia bufora. Standardowy
projektu Debian
kompilator OpenBSD posiada także
Przez kilka ostatnich lat twórcy
procedury sprawdzające typowe błęDebiana nalegali na usunięcie
dy związane z obsługą pamięci.
oprogramowanie
nieobjętego
Rysunek 3. Twórcy oprogramowania OpenBSD wypuścili na rynek
Wersja 3.4 systemu OpenBSD
Open Source (sekcja non-free)
nową wersję 3.4. Niestety, nie przygotowali obrazów ISO do poumożliwia odczyt partycji NTFS,
z rozprowadzanych kopii oprograbrania systemu z Internetu – jeżeli chcecie mieć OpenBSD na dyschociaż obecnie nie obsługuje domowania Debiana GNU/Linux.
ku CD, musicie nagrać je sobie sami.
www.linux-magazine.pl
Luty 2004
103
SPOŁECZNOŚĆ
Open Source
Do tej pory Umowa Społeczna Debiana [11]
zapobiegała temu, ustalając, że sekcja non-free jest nierozłączną częścią dystrybucji.
Usunięcie części non-free oznacza więc zmianę Umowy Społecznej. Jednak zgodnie z opinią wielu twórców oprogramowania, konstytucja Debiana [12] do tej pory na to nie pozwalała. Rozdział 4.1.5 Konstytucji Debiana
ustala, że można modyfikować dokumentację „nietechniczną”. Programiści nie byli
pewni, czy rozdział dotyczący części non-free
Umowy Społecznej jest „techniczny” czy też
„nietechniczny”. Właśnie ta rozbieżność została usunięta z problematycznego rozdziału
– twórcy Debiana przeprowadzili głosowanie mające zadecydować o takiej zmianie
niefortunnego rozdziału, która umożliwi
modyfikacje Umowy Społecznej i wytycznych Debiana dotyczących Oprogramowania Wolnodostępnego (DFSG [13]) – uchwałę przyjęto większością głosów. 30.X.2003 sekretarz projektu, Manoj Srivastava, opublikował na liście dyskusyjnej [14] trzy projekty zmian. Autorem pierwszego projektu był
sam Srivastava. Zaprezentował on klasę dokumentów zwaną „Dokumentami Podstawowymi”, do której należą zarówno Umowa
Społeczna jak i konstytucja Debiana. Twórcy
oprogramowania potrzebowaliby większości
głosów, aby zmienić w przyszłości te dokumenty.
Drugi projekt opracował Branden Robinson.
Zaproponował on wyjaśnienie niejednoznacznej definicji dokumentów nietechnicznych
w konstytucji, a więc umożliwienie modyfikacji Umowy Społecznej. Branden Robinson był
także autorem trzeciego projektu. Jest on podobny do pierwszego projektu Srivastavy, za wyjątkiem propozycji przesunięcia Umowy Społecznej poza grupę dokumentów składających
się na wytyczne Debiana dotyczące Oprogra-
mowania Wolnodostępnego (DFSG).
Do głosowania doszło w okresie między 15
a 29 października. Okazało się, że 75% głosujących wybrało pierwszy projekt. Rozpoczęto
w ten sposób kampanię na rzecz usunięcia elementów non-free z projektu. Najwięcej problemu będzie z wielkimi pakietami, takimi jak
KDE czy GNOME. Obecnie programiści Debiana starają się rozdzielić te duże pakiety na
jak najmniejsze części, które pozwolą na wyeliminowanie elementów non-free.
Praca zespołowa
w Debianie
Obecnie trudno jednemu programiście radzić sobie z przygotowaniem całości projektu – samo opracowanie systemu raportowania o błędach pochłonęłoby większość jego
czasu pracy. Ponadto, od twórców oprogramowania oczekuje się brania pod uwagę różnych architektur sprzętowych przyszłych
użytkowników – pamiętajmy, że Debian obsługuje obecnie jedenaście platform sprzętowych. Tworzenie pakietów nie jest zadaniem
prostym i przyjemnym, a jeżeli dodamy do
tego fakt, że nowe wydanie dystrybucji oznacza aktualizację wszystkich pakietów, które
wchodzą w jego skład, otrzymujemy ogromną ilość pracy programistycznej. Mimo, że
pewne zmiany w programach można uzyskać korzystając z poprzednich wersji programu, zwykle taka sytuacja jest niewykonalna w przypadku większych pakietów programów. Rozwiązanie tego problemu jest
bardzo proste: głównymi pakietami programów powinna zajmować się grupa programistów, a nie jedna osoba.
Takie podejście do problemu zastosowano
już jakiś czas temu przy głównych projektach
Debiana. Gdy Ben Collins zrezygnował
z funkcji opiekuna pakietu GNU Glibc, jego
obowiązki przejęła grupa programistów. Zestawem kompilatorów GNU (GCC) zajmuje
się grupa opiekunów GCC Debiana. W podobny sposób zostały przejęte pakiety KDE
i Gnome. Chris Cheney, odpowiedzialny za pakiety podstawowe KDE, przekazał opiekę
nad nimi grupie QT/KDE Debiana. Z kolei grupa Gnome
Debiana przejęła część pakietów Gnome.
Projekt Debian wyposaża
grupy programistów w odpoRysunek 3. Umowa Społeczna Debiana to podstawowy dowiednią infrastrukturę ze strokument tego projektu. Niedawno rozpoczęto ważny proces
ny serwisu alioth.debian.org, któjej modyfikacji.
104
Luty 2004
www.linux-magazine.pl
INFO
[1] Strona WWW projektu Racer:
http://www.racer.nl/
[2] Nieoficjalny FAQ gry Racer:
http://www.schuerkamp.de/zope/hoover/
racing/racer_linux_faq
[3] Racer – rozwiązywanie problemów:
http://www.racer.nl/trouble.htm
[4] Modele samochodów i tras dla Racer-a:
http://www.racer-xtreme.com/
[5] Linux jako punkt dostępowy sieci WLAN:
http://hostap.epitest.fi/
[6] PCMCIA CS:
http://pcmcia-cs.sourceforge.net/
[7] Linux WLAN NG:
http://www.linux-wlan.org/
[8] List Teda Unangsta:
http://marc.theaimsgroup.com/
?l=openbsd-misc&m= 106755679117371
[9] OpenBSD 3.4:
ftp://ftp.openbsd.org/pub/OpenBSD/3.4/
[10] Felix von Leitners Benchmark:
http://bulk.fefe.de/scalability/
[11] Umowa Społeczna Debian-a:
http://www.debian.org/social_contract
[12] Konstytucja Projektu Debian:
http://www.debian.org/devel/constitution
[13] Debian Free Software Guidelines:
http://www.debian.org/social_contract.
html#guidelines
[14] List Manoj Srivastava: http://lists.debian.
org/debian-devel-announce/2003/
debian-devel-announce-200309/
msg00014.html
[15] Sugestie i wskazówki:
[email protected]
ra jest debianowym odpowiednikiem witryny
Sourceforge. Grupy mogą korzystać z systemów
zarządzania kodem CVS, Subversion i mają
dostęp do list dyskusyjnych i funkcji na stronie
głównej projektu. Praca zespołowa nad głównymi pakietami programów jest niezwykle ważna, gdyż jest to jedyne realne rozwiązanie powstających w toku prac problemów. Miejmy nadzieję, że wkrótce w ten sposób będzie pracować większość programistów Open Source –
szczególnie wtedy, gdy wielkość projektu będzie
przerastać pojedyncze osoby pracujące nad
nim.
To wszystko…
…w tym miesiącu, mamy jednak jeszcze ostatnią prośbę: jeżeli chcecie, abyśmy przetestowali i opisali jakiś program w ramach kolumny „Projekty pod lupą”, przysyłajcie e-maile
ze swoimi sugestiami [15]. Oczekujemy Waszych komentarzy i opinii!
■

Podobne dokumenty