Download: Spolecznosc_Projekty
Transkrypt
Download: Spolecznosc_Projekty
SPOŁECZNOŚĆ Projekty Przegląd najciekawszych projektów Open Source Projekty pod lupą W tym miesiącu omówimy kilka interesujących projektów: edytor stron WWW Nvu, środowisko do rozproszonej kompilacji distcc, środowisko graficzne XPde, OpenSource Vulnerability Database oraz nową wersję środowiska graficznego GNOME, 2.6. ARTUR SKURA Nvu Nvu[1] (wymawiaj „enwju”, od ang. N-view, „nowy widok”) w zamyśle twórców ma być odpowiednikiem Dreamweavera dla Linuksa. W praktyce jednak jest to działający w trybie WYSIWYG (to, co widzimy na ekranie, jest bardzo bliskie ostatecznemu rezultatowi) edytor stron HTML, zawierający prosty mechanizm zarządzania witrynami. Podzbiorem funkcjonalności bliższy jest raczej MS FrontPage niż popularnego produktu Macromedia. Nvu to całkowicie otwarte oprogramowanie oparte na motorze Gecko. Co więcej, po uzyskaniu stabilności (w chwili przygotowywania artykułu najnowsza wersja nosi numer 0.20) kod Nvu zostanie połączony z głównym drzewem Mozilli. Projekt, sponsorowany przez Lindows.com, prowadzi Daniel Glazman, główny projektant edytora Mozilla Composer, będącego podstawą dla Nvu. Jednak na pierwszy rzut oka widać różnice między Composerem a Nvu. Pomijając nową funkcjonalność związaną z zarządzaniem witrynami, Nvu znacznie lepiej obsługuje tabele i formularze. Okienko do zarządzania witrynami jest wzorowane na analogicznej zakładce z Dreamweavera, jest jednak znacznie uboższe. Na razie można dodawać i przeglądać witryny, docelowo dostępna ma być pełna funkcjonalność. W praktyce jednak kod ten nie działa idealnie, możemy mieć np. problem z połączeniem z serwerem FTP. Zważywszy na niski numer wersji, jest to problem do wybaczenia. Interesująca jest również znana z Dreamweavera możliwość tworzenia szablonów: najpierw tworzymy dokument HTML, określamy obszar, który można edytować, następnie zachowujemy cały dokument jako szablon. Co więcej, edytowalne obszary mogą się powtarzać, można je pomijać, można je również przemieszczać (oczywiście jeśli na to pozwolimy). Jest to niezwykle użyteczne i znacznie zwiększa efektywność pracy. Nvu posiada edytor kaskadowych arkuszy stylów (CSS). W dość wygodny sposób możemy zdefiniować większość powszechnie używanych atrybutów elementów strony, włączając w to właściwości odczytu tekstu przez syntezatory mowy dla osób niewidomych i niedowidzących. Dzięki narzędziu walidującemu poprawność kodu HTML możemy szybko wychwycić błędy, zaś autorzy zapowiadają wprowadzenie obsługi podobnego mechanizmu dla CSS oraz funkcję oczyszczania kodu ze zbędnych naleciałości wprowadzanych zazwyczaj przez narzędzia WYSIWYG. I na koniec ciekawostka: dodając lub edytując zewnętrze dowiązania do stron należących do innych osób, możemy łatwo dodać informację o właścicielu w formacie XHTML Friends Network[2], zaznaczając na przykład, że jest naszym krewnym lub znajomym, albo że nie spotkaliśmy go nigdy osobiście. XFN jako atrybut HTML-owego znacznika A nie jest jeszcze zbyt popularny – być może Nvu będzie miało wpływ na jego popularyzację. distcc Nvu już w wersji 0.20 znacznie ułatwia tworzenie prostych stron 102 Maj 2004 Wraz ze wzrostem objętości kodu otwartych projektów rośnie zapotrzebowanie na moc procesora, jednak zarówno sprzęt jak i kieszeń użytkownika mają swoje ograniczenia. Wszyscy ci, którzy często kompilują duże aplikacje (nie tylko użytkownicy Gentoo!), a dysponują kilkoma, niekoniecznie nowymi komputerami, www.linux-magazine.pl powinni zainteresować się projektem distcc[3]. Distcc umożliwia szybką kompilację na kilku maszynach. Podobnych projektów jest wiele, większość z nich ma jednak dość poważne ograniczenia, które często nie pozwalają ich efektywnie wykorzystać w roli farmy kompilacyjnej aplikacji linuksowych – ilość przygotowań (nałożenie łat i rekompilacja jądra, ustanowienie takiego samego środowiska na wszystkich komputerach w sieci lub przynajmniej współdzielenie jednego systemu plików, synchronizacja zegarów itd.) może odstraszyć niejednego amatora przyspieszania kompilacji. Distcc należy do nielicznych wyjątków: na maszynach kompilujących wystarczy zainstalować kompilator zdolny wytworzyć kod dla danej architektury – nie muszą one nawet pracować pod kontrolą tego samego systemu operacyjnego. Bez względu na ilość maszyn, distcc powinien generować dokładnie taki sam kod, jak w przypadku kompilacji na lokalnej maszynie. Jak działa distcc? Na maszynach kompilujących (nazwijmy je dla uproszczenia stacjami klienckimi) musimy zainstalować kompilator oraz demon distccd, odpowiedzialny za komunikację z głównym hostem. Distcc na głównej maszynie przesyła przetworzony za pomocą Projekty preprocesora kod źródłowy na stacje robocze, gdzie zostaje przeprowadzana kompilacja. Następnie kod wynikowy jest przesyłany z powrotem na główną maszynę. Jak łatwo zauważyć, głównym wąskim gardłem w tego typu modelu będzie sieć, a dokładniej jej niska przepustowość – zwłaszcza w sytuacji, kiedy czas przesyłania danych jest zbliżony do czasu kompilacji. Zazwyczaj jednak jest inaczej: już przy trzech dodatkowych maszynach można zwiększyć szybkość kompilacji 2,5-krotnie. Największy zysk można zauważyć przy budowaniu dużych projektów, takich jak GNOME, KDE czy Linux. Co ciakawe, na maszynach służących do kompilacji nie musimy ingerować w system plików na dysku twardym – wystarczy możliwość uruchomienia z napędu CD minidystrybucji distccKNOPPIX[4] (ok. 40 MB), przygotowanej specjalnie do tego celu. Jeśli chcemy monitorować aktywność distcc, możemy do tego celu wykorzystać narzędzie gmonitor, opcjonalnie integrujące się z pulpitem GNOME. Dodatkowe oszczędności możemy poczynić zaopatrując się w narzędzie ccache[5] XPde XPde[6] jest stosunkowo głośnym projektem, mającym tyluż zwolenników co przeciwników. Ci pierwsi uważają, że implementowana w nim funkcjonalność „to właśnie to, czego potrzeba Linuksowi”, podczas gdy ci drudzy uważają go za zwykłą stratę czasu. Skąd te kontrowersje? XPde, czyli „środowisko graficzne XP” (XP desktop environment) ma na celu jak najwierniejsze odwzorowanie wyglądu pulpitu Windows XP. Autorzy podkreślają, że nie mają ambicji stworzenia kopii Windows – chodzi tylko i wyłącznie o wygląd zewnętrzny. Ich cel zostanie osiągnięty, kiedy użytkownik posadzony przed komputerem z XPde nie będzie potrafił odróżnić na pierwszy rzut oka XPde od pulpitu Windows XP. Nierealne? Wersja 0.5.0 z początku kwietnia pokazuje, że nie jest to niemożliwe. XPde zawiera nowy pasek zadań i estetyczny menedżer okien. Ze względów prawnych nie jest możliwe dokładne odtworzenie pulpitu XP, ponieważ Microsoft jest właścicielem niektórych obecnych na nim znaków handlowych i logo, jednak programiści tak zaprojektowali XPde, by uzupełnienie motywu graficznego o brakujące ikony (czy też wymiana bieżących) dało się bardzo łatwo przeprowadzić. Co ciekawe, XPde jest budowane przy pomocy Kyliksa, narzędzia Borlanda do szybkiego tworzenia aplikacji (znanego również jako „Delphi dla Linuksa”). Open Source Vulnerability Database Open Source Vulnerability Database, czyli otwarta baza błędów w aplikacjach, jest bazą danych o błędach związanych z bezpieczeństwem, z której można korzystać na bardzo liberalnych warunkach. Zarówno indywidualni użytkownicy jak i firmy mogą swobodnie z niej korzystać bez uiszczania żadnych opłat. Jakie znaczenie ma OSVD dla projektów Open Source? Już teraz projekty związane z bezpieczeństwem mogą wykorzystać dostępne bazy danych, np. dostarczając użytkowni- Baza OSVD dostępna jest w różnych formatach kowi szczegółowych informacji o luce bezpieczeństwa znalezionej w jego systemie. Głównymi beneficjantami OSVD są zatem systemy wykrywania włamań (Snort, Prelude) czy też narzędzia do audytu, takie jak Nessus. OSVD dostarcza znacznie więcej informacji na temat danego błędu niż opis CVE (Common Vulnerabilities and Exposures), choć oczywiście rekordy w OSVD zawierają odnośniki do CVE. Obecnie baza jest przygotowywana na podstawie informacji wysyłanych na popularne listy dyskusyjne (takie jak Bugtraq), lecz w przyszłości możliwe będzie bezpośrednie dodawanie nowych błędów wprost do bazy, jak również modyfikacja statusu istniejących (w chwili obecnej jest to wciąż jeszcze w dużej mierze proces niezautomatyzowany). GNOME 2.6 Pojawienie się GNOME [7] 2.6 nie zapowiada rewolucji, jest to jednak duży krok w kierunku zwiększenia efektywności pracy z tym środowiskiem. Na pierwszy rzut oka można zauważyć, że sporo nowości pochodzi z Mac OS X, przy projektowaniu którego włożono ogromny wysiłek w analizę zachowań użytkowników, by znaleźć takie rozwiązania, które pozwalają wykonać niezbędną pracę w sposób jak najbardziej przezroczysty dla użytkownika. Jednym z przykładów tego typu funkcjonalności jest znana z Findera w Mac OS X funkcja nazwana w GNOME 2.6 „Spatial Browsing”. Mówiąc krótko – każdemu folderowi od- SPOŁECZNOŚĆ powiada jedno okno. U podstawy hierarchii obiektów w Nautilusie znajduje się okno „Computer”, zawierające odniesienia do dysków twardych, napędów, sieci oraz wszelkiego typu udziałów sieciowych. Niewiele jest elementów GNOME budzących tak duże emocje, co okno wyboru plików. To z wersji 2.6 GNOME przypomina nieco okno wyboru znane z Mac OS X, jednak jak przystało na element GNOME, jest nieco bardziej elastyczne. Podobnie jak w Windows, w GNOME 2.6 można przełączyć się między różnymi typami klawiatur za pomocą jednej kombinacji klawiszy. P osiadaczy klawiatur zwanych przez producentów „multimedialnymi” ucieszy ich obsługą w GNOME – można teraz użyć dodatkowych klawiszy do regulacji głośności czy kontroli odtwarzanych plików multimedialnych. Ulepszono też applet odpowiedzialny za wybór tła: w przeciwieńs0twie do windowsowego odpowiednika, nie tylko wyświetla on miniaturki zachowanych tapet, ale i zachowuje ustawienia kontrolujące ich wyświetlanie. ■ Nowe okno wyboru otwieranych plików INFO [1] Strona domowa Nvu: http://www.lindows.com/nvu/ [2] Informacje na temat XHTML Friends Network: http://gmpg.org/nvu/ [3] Strona domowa distcc: http://distcc.samba.org [4] Minidystrybucję distccKNOPPIX znajdzieny na stronie http://opendoorsoftware.com [5] Strona domowa ccache: http://ccache.samba.org [6] Strona domowa XPde: http://www.xpde.com [7] Strona domowa GNOME: http://www.gnome.org [8] Informacje na temat polskiego zespołu tłumaczącego GNOME można uzyskać na stronie domowej projektu, http://gnome.pl www.linux-magazine.pl Maj 2004 103