Archiwum dla kategorii Open Source

Tym razem krótko: polecam znakomity artykuł Filozofia - czyli przedmowa “Sagi o Linuksie”? pióra (a właściwie “klawiatury”) Keyto. Świetny tekst napisany bardzo przyjemnym językiem na temat GNU, Uniksa i nie tylko.

Ciężko opisać moje zdziwienie, gdy dzisiaj czytają listę nowości na FreshMeat ujrzałem FlightGear w pełnej wersji 1.0. Projekt, który jednoznacznie przypomina mi rok 1999, kiedy to po raz pierwszy zainstalowałem Linuksa. FlightGear zawsze rozpoczynał wszelkie zestawienia gier dostępnych na tą platformę.
Symulator lotu, charakteryzujący się świetnym odwzorowaniem rzeczywistości i bogatą bazą modeli samolotów. Cytując z Wikipedii (na licencji: GNU FDL):

Wyróżnia się on profesjonalnym podejściem do symulacji, które przejawia się m.in. w bardzo realistycznym odwzorowaniu nie tylko dynamiki lotu, ale także takich szczegółów jak zgodne z rzeczywistą datą i czasem rozmieszczenie ciał niebieskich.

Jednym z wiodących założeń projektu, postawionym przez twórców projektu już na samym jego początku, są - obok realizmu samego lotu - niewygórowane wymagania sprzętowe projektu.

FlightGear obsługuje m.in. następujące modele dynamiki lotu (ang. Flight Dynamic Model):

* JSBSim - zalecany model dynamiki, oparty na układzie współrzędnościowym, uwzględniającym 6 stopni swobody obiektu; może pracować jako osobny program lub być wywoływanym przez system wizualizacji. Pliki konfiguracyjne dla poszczególnych modeli samolotów i silników są oparte na XMLu. Zawarte w nich informacje bazują na dokumentacji technicznej i danych eksperymentalnych, opisanych przez odpowiednie charakterystyki.

* YASim - model dynamiki będący częścią FlightGear, opiera się na nieco innym podejściu do symulacji niż poprzedni. Bazuje na modelowaniu przepływów powietrza, stąd pod uwagę brane są informacje o geometrii płatowca i jego masie, co ułatwia tworzenie plików konfiguracyjnych dla poszczególnych maszyn.

* UIUC (LaRCsim) - model bazujący na LaRCsim, pierwotnie rozwijanym przez NASA.

Piękne wspomnienia z dawnych lat… i jakby wciąż aktualne…

Po obronie i powrocie do życia najwyższy czas spojrzeć do garnka, gdzie odgrzewanym daniem głównym stał się QNX. Dla tych, którym nazwa ta kojarzy się jedynie z trzema literami warto zaznaczyć, iż QNX jest rewelacyjnym systemem czasu rzeczywistego, opartym na mikrojądrze (”bardzo mikro”), z przyjemnym i lekkim środowiskiem graficznym Photon, jest także zgodny z wieloma systemami uniksowymi. System jest komercyjny, ale kilka lat temu autorzy udostępnili darmową wersje tylko dla użytku niekomercyjnego.

Kilka dni temu zrobili coś więcej - otwarli kod źródłowy jądra systemu. Więcej informacji można znaleźć na stronie:
http://community.qnx.com/sf/sfmain/do/home.

Prawdę mówiąc (albo bardziej “pisząc”) nie wierzyłem, że to kiedykolwiek się stanie faktem. Jądro QNX’a było jednym z najciekawszych rozwiązań z jakimi się spotkałem. Wyjątkowo małe, szybkie, znakomicie sprawujące zadania. Wreszcie idea systemu czasu rzeczywistego wnosi ten powiew, którego zawsze mi brakowało w bardziej popularnych OS.
Dlaczego autorzy zdecydowali się na otwarcie kodu? Może tylko dla przypomnieniu społeczeństwu informatycznego o sobie? A może więcej światła na ten temat rzuci wywiad:
http://www.osnews.com/story.php/18596/QNX-Opens-Neutrino-Source-Code-Interview-QNX-CEO

