Jag satt precis och kikade lite på ett exempel på hur man kan bygga ett webbgis i 3D, både miljön som sådan, som interiörer och under mark. Allt med Open Source! Om man kikar på vad Esri håller på med så är det också mycket webbgis, 3D, innomhus och liknande, men vad är skillnaden…?
Du kommer att få jobba lite för att få till ett önskat resultat oavsett vilken lösning du väljer, men det kommer att bli enklare om du väljer den kommersiella lösningen från Esri! Du kommer att få betala ett ganska häftigt pris och inget kommer att ge sig självt, men sannolikheten att du kan klara av det någorlunda själv med stöd av Esri support är hög. Så länge du fortsätter att hålla supportavtal aktiva så kommer du troligen att kunna hålla ditt webbgis uppdaterat och väl integrerat i ditt arbetsflöde.
För resonemanget så avses nu inte att sätta upp en enkel geodatabas, vilket i princip vem som helst kan göra med Postgresql och PostGIS, utan något som helst behov av dyra kommersiella paketlösningar. Nej här avses stora integrerade lösningar med skrivbordsgis, webbgis, 3D, mobilt och kanske även serverbearbetning…
Om du inte tänker på allt i förväg med en kommersiell lösning så kommer det sannolikt att gå att fixa till relativt snabbt i efterhand också, så länge du även är beredd på de kostnader det kan innebära. Att för mig ge ett exempel på vad det skulle kosta för en kommersiell helhetslösning är helt omöjligt! Men om du är ute efter något speciellt så går det att skriva ett avtal med exempelvis Esri där alla åtaganden finns definierade och då kommer det att gå att sätta ett pris på just det du vill ha.
Det är säkerligen inte billigt, men det kommer att finnas ett juridiskt bindande avtal mellan två parter så det gör att det finns en ”trygghet” i att det man beställt verkligen levereras, till den kostnad man kommit överens om. Åtminstone under den tid som avtalet löper…
Men varför inte välja open source om det nu går att nå fram till samma resultat med mjukvara som är gratis?
För det första så måste någon ändå göra jobbet, vilket betyder en kostnad. Antingen så anlitar man en konsult som gör jobbet, eller så anställer man egen personal för att bygga ett skräddarsytt system. Om man väljer en etablerad konsult så kan detta vara minst lika tryggt som att köpa en kommersiell helhetslösning. Ju mindre etablerad konsulten är desto större ”risk” löper man att konsulten försvinner, och om man behöver upphandla en ny konsult så kan det bli problematiskt att ”ta vid” i ett befintligt skräddarsytt system, om man inte varit noga med krav på öppen källkod och dokumentation i upphandlingen.
Skall man gå open source vägen så tycker jag att man måste skaffa sig åtminstone den större delen av kompetensen som krävs ”in house” med anställd personal. Det är en investering i systemet och det blir enklare att sköta löpande underhåll och utveckling efter hand, utan att kostnader för ”tilläggstjänster” behöver bli påtagliga.
Att bygga system på open source betyder också att man inte bara har ett LEGO kit att bygga med, utan att man i en del fall även har delar från BRIO, Hasbro och Jula som man måste få att fungera tillsammans. Med det kommersiella paketet så är alla delar valda för att fungera tillsammans.
Det ”nyckelfärdiga” systemet tror jag sedan är en myt oavsett om man väljer kommersiellt eller open source, men om man börjar från början så är jag ganska säker på att det blir mer jobb med open source, om inte behovet, som nämnts tidigare, är relativt enkel.
I slutändan så handlar valet om ett par enkla saker:
Behovet
Vad har ni egentligen för behov? Är det en enkel lösning med en databas och en enkel webbkarta? Då kanske den kommersiella lösningen blir onödigt dyr. Är det en komplex integrerad lösning med mängder av parametrar att ta hänsyn till? Då kan det mest praktiska valet vara kommersiellt. Behovet är det man alltid skall utgå ifrån. Men i praktiken så finns det alltid sådant som begränsar möjligheterna, oavsett vilket behov man har.
Kostnaden
Oftast det som sätter käppar i hjulet för ett stort behov. Det blir kostnader oavsett vad man väljer! Det man kanske inte tänker på är att kostnader kan förändras med tiden. Vad ingår nu, och vad kommer jag att behöva betala extra för senare. När skall avtal omförhandlas? Tillkommer det kostnader för andra mjukvaror som krävs för att hantera den kommersiella lösningen, exempelvis speciella klientprogramvaror? Går det att växa i lösningen vid behov?
Valfrihet
Betyder valet av lösning en begränsning för framtida val? Går det förhållandevis enkelt att byta ut leverantören av tjänster eller mjukvaror? Innebär en lösning att framtida valfrihet begränsas? Vad gäller för data. Kommer dessa att vara tillgängliga på ett sätt och i format som man har behov av nu, eller i framtiden? Kommer det att vara enkelt att ”migrera” data till en annan lösning? När i framtiden är det rimligt att anta att ett nytt val behöver göras?
Beroende
Vem har kontroll på er GIS-lösning? Om ni inte själva till 100% förlitar er på egen anställd personal, egna servrar och fri eller egenutvecklad mjukvara, så är ni mer eller mindre beroende av andra. Vilken ”risk” är rimlig att ta vägt mot exempelvis kostnader, sekretess och tillgänglighet. Går det att minimera beroenden som skapas av ekonomiska eller praktiska val. Går det att skapa resurser man kan dela på med andra i liknande situation, och som man litar på?
Sammanvägning
Behovet bör alltid vara det som styr, men kostnader blir väldigt ofta gränssättande för vad som är möjligt. I dagsläget så är det även nödvändigt att väga in sekretess och tillgänglighet, och att skapa onödiga beroenden är riktigt korkat. Utöver dessa avvägningar så finns det flera parametrar man måste överväga när man väljer lösning, inte minst kopplat till den verksamhet som man i övrigt tänker bedriva.
Det är sällan så enkelt som man först kanske tror när man börjar planera för ett ”nytt” GIS-system. Det är servrar, databaser och klientprogram. Systemen skall skötas och installeras, användare skall utbildas, datatillgänglighet skall säkerställas, med mera. Vad händer om strömmen går? Brand? Stöld?
Om man nu sitter med en kommersiell lösning och funderar på Open Source så skulle jag rekommendera några saker:
- Se till att skaffa kompetens internt! Förlita er inte enbart på konsulter.
- Börja smått! Försök inte att göra allt på en gång. Analysera vad som är lämpligt att börja med och gör en sak i taget. Den befintliga lösningen kan säkert användas lite till…
- Lyssna inte bara på tekniker! Se till att användare och driftpersonal har lika mycket inflytande över beslut som behöver fattas. Ingen skall behöva bli förvånad eller förtvivlad när en förändring sker.
- Gör det tydligt för ALLA inblandade VARFÖR förändringen görs. Säkerställ att det finns en acceptans för detta så att alla kan jobba mot ett gemensamt mål utifrån sitt perspektiv.