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