EEN A LTE R N ATI E F O F CO N C U R R E N T ? De Open Source GIS wereld Open Source Software (OSS), software waarvan de broncode beschikbaar is, staat erg in de belangstelling. Bij (overheids-)organisaties wordt er al volop mee gewerkt, of het nu gaat om de inzet van het besturingssysteem Linux of de toepassing van de Apache web-server. Hoe staat het nu met OSS in de geo-informatie sector? Welke programmatuur is er op de markt? De Open Source GIS markt is volwassen geworden en de inzet van OSS bij organisaties neemt toe, waarbij zakelijke overwegingen de hoofdrol spelen. D e volwassenheid van zowel OSS als commerciële software kan worden vergeleken met een keukenkruk met drie poten: juridische aspecten, technologie en organisatie. Als één van de drie poten los zit kun je er niet op zitten. De continuïteit van een product is gewaarborgd als de juridische aspecten, de technologie en de organisatie een solide structuur vormen. Juridische stabiliteit voor een niet-jurist betekent onder meer: hoe staat het met aansprakelijkheid? Krijg ik als gebruiker problemen als ik met bepaalde Open Source software in zee ga? De technologie gaat uiteraard over programmeertalen en standaard-bibliotheken, maar ook over de adoptie van open standaarden zoals bijvoorbeeld XML, met name de Geography Markup Language (GML). De organisatie heeft betrekking op de communities, de gemeenschappen op internet rondom een bepaald product. Wie zijn er actief? Hoe wordt er gecommuniceerd? Hoe komen beslissingen tot stand? Hoe actief is de gemeenschap en hoe is de continuïteit gewaarborgd? 248 Wat is Open Source? G eo -I nformatie N ederland Het begrip Open Source Software (OSS) wordt nogal eens verward met de termen freeware en shareware. Die verwarring is begrijpelijk, want in alle gevallen betreft het gratis producten. Hier houdt de overeenkomst meteen op. Bij shareware en freeware is de broncode niet beschikbaar. Anderen kunnen de broncode dus niet aanpassen. Ook is het verder distribueren van de software niet toegestaan. Daarnaast kent shareware software een begrensde functionaliteit die pas na overmaking van een geldbedrag volledig beschikbaar komt. Bij Open Source software (ook wel free software genoemd) gaat het om vrijheid: de vrijheid om de broncode te distribueren en om aanpassingen te maken. Dit wordt vastgelegd in de licentie. In het spectrum van de Open Source software licenties zijn er twee uitersten: de Berkeley Software Distribution (BSD) en de General Public License (GPL). GEO-INFO 2005-5 Wim de Haas, Adviesdienst Geo-informatie en ICT van Rijkswaterstaat en Bart van den Eijnden, Syncera IT Solutions (tot 1 april: Geodan IT) Toepassing Voor beide licenties geldt, dat je de software krijgt met de broncode maar zonder garantie. De BSD zegt dat je er alles mee mag doen: aanpassingen verrichten, een strik omheen doen en het voor veel geld doorverkopen als ‘closed source’ of weggeven. De enige voorwaarde is vermelding van de auteursrechthebbende(n) en van het feit dat Open Source software-componenten zijn gebruikt. De GPL daarentegen is zeer strikt: eenmaal Open Source, altijd Open Source. Dit houdt in, dat de oorspronkelijke broncode en de eigen toevoegingen automatisch weer onder de GPL-licentie dienen te worden verspreid. In de juridische literatuur worden deze twee uitersten ook wel aangeduid als copyleft (GPL) en non-copyleft (BSD). Andere bekende licenties zijn de Apache Software Foundation (ASF), de Mozilla Public License (MPL) en de Creative Commons License. Risico’s Veel potentiële gebruikers van Open Source software zien juridische onzekerheden die de introductie in de weg zouden staan. Vaak wordt dan verwezen naar de vergaande aansprakelijkheidsuitsluiting in geval van geconstateerde fouten. Dit is niet verwonderlijk bij software die gratis wordt aangeboden. Bij de meeste gesloten software geldt echter ook, dat de garantie beperkt blijft tot de aanschafwaarde van de software. Met de wetenschap dat de implementatiekosten de aanschafkosten vele malen overstijgen, krijgt dit argument dus minder betekenis. Aanvullende garantie kan wel worden verkregen door bijvoorbeeld een Service Level Agreement (SLA) af te sluiten met een implementatiepartij. Hiermee lijkt Open Source software al weer wat meer op commerciële software. Een tweede risico dat vaak wordt genoemd, is dat de gebruiker kan worden aangesproken op grond van inbreuk op intellectuele eigendomsrechten. Er is echter niets nieuws onder de zon: dezelfde claims kunnen gedaan worden op onderdelen van commerciële software. Ook hier kan de gebruiker door een SLA het risico afdekken. Daarnaast bestaat de mogelijkheid om uitsluitend software te betrekken van een gemeenschap die zich heeft verenigd tot een stichting die namens de gemeenschap mag spreken. De bekendste van deze stichtingen is wellicht de Apache Software Foundation. Technologie Veel Open Source projecten zijn een intelligente verzameling van andere Open Source bibliotheken. Dit geldt ook voor de Open Source GIS-wereld. De Open Source GIS-wereld is grofweg op te delen naar de gebruikte programmeertalen: C en Java. UMN Mapserver is een goed voorbeeld van een C-project en Geoserver is een voorbeeld van zo’n Java-project. In deze paragraaf wordt een categorische indeling behandeld van de beschikbare Open Source GISprojecten, waaronder ruimtelijke databases, bibliotheken, toolkits, desktop clients, webservices en internet clients. Zie ook het door Paul Ramsey opgestelde overzicht [Ramsey, 2005]. Naam Taal Ruimtelijke databases Licentie Website PostGIS C GPL postgis.refractions.net Spatial DB in a Box Java LGPL docs.codehaus.org/display/GEOS/spatialDBbox MySQL C/C++ GPL www.mysql.com Bibliotheken Geotools Java LGPL www.geotools.org Java Topology Suite (JTS) Java LGPL www.vividsolutions.com/jts GDAL/OGR C++ MIT www.gdal.org PROJ.4 C MIT-style proj.maptools.org nvt nvt fwtools.maptools.org uDIG Java GPL udig.refractions.net OpenEV C/Python LGPL openev.sourceforge.net Quantum GIS (QGIS) C++ GPL qgis.sourceforge.net OSSIM C++ GPL www.ossim.org Grass C GPL grass.itc.it Thuban Python GPL thuban.intevation.org JUMP Java LGPL www.jump-project.org Java Toolkits FWTools Desktop clients Web services Geoserver GPL geoserver.sourceforge.net UMN Mapserver C MIT-style mapserver.gis.umn.edu Deegree Java GPL deegree.sourceforge.net GeoNetwork Java LGPL sourceforge.net/projects/geonetwork Chameleon PHP MIT-style chameleon.maptools.org Community Mapbuilder Javascript GPL mapbuilder.sourceforge.net 249 Internet clients Mapbender PHP GPL www.mapbender.org Deegree iGeoportal Java GPL deegree.sourceforge.net Intermap Java LGPL sourceforge.net/projects/intermap Tabel 1. Overzicht van Open Source GIS. In de commerciële GIS-wereld is Oracle Spatial een voorbeeld van een ruimtelijke database. In de OSS-wereld wordt meestal gekozen voor PostGIS. Dit is gebaseerd op de Open Source database PostgreSQL, een zeer volwassen database-systeem. Andere OSS-alternatieven zijn “Spatial DB in a Box” en MySQL Spatial Extensions. Deze uitbreiding van de MySQL 4.1 database maakt het mogelijk om geografische structuren op te slaan in een database [Ramsey, 2003]. Ook kunnen ruimtelijke vragen worden uitgevoerd met behulp van SQL. Bibliotheken zijn de generieke bouwstenen voor GIS-producten. Deze bibliotheken worden vaak in meerdere Open Source GIS-producten gebruikt en soms zelfs in commerciële GIS-producten. Om de functionaliteit ook beschikbaar te stellen voor gebruikers met weinig kennis van programmeren, zijn sommige bibliotheken gebundeld in een toolkit. Frank Warmerdam distribueert een GIS-toolkit genaamd FWTools, te vinden op fwtools.maptools.org. Gebruikers kunnen hiermee bijvoorbeeld snel diverse vector- en rasterbestanden converteren en de projectie ervan veranderen. GEO-INFO 2005-5 Naast deze toolkits bestaan er ook Open Source desktop GIS-pakketten. De bekendste is GRASS. In een hedendaagse GIS-architectuur vormen web-services een belangrijk onderdeel. Vaak zijn web-services een implementatie van een OGC-standaard, zoals WMS (Web Map Service), WFS (Web Feature Service) of WCS (Web Coverage Service). In de commerciële GIS-wereld kun je hier denken aan Ionic RedSpider en ESRI’s ArcIMS uitgerust met de OGCschillen. Overzicht UMN Mapserver bibliotheken. 250 UMN Mapserver bestaat sinds 1994, en is oorspronkelijk opgericht door de University of Minnesota (UMN). De UMN Mapserver is een Web Map Service, eenvoudig gezegd een kaartgenerator voor het internet. In 1999 heeft de UMN gezelschap gekregen van het Canadese bedrijf DM Solutions Group. Ook de Canadees Frank Warmerdam, een bekend Open Source GIS-freelancer en specialist op het gebied van bestandsformaten, is een actieve ontwikkelaar van Mapserver. Warmerdam wordt ook door commerciële bedrijven zoals Safe Software ingehuurd, en zijn bibliotheken voor het lezen en schrijven van geografische bestandsformaten worden zelfs door een aantal commerciële pakketten gebruikt. Voor UMN Mapserver kan, net als voor bijvoorbeeld Linux, commerciële ondersteuning ingekocht worden. Overzicht van de Geoserver bibliotheken. Geoserver is ontwikkeld door The Open Planning Project (TOPP), een Amerikaanse non-profit organisatie. Het is een Java implementatie (J2EE) van de Web Feature Server met ondersteuning voor transacties, en is door het OGC tot reference implementation benoemd. Financiële bijdragen zijn er vanuit de Verenigde Staten, Canada en Australië. G eo -I nformatie N ederland Onder een internet-client wordt hier verstaan een GIS-component die in een browser kan functioneren. In sommige gevallen betreft dit een clientside implementatie zoals javascript, echter in de meeste gevallen is er ook een achterliggende servertechnologie benodigd zoals PHP. Communities Geoservices Mapviewer is een Open Source Internet client-applicatie ontwikkeld voor RWS-AGI. GEO-INFO 2005-5 Een sleutelfactor voor elk Open Source project is de community, de gemeenschap. Bij een Open Source ge- meenschap kan vaak onderscheid gemaakt worden tussen een ontwikkelaarsgemeenschap en een gebruikersgemeenschap. Natuurlijk bestaat er ook overlap tussen beide gemeenschappen, aangezien veel ontwikkelaars behoren tot de groep van geavanceerde gebruikers. Het opbouwen van een stabiele gemeenschap kost veel tijd. Als voorbeeld van een Open Source GIS-gemeenschap wordt hier de UMN Mapserver-gemeenschap beschreven, aangezien dit een zeer volwassen en relatief lang bestaande gemeenschap is. In een artikel dat in 2000 verscheen van de hand van Eric Raymond onder de titel “The cathedral and the bazaar”, vergelijkt de auteur de meer traditionele manier van software-ontwikkeling met de open source software-ontwikkeling [Raymond, 2000]. Hij beschrijft een centrale aanpak waarin ontwikkelteams in volledige rust ongestoord werken aan de versie 1.0 van het te bouwen product en noemt dat “cathedral-building”. Open Source software daarentegen kenmerkt zich juist door de mix van verschillende doelen, agenda’s en stijlen: op het eerste gezicht inderdaad een Oosterse bazaar. Een organisatie die aan de slag wil met OSS zal daarom ook advies inwinnen en ook de implementatie overlaten aan specialisten met kennis van die ‘bazaar’. Het is ook vaak de ‘Business Case’ voor dienstverlenende bedrijven: zij verdienen aan de consultancy, niet aan de verkoop van licenties. Bij UMN Mapserver wordt de gebruikersgemeenschap vooral gevoed door een e-maillijst. Deze lijst genereert ongeveer vijftig tot honderd e-mails per dag, voor een beginnende gebruiker vaak overweldigend. Toch blijven er maar weinig vragen onbeantwoord en is ondersteuning vaak beter en sneller dan bij commerciële equivalenten. Ook vindt er interactie tussen de gebruikers- en de ontwikkelaarsgemeenschap plaats via het Bugzilla-systeem, waar gebruikers fouten in de software kunnen rapporteren of wensen kunnen registreren. Als we bovenstaande en andere observaties van Raymond spiegelen aan de UMN Mapserver community zien we de volgende punten naar voren komen. Er wordt gebruik gemaakt van verschillende onderdelen, de componenten, die elk met een eigen snelheid worden ontwikkeld. Op de bazaar loopt iedereen door elkaar: ontwikkelaars, gebruikers en opdrachtgevers. De ontwikkelaarsgemeenschap van UMN Mapserver is een stuk beperkter in omvang. Ook hier vindt de meeste communicatie plaats via een e-maillijst en Bugzilla. Het is de gewoonte om voor elke grote verandering in de broncode Bugzilla te gebruiken, zodat de ontwikkelaars over specifieke functionaliteit kunnen discussiëren. Ook kan er per fout in de software aangegeven worden wie verantwoordelijk is voor het oplossen van de fout en voor welke release de oplossing gepland is. De UMN Mapserver broncode is toegankelijk. Echter, er is slechts een beperkt aantal ontwikkelaars dat echt wijzigingen kan aanbrengen. Zo kunnen alle wijzigingen altijd herleid worden tot één van deze ontwikkelaars. Beslissingen binnen UMN Mapserver worden genomen door consensus onder de drie hoofdontwikkelaars, Steve Lime, Daniel Morissette en Frank Warmerdam. Voorwaarde voor het ontwikkelen aan UMN Mapserver is dat er een actieve ondersteuning van de geleverde broncode is in de komende jaren, wat de duurzaamheid van het project ten goede komt. Net als bij ieder Open Source project is er ook bij UMN MapServer een groep mensen die beslist over het uitbrengen van een volgende versie. De leden van deze groep zijn gekozen op basis van hun bijdrage aan de community en hun gezag. Zij dragen in belangrijke mate bij aan de stabiliteit en de continuiteit van de community. Dat dit geen vanzelfsprekendheid is blijkt uit het voorbeeld van ‘De Emacs’ community waarbinnen één persoon zich opwierp als de enige beslisser. Het democratisch gehalte en de transparantie hadden stalinistische trekken gekregen en daar bleken de ontwikkelaars en gebruikers niet van gediend. Die liepen uit onvrede weg en richtten een nieuw project op. Communities zijn dus zeer platte organisaties met een eigen dynamiek. Het is ook misschien wel daarom dat met name overheidsorganisaties terughoudend zijn met de inzet van open source producten. Het is voor een manager in een sterk hiërarchisch ingerichte organisatie een hele spagaat om te accepteren dat ontwikkelingen gestuurd worden door een community die wars is van bazen. Voor je het weet, loopt iedereen weg! Een laatste observatie over de UMN Mapserver community betreft het principe van de collegiale review, de “peer review”. Iedereen kan de broncode beoordelen. Dit is een standaardprocedure binnen elke professionele organisatie, commercieel of niet. Het verschil is echter dat door internet de reikwijdte van de peer review de hele wereld is geworden. Raymond noemt dat met gevoel voor dramatiek “the collective IQ of thousands of people”, die allemaal vanuit verschillende rollen meewerken aan een project. Open source en open standaarden Open Source en open standaarden worden nogal eens met elkaar verward, hoewel het verschillende onderwerGEO-INFO 2005-5 251 pen zijn. Er is echter wel een correlatie tussen Open Source GIS en open standaarden. Open Source GIS-software implementeert vaak open standaarden, zoals de standaarden van het Open Geospatial Consortium (OGC). Regelmatig loopt Open Source GIS-software daarin zelfs voorop: • het is in het belang van Open Source GIS-pakketten om met zoveel mogelijk andere pakketten bestandsformaten en gegevens te kunnen uitwisselen; • door open standaarden te implementeren in de eigen software zal het potentieel gebruik van de Open Source software vergroot worden. Daarnaast wordt de ontwikkeling van Open Source GIS-pakketten vaak opgestart zonder native interface (API). In de zoektocht naar een interface stuit men al gauw op open standaarden. Het gebruik van open standaarden voorkomt ook discussie tussen ontwikkelaars en kan een grote groep ontwikkelaars aan elkaar binden. De wetenschap dat de open standaarden het product zijn van de samenwerking van verschillende partijen draagt bij aan de acceptatie van de open standaarden. Twee OSS-projecten zijn benoemd tot reference implementation voor een OGC-standaard: Deegree voor WMS en CS-W, en Geoserver voor WFS. Beide projecten maakten al veelvuldig gebruik van OGC-standaarden voordat ze tot reference implementation uitgeroepen werden. Echter, het feit dat ze de reference implementation zijn, kan het gebruik van deze software wel stimuleren. Uit onderzoek is ook gebleken dat er meer acceptatie is voor een open standaard, wanneer er een Open Source implementatie van die standaard beschikbaar is. 252 De keuze voor Open Source GIS G eo -I nformatie N ederland Het tijdperk waarin OSS geassocieerd werd met ‘liefdewerk oud papier’ ligt reeds ver achter ons. Bedrijven als IBM en RedHat dragen actief bij aan de Open Source gemeenschap, niet uit een filantropische instelling, maar vanuit een business model waarin het draait om services en niet om producten [Spolsky 2002]. IBM Global Services verdient aan de verkoop van diensten op software die gratis wordt aangeboden. In de Open Source GIS-wereld zijn voorbeelden van deze bedrijven: DM Solutions Group en Refractions Research. Zij hanteren vaak het uitgangspunt, dat aangezien zij het beste thuis zijn in de software, zij het goedkoopst en meest vakbekwaam aanpassingen en uitbreidingen kunnen doen aan de software. Tussen partijen in de private en overheidsmarkt en bovengenoemde partijen is er vaak een schakel benodigd. Hierbij dient dan gedacht te worden aan ondersteunende activiteiten zoals compilatie en installatie van software, het overnemen van risico’s door het afsluiten van SLA’s, en het integreren van verschillende Open Source GIS-componenten tot een werkend systeem. Conclusies Open Source software wordt al veel gebruikt binnen organisaties, denk aan het gebruik van Linux en Apache. Het Open GEO-INFO 2005-5 Source GIS-landschap is de afgelopen jaren flink gegroeid, maar het uiteindelijke doel is natuurlijk niet kwantiteit maar kwaliteit. Voor elke component is er vaak wel de keuze uit meerdere opties. Door middel van evolutie zullen de beste Open Source GIS-pakketten komen bovendrijven, en het is hiervoor niet nodig dat de overkoepelende ontwikkelaarsgemeenschap bepaalde pakketten gaat aanwijzen en daar massaal aan gaat ontwikkelen. Veel pakketten zijn inmiddels volwassen, er zijn er echter ook talloze die nog in de kinderschoenen staan en waarvan het potentieel te betwijfelen valt. Over de juridische aspecten van het gebruik van open source software kan gesteld worden dat die vergelijkbaar zijn met commerciële software. Zowel aansprakelijkheid bij fouten als aanspraken op intellectuele eigendomsrechten zijn geïdentificeerde risico’s die met beheersmaatregelen kunnen worden afgedekt. Zonder kennis van de markt, in dit geval de bazaar, is het moeilijk om de juiste keuze voor een een bepaald OSS-product te maken. Toch kan op grond van de combinatie van community-vorming, technologie en juridische stabiliteit een verantwoorde keuze worden gemaakt. Als we een blik werpen op de categorische uiteenzetting van Open Source GIS-software in dit artikel, dan kan er gesteld worden dat er enkele paarden zijn waarop een organisatie het beste zijn geld kan zetten. Zo kan PostGIS inmiddels gezien worden als een zeer volwassen ruimtelijke database gebaseerd op open standaarden, met een redelijk grote gebruikersgroep, en een actieve ontwikkeling. UMN Mapserver was al in zijn begintijd een onvoorstelbaar (snel) software-pakket, en nog immer is dit een erg degelijke en bewezen component voor een Web-GISsysteem. De sterkste kant van UMN Mapserver is en blijft het maken van plaatjes (WMS). Van alle communities is UMN Mapserver veruit de meest omvangrijke. Geoserver is goed op weg om de beste keuze te worden wanneer een transactionele WFS (Web Feature Service) benodigd is, waarbij wel opgemerkt dient te worden dat Geoserver een stuk beter op PostGIS aansluit dan op Oracle of ArcSDE. In de wereld van de internet-GIS-clients is het heel lastig een voorspelling te doen. Het product Chameleon is een goede keuze. In de desktop GIS-markt lijkt uDIG, alhoewel het nog niet eens gereleased is, een goede kans te maken gezien de gedegen opzet, waarbij lokale data gecombineerd kan worden met data verkregen vanuit OGC webservices. Open Source software en open standaarden hebben beide profijt van elkaar. Open standaarden stellen de software in staat te kunnen uitwisselen met zoveel mogelijk andere componenten. ■ Literatuur • Cubranic, D. Open-source software development, 1999, sern.ucalgary.ca/ ~maurer/ICSE99WS/Submissions/ Cubranic/Cubranic.htm. • Ramsey, P. MySQL 4.1 GIS Functionality, 2003. postgis.refractions.net/pipermail/ postgis-users/2003-June/002651.html • Ramsey, P., State of Open Source GIS, 2005, www.refractions.net/white papers/ 2005-02-OSS-Briefing.pdf. • Raymond, E., The Cathedral and the Bazaar, 2000, www.catb.org/~esr/ writings/cathedral-bazaar/ • Spolsky, J., Strategy Letter V, 2002, www.joelonsoftware.com/articles/ StrategyLetterV.html Samenvatting De Open Source GIS-wereld Open Source strekt verder dan het Linux-besturingssysteem en de Apache web-server. Ook op het gebied van GIS is Open Source software de laatste jaren volwassen geworden. In dit artikel bespreken de auteurs de juridische aspecten, technologie en organisatie die een verantwoorde keuze voor Open Source GIS mogelijk maken. Zij leggen uit wat Open Source software is en geven een overzicht van de verschillende producten die beschikbaar zijn. Aan de hand van UMN Mapserver wordt verteld hoe Open Source GIS wordt ontwikkeld. Bovendien wordt kort ingegaan op open standaarden in relatie tot Open Source software. TREFWOORDEN GIS-technologie, programmatuur, overzicht Summary The Open Source GIS World Open Source reaches beyond the Linux operating system and the Apache web server. Over the last years Open Source software has also reached significant maturity in the field of GIS. In this article, the authors describe legal aspects, technology and the organisation that enable a responsible choice for Open Source GIS. They explain what Open Source software is and provide an overview of available products. Based on the UMN Mapserver they tell how Open Source GIS is developed. Furthermore, the article shortly focuses on open standards in relation to Open Source software. 253 KEYWORDS GIS-technology, software, survey LAGE LANDEN Eindelijk. Eindelijk krijgen we de paaltjes en bordjes waar ik altijd naar heb verlangd, al realiseer ik me dat pas nu ze er komen. Hoe diep, laag, hol en neder ons land overal is, hoever we onder de zeespiegel liggen (…) Het zou me trouwens niet verbazen als het allemaal bedacht was om de landmeterij weer wat impulsen te geven. Dat beroep kwijnt nogal, hoor ik, terwijl het toch zo mooi mysterieus is. Ik hoop dat de bedreigde landmeters binnenkort weer in het landschap uitgezet worden. Rob Schouten in Trouw, 18 maart 2005. GEO-INFO 2005-5