Złota dwudziestka

Open Source to nie tylko świetne programy, ale także ogromna społeczność programistów i użytkowników, wśród których wiele jest jednostek wybitnych, takich jak Eric Steven Raymond.

Open Source to nie tylko świetne programy, ale także ogromna społeczność programistów i użytkowników, wśród których wiele jest jednostek wybitnych, takich jak Eric Steven Raymond.

Eric Steven Raymond (znany w środowisku pod inicjałami ESR), urodzony 4 grudnia 1957 roku w Bostonie, to jedna z najbardziej znanych postaci ruchu Open Source. Jest autorem książki The Cathedral and the Bazaar (Katedra i bazar) i obecnym opiekunem słownika żargonu hakerskiego (Jargon File). Jest także wziętym programistą - opracował m.in. implementację języka C w języku INTERCAL, napisał też niektóre z trybów pracy edytora EMACS, a obecnie pracuje nad narzędziem konfiguracyjnym jądra Linuksa.

Raymond jest autorem wyrażenia "Przy dostatecznie dużej liczbie patrzących oczu żaden błąd nie jest niegroźny" (ang. "Given enough eyeballs, all bugs are shallow"). Twierdząc, że zainspirował go do tego stwierdzenia Linus Torvalds, nazwał je Prawem Linusa.

Prawo to pojawiło się w jego książce The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary, wydanej przez O'Reilly & Associates w 1999 roku - pod adresem http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/x147.html można znaleźć najstarszą wersję (1997), udostępnioną wówczas użytkownikom Internetu.

Zestawienie programów open source.

Zestawienie programów open source.

Jest to esej na temat sposobów tworzenia oprogramowania open source, oparty na jego obserwacjach powstawania jądra Linuksa oraz doświadczeniu związanym z koordynacją projektu open source o nazwie fetchmail. Esej został po raz pierwszy zaprezentowany przez autora na Linux Kongress 27 maja 1997 roku.

Raymond przeciwstawia w nim dwa różne modele tworzenia wolnego oprogramowania:

  • model katedry, gdzie kod źródłowy jest udostępniany wraz z każdą nową wersją programu, ale w czasie opracowywania zna go jedynie wąska grupa developerów. Jako przykłady podane są GNU Emacs oraz GCC;
  • model bazaru, gdzie kod tworzony jest w Internecie, na oczach wszystkich. Według Raymonda to Linus Torvalds, koordynator projektu jądro Linuksa, opracował tę metodę.

Źródło: hasła w Wikipedii, udostępnione na licencji GNU FDL

POV-Ray 3.6.1

POV-Ray, czyli Persistance of Vision, to jeden z najsłynniejszych programów do renderowania realistycznej grafiki 3D.

Niezwykle zaawansowana aplikacja generuje grafikę na podstawie zamodelowanej sceny z użyciem technik śledzenia promieni (ray-tracing). Technika ta polega - w dużym skrócie - na obliczeniu drogi każdego z promieni światła tworzących finalny obraz (promieni jest tyle, ile pikseli w grafice). Śledzenie odbywa się tu niejako "w drugą stronę" - od obrazu do źródła światła. Ray-tracing pozwala tworzyć bardzo realistyczne obrazy, uwzględniające wzajemne odbicia przedmiotów, załamania światła po przejściu przez szkło i inne przezroczyste obiekty itd. Śledzenie promieni jest wzbogacone o efekty atmosferyczne oraz metodę energetyczną (radiosity), zwiększającą realizm scen ze światłem rozproszonym. Program potrafi także tworzyć grafikę uwzględniającą efekty refrakcji i odbić światła na nierównych powierzchniach (tzw. caustics). Charakterystyczną cechą POV-Ray jest nieudostępnianie narzędzi do modelowania: wszystkie informacje o scenie, która ma być renderowana, zawarte są w pliku tekstowym. Ustawienie obiektów, tekstury, rozmieszczenie świateł opisane jest za pomocą specjalnego języka.

Programowanie grafiki