Pierwszy epizod Pierwszej Wojny Światowej Formatów (The 1st World Wide Format War) zakończył się zwycięstwem obozu Wolnego Oprogramowania. Microsoft rachuje straty i szykuje się do kontrofensywy. Format OpenXML nie uzyskał statusu standardu ISO, przegrywając w głosowaniu. Wprawdzie uzyskał 53% pozytywnych opinii, ale to nie wystarczało, gdyż próg akceptacji wynosi 2/3. Rozkład głosów prezentował się następująco: Glosy ISO ws OpenXML.

Wojna toczy się o cele jakie dwie walczące strony reprezentują: Microsoft - pieniądze, FFII - idee; aczkolwiek obydwie strony niechętnie się do tego przyznają. Zwolennicy Wolnego Oprogramowania postulują odrzucenie OpenXML argumentując, gdyż wbrew nazwie nie jest on ani otwarty ani zgodny z XML, a co więcej jest niezgodny z aktualnie przyjętymi standardami. Co więcej mają zastrzeżenia do objętości formatu, który w wersji wydrukowanej wygląda (podobno) tak.

Zwolennicy OpenXML ripostują, iż objętość ma związek z dokładnością oraz większym stopniem zaawansowania formatu w stosunku do ODF. Nie będę jawnie opowiadał się po żadnej ze stron. Prawda leży gdzieś po środku.

Warto jednak zwrócić uwagę, iż tryb przyjmowania i głosowania nad standardem przebiegał w nerwowej atmosferze. Fundacja Wolnego Oprogramowania zgłaszała wiele obiekcji. Pierwszy dotyczył przyspieszonego trybu akceptacji formatu, który to chyba jednak bardziej zaszkodził, niż pomógł OpenXML. Ostatnio najgłośniej było o incydencje w Szwecji, w efekcie którego (choć nie bezpośrednio) głosowanie zostało anulowane. W naszym kraju obserwatorzy FWIOO również mieli zastrzeżenia.

Teraz wypada czekać na kolejną wielką batalię, która (według zapowiedzi) odbędzie się w lutym 2008.

Ciężko nie zauważyć wielkiej popularności języka JavaScript wzrastającej nieustannie od kilku lat. Inspiracją do napisania tego posta był kolejny znakomity toolkit (właściwie to nawet pełna biblioteka) javascriptowa do wizualizacji graficznego interfejsu użytkownika. Mam tutaj na myśli OAT Framework.

Obecna wersja 2.6 wspiera kilkanaście atrakcyjnie wyglądających widgetów (między innymi bardzo efektowne Dock lub zintegrowany widget do obsługi RSS) oraz sporo innych przydatnych narzędzi (funkcje kryptograficzne, bazodanowe).

Ale niewątpliwie największe wrażenie pozostawił przykład aplikacji do modelowania baz danych napisany w OAT Framework:

http://demo.openlinksw.com/DAV/home/demo/Public/Design/employee_sales_customer_diagram2.xml

Wróćmy jednak jeszcze do kwestii popularności JavaScript. Niedawno przeczytałem, iż obecne badanie w Stanach Zjednoczonych sugerują, iż najwięcej programistów tworzy obecnie programy w JS.

Potwierdzenia postanowiłem poszukać w danych serwisu Freshmeat. Wprawdzie nie ograniczyłem się do czasu obecnego, ale sprawdziłem ile projektów wykorzystuje ten język. JavaScript znalazł się na szczytnym 7. miejscu (licząc wszystkie projekty; należy pamiętać, iż JS rzadko występuje jako jedyna technologia w projekcie).

Poniżej przedstawiam obecny ranking:

  1. C (8737)
  2. Java (5657)
  3. C++ (4746)
  4. PHP (4203)
  5. Perl (3758)
  6. Python (2826)
  7. JavaScript (1019)
  8. Unix Shell (986)
  9. SQL (538)
  10. TCL (493)

W najbliższym czasie należy się spodziewać wkroczenia na listę języka Ruby, zapewne kosztem tracącego znaczenie TCL.

Z dwudniowym opóźnieniem wynikającym z braku dostępu do Internetu ogłaszam najnowsze wersje:

  • jTemplates 0.4.1 - systemu szablonów w JavaScript
  • Allegro Widget 0.2.1 - plugin do Wordpress pokazujący w na pasu bocznym aktualne aukcje użytkownika

