Produktív környezetben használt nyílt forráskódú komplex térinformatikai megoldások

Szerző: 
Siki Zoltán

Az interneten nap mint nap újabb nyíltforrású programok jelennek meg. Az internet természetéből következően nem lehet korlátozni, hogy csak profi, jól tesztelt megoldásokat találjunk. Ezzel a cikkel segítséget szeretnénk nyújtani azoknak akik a térinformatika területén szeretnének nyíltforrású programokat alkalmazni.

Talán még nem mindenki számára ismert a nyíltforrású programok illetve azok fejlesztőinek koncepciója. Richard M. Stallman ezt négy szintre bontotta:

0. A program futtatása tetszőleges célból

1. A program működésének tanulmányozása és adaptálása az igényeinknek megfelelően (forráskód szükséges)

2. A program továbbadásának szabadsága

3. A program továbbfejlesztési lehetősége és a fejlesztések visszajuttatása a fejlesztői és felhasználói közösségnek (forráskód szükséges)

A 0. és 3. szint feltételének az ingyenes (zárt forráskódú) szoftverek is megfelelnek. Ilyeneket a térinformatika területén is találhatunk, melyeket a kereskedelmi szoftverek fejlesztői készítenek elsősorban a térinformatikai adatok megjelenítésére és lekérdezésére. A 2. és 4. szint feltételeit is teljesítő nyíltforrású programok sokkal nagyobb szabadságot biztosítanak a felhasználónak. A nyíltforrású programok a programozás szélesebb körű elterjedésével egyidősek. A 70-s 80-s években úgy nevezett Public Domain programokat tettek közzé. Ezeket elsősorban egyetemeken illetve állami finanszírozású projektekben hozták létre. A programok felhasználására és továbbfejlesztésére semmiféle korlátozás nem volt, így lehetőséget adtak akár arra is, hogy továbbfejlesztve vagy más szoftverekbe beépítve bezárják a kódot. Ez ellentétben állt a programfejlesztők céljával, ezért a nyíltforrású programok készítői napjainkban különböző licenceket alatt bocsájtják ki programjaikat (pl. BSD, LGPL, GPL). Manapság a GPL (GNU Generic Public License) a legelterjedtebben használt licenc, mely nyíltforrású programokra vonatkozó négy szintre bontott szabadságot biztosítja, és egyben védelmet is nyújt az ellen, hogy a továbbfejlesztett forrást zárt kódúvá tegyék. A GNU projekt 1984-ben indult és nyíltforrású operációs rendszer létrehozását célozták meg. Saját kernelt nem készítettek, hanem Linus Torvalds által kifejlesztett Linux kernelt használják. A GNU projekt már 25 éves lett erre az alkalomra egy köszöntőt készítettek, mely a http://www.gnu.org/fry/happy-birthday-to-gnu.html címen megtekinthető. Sok nyiltforrású program gyökerei egy egyetemi vagy állami kutatóhelyhez nyúlnak vissza. Napjainkban a nyíltforrású programokat a világ különböző részén található önkéntesek fejlesztik akiket az internet köt össze. A fejlesztők, dokumentáció készítők és a különböző nyelvi verziók készítői mellett a felhasználók is a közösség tagjai. A felhasználók közvetlen kapcsolatba kerülhetnek a fejlesztőkkel, a megfogalmazott fejlesztési igények akár napok alatt bekerülhetnek a programokba. Ezeket a nagy közösségeket internetes portálok, wiki oldalak, levelező listák kapcsolják össze. A közösségek alapítványokat, non-profit szervezeteket hoztak létre a fejlesztéseik pénzügyi támogatásához. Az FSF (Free Software Foundation) 1985-ben jött létre. Számos kiemelkedő nyíltforrású fejlesztést támogatnak. A http://www.fsf.hu oldalról ezen programok magyar nyelvi verzióit bárki letöltheti (pl. OpenOffice, FireFox, Thunderbird, Gimp).