Dodawanie do sceny podstawowych figur geometrycznych jest banalnie proste, a bardziej złożone obiekty można tworzyć, wykorzystując CSG (Constructive Solid Geometry), czyli łączenie obiektów z użyciem operacji na zbiorach (sumowanie, część wspólna itd.). Pomysł, aby tworzyć grafikę 3D poprzez edycję kodu, może wydawać się dziwaczny, w praktyce jednak zabawa z POV-Ray jest sympatyczna, a uzyskać można naprawdę oryginalne efekty, czego dowodem są rozsiane po całym Internecie galerie prac wykonanych w tym programie. Powstało również kilka aplikacji umożliwiających modelowanie scen do POV-Ray w sposób podobny, jak w innych programach 3D. Do najlepszych należą Moray 3.5 ( http://www.stmuc.com/moray , shareware), YAPRM ( http://yarpm.sourceforge.net , open source), Calimax Modeller (freeware). Jeśli jednak chcesz naprawdę poznać możliwości programu, warto poświęcić nieco czasu na zgłębienie tajników języka opisu sceny. Pierwsze kroki mogą być trudne, radzimy skorzystać z gotowych, prostych przykładów, które pomogą przyzwyczaić się do tworzenia grafiki za pomocą skryptów. Nieco kłopotów sprawiło nam zaliczenie POV-Ray do grupy open source. Licencja na używanie i rozpowszechnianie programu jest nietypowa i skomplikowana, nakłada też pewne ograniczenia w kwestii używania i rozpowszechniania aplikacji.

Informacje http://www.povray.com

Rodzaj grafika 3D

Eclipse 3.0.2

Środowisko programistyczne do budowy aplikacji przede wszystkim w języku Java.

Eclipse to projekt open source, którego zadaniem jest dostarczenie jednego uniwersalnego środowiska projektowego, które może być rozbudowywane i dopasowywane do potrzeb programistów za pomocą wtyczek. W wypadku Eclipse taka modułowa budowa sięga znacznie głębiej, gdyż środowisko projektowe stanowi jedynie szkielet, a wszystkie funkcje użytkowe dostarczane są właśnie przez wtyczki. Środowisko kojarzone jest z Javą po pierwsze dlatego, że zostało napisane właśnie w tym języku, a po drugie, Java Development Tools (JDT), czyli zestaw narzędzi do tworzenia aplikacji w Javie, jest najbardziej popularną wtyczką do Eclipse. Są jednak i inne - np. CDT do tworzenia aplikacji w językach C/C++.

Architektura

Duża elastyczność Eclipse wynika nie tylko z zastosowania wtyczek, ale i specjalnej architektury środowiska projektowego, na którą składają się obszary robocze, przestrzenie projektów, widoki i perspektywy. Taka budowa pozwala środowisku płynnie dopasowywać interfejs użytkownika do specyfiki danego typu dokumentu, języka programowania czy rodzaju wykonywanej operacji. W środowisku Eclipse, a dokładniej wraz z wtyczką JDT, dostajemy bardzo wygodny edytor kodu, wyposażony w prawie wszystkie możliwe funkcje ułatwiające pisanie kodu, minimalizujące liczbę błędów czy automatycznie dopisujące fragmenty kodu, które są znane z komercyjnych środowisk programistycznych. JDT zawiera własny kompilator zgodny z Java Language Specification i nie wymaga do pracy Java SDK - potrzebuje jedynie platformy uruchomieniowej JRE.

Środowisko Eclipse jest dostępne w wielu konfiguracjach (z różnymi wtyczkami), przy czym najszerszą dystrybucją jest Eclipse SDK, oprócz platformy Eclipse oraz JDT zawierający także Plug-in Development Environment (PDE) do tworzenia własnych wtyczek do Eclipse, Rich Client Platform - narzędzia do tworzenia aplikacji umiejących wykorzystać możliwości platform uruchomieniowych, kody źródłowe oraz dokumentację dla użytkowników środowiska i programistów. Wtyczki Eclipse umożliwiają ponadto obsługę protokołu WebDAV oraz systemu kontroli wersji CVS, a także współpracę z Ant oraz narzędziami do testowania kodu.

Eclipse ma ponadto interpreter skryptów, który pozwala wygodnie sterować środowiskiem oraz łatwo i szybko tworzyć nowe wtyczki, które mogą częściowo lub w całości być napisane jako skrypty. Nie ma też problemów z aktualizacją dużej liczby wtyczek, ani też samego środowiska - dbają o to specjalne wtyczki.

Informacje http://www.eclipse.org

Rodzaj środowisko programistyczne


Zobacz również