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! ■