jTemplates 0.4.1

Wersja 0.4 przede wszystkim nacisk kładzie na bezpieczeństwo. Dane wejściowe (oznaczone zmienną $T) są sprawdzane pod kątem występowania znaków specjalnych stosowanych w XHTML: <, >, ‘, ” oraz &. Znaki te są zmieniane na bezpieczne odpowiedniki. Dodatkowo został zaimplementowany detektor funkcji dla danych $T, co ma uniemożliwić dokonywanie ataków wstrzykiwania kodu.

Zabezpieczenia te są domyślnie włączone. Istnieje możliwość ich wyłączenia, co gwarantuje zgodność z wcześniejszymi wersjami jTemplates.

Allegro Widget 0.1.2

Najnowsza wersja wprowadza niewielkie korekty w wyświetlaniu widgetu. Dzięki temu nie wyróżnia się od zbyt mocno od reszty elementów na pasku.

Dzień po dniu przynosi kolejne nowości…

Tym razem pora na Slackware 12.0!

W nowym Slacku całkowicie zrezygnowano ze wsparcia dla starszej linii jądra (2.4). Domyślny kernel nosi numerek 2.6.21.5.

Środowiska graficzne to KDE 3.5.7 i Xfce 4.4.1.

Pełna charakterystyka znajduje się na stroni: http://slackware.com/announce/12.0.php

Wczoraj (a właściwie dzisiaj, bo przez ostatnie 24 godziny strona nie wytrzymała obciążenie i była sporadycznie dostępna) ukazała się kolejna (1.1.3) wersja biblioteki JavaScript pod nazwą jQuery.

Wśród nowości na szczególną uwagę zwraca deklarowane przyspieszenie działania nawet kilkukrotne (średnio 867%)!

Więcej informacji w blogu autora.

Na stronie http://jtemplates.tpython.com/ publikuję system szablonów stron w JavaScript o nazwie jTemplates.

jTemplates wcześniej był rozwijany pod nazwą tParser. Obecnie stał się pluginem do biblioteki jQuery. jTemplates dostępny jest na licencjach MIT i GPL.

Najnowsza wersja nosi numer 0.1.9 i zawiera szereg udoskonaleń w stosunku do wersji 0.1.

Więcej informacji na stronie projektu.

W świetle ostatnich oskarżeń ze strony MS pod kierunkiem autorów oprogramowanie OpenSource należy zwrócić uwagę na kilka efektów prawa patentowego w Stanach Zjednoczonych:

  1. Obecnie trudno napisać nawet mały projekt bez naruszenia (przypadkowego) kilku patentów.
  2. Patenty w niewielkim stopniu chronią prawdziwego autora - czyli ludzki umysł. Chronią interesy monopoli rynkowych. Trwa zimna wojna między największymi firmami, które się wzajemnie straszą pozwami do sądu. Małe firmy bez odpowiedniej liczny patentów zostaną zadeptane tylko gdy zaczną odnosić sukcesy.
  3. Tylko duże firmy mogą sobie pozwolić na innowacyjność. Patrz pkt. 1 i 2. Niestety zazwyczaj tego nie robią. Chyba jedynymi wyjątkami są Apple i Google.
  4. Dawniej uważałem, że jednym powodem tworzenia własnych rozwiązań przez MS w miejsce istniejących standardów było uzależnienie odbiorów. Teraz dochodzi jeszcze fakt, iż pisanie wg standardów może “upodobnić” kod do rozwiązań zastosowanych w innych produktach, co oczywiście również ma związek z potencjalnym naruszeniem patentów.
  5. Firmy ubezpieczeniowe w Stanach sprzedają polisy ochraniające przez skutkami wynikającymi z naruszenia patentów. Hmmm…. czyli ubezpieczają złodzieja przed tym, że zostanie ukarany za kradzież?

Chyba dobrze, że jeszcze mieszkam w Europie…

Na koniec zapraszam na interesującą lekturę na ten temat z Fortune: http://money.cnn.com/magazines/fortune/fortune_archive/2007/05/28/100033867/index.htm