Az interneten elérhető nyíltforrású fejlesztések száma óriási. Például az egyik legnagyobb ilyen gyűjtőhelyen, a http://sourceforge.net portálon több mint 150 ezer projekt található (2009. január). A GIS kulcsszóra keresés 233 projektet talált. Ezek közül a választás nem egyszerű. Melyik az a projekt, amely stabil terméket ad és fejlesztése hosszú távon biztosított? Ezekre a kérdésekre az interneten kitartó kutatás során, angol nyelvtudással, bárki választ kaphat, de a szoftverek közötti választásra több segítséget kaphatunk néhány web oldalon mint például a http://www.osgeo.org, http://www.freegis.org vagy a http://www.agt.bme.hu/gis oldalakon.

A nyíltforrású térinformatikai fejlesztések támogatására 2006 februárjában jött létre az OSGeo (Open Source Geospatial Foundation) alapítvány. Ez az alapítvány FOSS4G névvel évente nagy konferenciákat szerveznek. A legközelebbit 2009. november 17-21 között Sydney-ben tartják. Az OSGeo a nyíltforrású fejlesztések közül a megfelelően stabil, aktív fejlesztői és felhasználói közösséggel rendelkezőket választják ki, és támogatják azokat. A támogatott projektek közé bekerüléshez egy úgynevezett inkubátorban eltöltött idő alatt vizsgálják a szoftver megfelelőség. Ezt az elismerést kivívó fejlesztések kivétel nélkül stabilak és produktív környezetekben is alkalmazhatók. A nyíltforráskódú programok fejlesztése manapság kikerül az egyetemi, kutatói környezetekből. A fejlesztő csapatok tagjai nem köthetők egy földrajzi helyhez. Számos céget alapítottak, melyek a nyíltforrású rendszerek fejlesztésében részt vesznek és üzleti alapú támogatást biztosítanak a rendszerekhez (pl. DM Solution), sőt üzleti modelleket is kidolgoztak az nyíltforrású megoldásokra alapozva. A Linux kernel és a GNU/Linux operációs rendszer megjelenése (1991) nagy lökést adott a nyíltforrású fejlesztéseknek.

A nyíltforrású szoftverek alkalmazásának előnyei a rövidebb fejlesztési ciklusokban, a nyitottságban, a nagyobb rugalmasságban és az egymásra épülő projektek eredményeinek hasznosításában találhatók. Az egymásra épülő projektek a párhuzamosan folyó fejlesztéseket szükségtelenné teszik. Szinte valamennyi térinformatikai, a végfelhasználók számára használható projekt tartalmazza a GDAL, a PROJ4 és a GEOS/JTS könyvtárakat. A fejlesztések nyitott szabványokra épülnek, ezzel növelve a felhasználók szabadságát. A fejlesztési és hibajavítási mechanizmus rugalmasabb mint a zárt kódú szoftvereknél. A felhasználói közösség tagjai (ha sikerül a nyelvi nehézségeket leküzdeni) közvetlenül kapcsolatba kerülhetnek egymással és akár a fejlesztőkkel is az interneten keresztül. Emellett nem elhanyagolható, hogy a projektek mellett nagy, elsősorban angol nyelvű közösségi oldalak alakultak ki. A levelező listákon néhány órán belül választ kaphatunk a kérdésünkre. Azonban mielőtt kérdésünket a levelező listára beküldenénk, célszerű az archívumban keresni, mert nagyon sokszor már más is feltette ugyanezt a kérdést. A nyíltforrású fejlesztések elterjedését sokáig gátolta az átlagos felhasználók idegenkedése a Linux operációs rendszertől. Ezt a fejlesztő csapatok azzal orvosolják, hogy Windows és OSX operációs rendszereken is támogatják a fejlesztéseiket, és egyszerű telepítő programokat készítenek a felhasználók részére.

Egy az OSGeo által támogatott projektek felhasználásával komplex térinformatikai megoldásokat alakítottam ki, melyet a BME-n és több önkormányzatnál üzemeltetek. A megoldás kiegészül olyan nem kimondottan térinformatikai szoftverrel mint az Apache web szerver és a PostgreSQL relációs PostGIS téradat szerverben tárolt adatok megjelenítésére szolgáló program volt. Napjainkra a raszteres és vektoros térinformatikai adatok megjelenítése mellett az adatok szerkesztésére és elemzésére isalkalmas. Számos kiegészítő modult készítettek, többek között a GRASS program funkcionalitásának eléréséhez, DXF állományok betöltésére, navigációs GPS adatok kezelésére.