Insidan av ett Open Source projekt. Nicklas Avén

Relevanta dokument
Versionshantering. Problem som uppstår i större (samt även mindre) projekt:

Varningssystem byggt på öppna källkodskomponenter Magnus Runesson SMHI

Stöd vid genomförande av GIS-projekt Innehåll

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10

Trimble Communication Network Release notes Page 1

Trimble Communication Network Release notes Page 1

SharpMap. GIS-komponenter för.net

Trimble Communication Network Release notes Page 1

Introduktion till git

Installation och konfiguration av klientprogramvara 2c8 Modeling Tool

RFC 6106-stöd i Router Advertisment-klienten radns. Michael Cardell Widerkrantz mc@hack.org

Installationsanvisning. Dokumenttyp Installationsanvisning Område Boss med delad databas

Sammanträdesdatum Utredning om möjligheterna att införa Open Sourceprogram i kommunens datorer

Användande av QGIS i Kristianstads kommun

Slutrapport för JMDB.COM. Johan Wibjer

Lantmäteriets WMS En presentation av de olika komponenterna i plattformen och hur öppen källkod påverkar vår arbetsmetodik

Eva Hellstöm - Christina Strand

Open Source - Program och hur man väljer

Frågor och svar om ArcGIS Pro Licensiering

Införande av QGIS som GIS-plattform i Kristianstads kommun

Kom igång med Topocad ArcGIS

CVS-Introduktion. CyberRymden Introduktion till CVS,17 november (27) Marcus Rejås

Stöd vid genomförande av GIS-projekt

FOSS4G Denver 2011 Peking 2012

OBS! Figuren visar inte alla aspekter och objekt som är inblandade i säkerhetssystemet.

Esri Sverige Underhåll och Support

Opensource och SGUs webbplattform. Anette Lundberg & Jonas Holmberg

TIDOMAT Portal Nyheter för TIDOMAT Portal version 1.3.1

Vad är PostGIS? Hmm, PreGIS måste vara papperskartor..., men vad är PostGIS...?

Sustainable engineering and design. Prestanda i karttjänster

Trimble Communication Network Release notes Page 1

ULI inbjuder till seminariet Open Source för GIS 6-7 mars 2012 i Stockholm

McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0

Kapitel 4 Arkivmenyn Innehåll

open Opensource Oberoende av leverantör Samverkan Dela utvecklingsresultat Kontroll över utveckling Inga licenskostnader Uppfinn inte hjulet igen

Microsoft.NET Version Http Activation MapGuide Open source (installerad på en webbserver, tillgänglig utanför brandväggen) Web Deploy 3.

Unix-miljöer i större sammanhang

GIS och SGU. Jonas Holmberg & Johan Olsson

QGIS Utbildning med SamGIS Z-län

OS Desktop GIS inom högre utbildning

Federerad Roll Administration ÄR GROUPER EN MEDSPELARE? OVE OLANDER MITTUNIVERSITETET

Continuous Integration med Jenkins. Linus Tolke Enea Experts

(7) Neptune Version release information. Copyright Visma. Med ensamrätt.

LITE KUNSKAP GÖR MYCKET NYTTA

emopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)

Programvaror - Jo, tack, det vill vi ha...

DI Studio nyheter

Funktionskontroll för vinterväghållning. Open Source för GIS

Post Mortem för Get The Treasure!

Laboration i datateknik

Priskamp. En prisjämförelsesite Björn Larsson

Administrationsmanual ImageBank 2

Stöd vid genomförande av GIS-projekt Goda exempel - Karttjänster Innehåll

Uppdatera Mobilus Professional till version * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Avslutning. Kapitel Komprimering av filer

Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Teknisk kravspecifikation för nytt Omsorgs system

Innehållsförteckning. Användarmanual för Lockbee Backup Databas 2009

GYMKEEPER ANDREAS SÖDERSTRÖM

LEX INSTRUKTION REPLIKERING UPPGRADERING

Jobbar på SB Skog I Norge Jobbar framförallt med logistik kring export på båt. Kvällar och helger (utan inbördes ordning)

Att uppgradera från Informix 7.31 och kanske lite annat. Johan Backlund

Storegate Pro Backup. Innehåll

Programvarudesign för samarbete. Mötesplats Open Access Urban Andersson, Göteborgs UB Peter Hansson, Chalmers bibliotek

Heartbleed. Lite smått och gott om heartbleedbuggen. Robert Malmgren

Din guide till. Teknisk Specifikation Säljstöd

Skapa din egen MediaWiki

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

Importera och använda en textdatabas i Excel

Kunskapsbank ICARUS DB

Svenska Linuxföreningen. Fri programvara Mycket mer än bara gratis 1(29)

KAP 18 SQL SERVER AGENT

Så funkar det! SDI i praktiken. GeoInfo 2011, Uppsala

Postens GIS-miljö och Open Source 9/3 2010

Installation/uppdatering av Hogia Personal fr.o.m. version 13.1

Tekis-FB Systemkrav

Slutrapport YUNSIT.se Portfolio/blogg

Hip Hip hora Ämne: Film Namn: Agnes Olofsson Handledare: Anna & Karin Klass: 9 Årtal: 2010

L0009B. Moment. Introduktion till geografiska databaser: G:\L0009B\Allmänt\IntroGeoDB.pdf (F)

Användning av testautomation inom Extendas utvecklingsorganisation

GIT L0005B. ArcGis. Information inför kursstart

Utbildning 1983 Lantmäteri/Kartingenjör Certifierad Scrummaster Diplomerad Facilitator Worshopledare Projektledare Medarbetarskapsledare

Öppna data på Gävle kommun

Nya webbservern Dvwebb.mah.se

Boss installationsmanual förberedelser

Att sätta upp trådlöst med Cisco Controller 2100 series och Cisco AP 1200 series

Kort om World Wide Web (webben)

Platsbesök. Systemkrav

Metria:s satsning på Open Source-GIS. Seminariet Open Source för GIS 8-9 mars 2010

SNITS-Lunch. Säkerhet & webb

Klassrumshantering Av: Jonas Hall. Högstadiet. Material: TI-82/83/84

Webbservrar, severskript & webbproduktion

Tekniskt system för Lean Startup

Bilaga 3, Tjänste & Systemspecifikation

Enköpings kommun digitalisering ur ett geodataperspektiv. Internationella GIS-dagen

Planeringsspelets mysterier, del 1

1DV405 - Databasteknik. Kursintroduktion. Så här är kursen planerad.

Vad är molnet? Vad är NAV i molnet? Vem passar NAV i molnet för? Fördelar med NAV i molnet Kom igång snabbt...

Transkript:

Insidan av ett Open Source projekt. Nicklas Avén

Innehåll * Vem är jag * Hur jag började involvera mig i PostGIS * Hur koordineras utvecklingen i PostGIS

Vem är jag? * Nicklas Avén * Bor i Norge * Jobbar på skogsföretag * Har småbruk * Dras mellan teori och praktik

Varför Open Source?

PostGIS, hur jag började involvera mig? * Avenue skript I Arcview 3.x på 90 talet, början av 2000 talet * Snabbt och gav en känsla av kontroll, men Mellan vilka punkter hittade funktionen distance den kortaste distansen? Någonstans måste ju den informationen finnas, men var? Inlåst, I någon dll fil : (

PostGIS, hur vi träffades? 2008 höll jag på med en enkel webapplikation och behövde en mer kompetent databas än MS Access Ville inte be IT avdelningen om en SQL Server licens då det är ganska dyrt. Tittade på MySQL, men fann PostgreSQL och därmed PostGIS. Jag föll direkt. Hantera spatiala funktioner I SQL är fantastiskt!!!

Mitt gamla problem I en ny tid Mellan vilka punkter har distansfunktionen hittat den kortaste distansen? Vilka punkter är p1 och p2? p1 P2 Muren har fallit, koden är fri

* Nu var det ju bara att titta I källkoden hur det hela fungerar * Till min lycka såg det inte så omöjligt ut att få till det * Resultatet blev funktionen ST_ShortestLine i PostGIS 1.5

Verktyg som håller samman utvecklingen av PostGIS * Policys * PSC * SVN * websidorna och trac systemet * e postlistor * wiki * regression och unit tester

Policys De gemensamma spelregler som är uppsatta Tex.

PostGIS, releasepolicy Microrelease tex 1.5.2, 1.5.3 osv är bara för att fixa buggar. 1.5.3 innehåller ingen ny funktionalitet som inte fanns i 1.5.2 Med det så skall det vara mycket liten risk att någon ny bug introduceras. Vid uppgradering räcker det att byta ut binärfilen (dll filen eller so filen beroende på operativsystem) Semi Major release, tex, 1.4, 1.5 innehåller nya funktioner. 1.5 serien innehåller tex en hel del nya funktioner jämfört med 1.4 serien. Vid uppgradering måste man förutom att byta ut binärfilen också köra ett Uppdateringsskript som uppdaterar och installerar de nya funktionerna I databasen Major release version 1 och nu snart version 2 introducerar en ny lagring och hantering av data jämfört med tidigare versioner. Det innebär att man måste göra en backup I den gamla versionen av sina data och göra en restore av data i den nya versionen efter uppgradering

Andra policys * Hur skall koden skrivas * Vilka har behörighet att skriva direkt i källkoden * Hur skall det dokumenteras * Osv, osv

PSC Project Steering Group består idag av: Paul Ramsey, OpenGeo Mark Cave Ayland, Sirius Regina Obe, Paragon Corporation Kevin Neufeld, Refractions Det är PSC som fattar de generella besluten. Om det är någon fråga där det inte blir enighet på e postlistorna så har PSC en enkel öppen omöstning.

SVN, subversion SVN håller reda på alla ändringar som görs. Varje ändring av källkoden får ett nummer och kan enkelt backas om det visar sig att det var fel. Källkoden är uppdelad I 3 grupper. 1) trunk, det är det som skall bli nästa Major eller semi major release. Nu ligger version 2.0 där 2) Branches, det är alla tidigare releaser med bugfixar, dvs det som skall bli microreleaser 3) Tags, där ligger frysta versioner av det som har släppts tidigare. Svn finns på addressen: http://svn.osgeo.org/postgis

websidorna och trac systemet PostGIS har 2 portaler på nätet: Http://www.postgis.org, här finns: * Nedladdning av PostGIS * Den officiella dokumentationen * Supportinformation * mm Http://trac.osgeo.org Här finns: * wiki * bug track systemet * Tidsaxel, vad som är ändrat * roadmap, när planerade releaser är * mm På trac.osgeo.org får man tillgång att skriva I wikin och posta bug tickets genom att registrera sig för ett OSGeo login

OSGeo PostGIS är I inkubationsfasen för att bli med I OSGeo De flesta projekt I OSGeo har ungefär samma struktur på sina sidor Du finner deras svn foldrar enlight samma system som PostGIS tex GEOS: Http://svn.osgeo.org/geos

OSGeo Andra projekt I OSGeo: From trac.osgeo.org: CS-Map FDO Fusion GDAL GeoNetwork GeoPrisma Geoinformatica GEOS GeoTIFF Generic Geometry Library GRASS Mapbender MapGuide MapServer MetaCRS OSGeo General OSGeo4W OSSIM PostGIS PROJ.4 Proj4js Proj4J Quantum GIS Ubuntu GIS Enterprise Linux GIS

trac En annan viktig del är trac systemet Där kan vem som helst lägga in en bug ticket Här är det jag själv som har lagt in en om ett fel I min egen kod. Det är ett bra sätt att dokumentera allt som görs.

E postlistor I PostGIS finns det 3 e postlistor postgis users, är för användarfrågor, hur man skall skriva frågor I sql mm. postgis devel, är för diskussioner kring utvecklingen av PostGIS. Här diskuteras insidan av PostGIS inte problem med att få till rätt sql kod Postgis commit, är en lista med alla commits, dvs alla ändringar I källkodsträdet. Jag tycker det a bättre att gå in på tidsaxeln och följa med på vad som har gjorts istället.

Wiki På wikin finns både användarinformation och utvecklarinformation Mer inofficiell information än I dokumentationen. Alla kan skaffa sig ett OsGEO login och skriva på wikin

Regression och unit tester Regressionstester används för att se om det uppkommer fel och problem med koden allteftersom den utvecklas. Dessa tester kan man köra I samband med att man kompilerar Koden och de görs genom att sql kommandon skickas till databasen och svaren jämförs med de förväntade svaren. Unit tests, eller enhetstest, testar istället mindre delar av koden. Med enhetstest kan man testa om en intern funktion uppför sig som förväntat. Torture test, Regin Obe har konstruerat ett test som testar PostGIS från alla möjliga och omöjliga aspekter genom att köra alla funktioner på alla exempel I dokumentationen. Det har räddat PostGIS från många buggar vid release.

Varför Open Source är fantastiskt Ett gammalt exempel som jag tycker visar att allt det här vi har sett, fungerar. Ett Open Source projekt kan genom sin öppenhet och transparens ofta ge otroligt snabba och koordinerade rörelser på någonting som kan verka mer eller mindre kaosartat vid ett första ögonkast.

Ett exempel 13 aug 2009, skriver en användare av PostGIS, Jose Carlos en e post till postgis users list, med en iaktagelse att en speciell fråga han kör mot databasen verkar orimligt långsam. Paul Ramsey, Kevin Neufeld mfl tar upp tråden och börjar nysta. Det hela flyttas över till postgis devel listan då det börjar handla alltför mycket om detoasting och liknande för att intressera den vanliga användaren. Den 14 aug 2009 kommer Tom Lane in I bilden. Han är en riktig guru inom PostgreSQL. Den 14 aug 2009 har Tom skrivit en patch som löser problemet. Den 9 sep 2009 släppte PostgreSQL version 8.4.1 och problemet var löst för PostGIS.

Ett exempel Att ett problem löses så snabbt mellan två prosjekt kräver en stor öppenhet och vilja att jobba åt samma håll. Ingen inblandad har någonting att dölja utan kan lägga all kort på bordet. För den som är intresserad kan diskussionerna som ledde till lösningen följas på: http://postgis.refractions.net/pipermail/postgis users/2009 August/ Och http://postgis.refractions.net/pipermail/postgis devel/2009 August/ Under rubrikerna: Strange result about spatial indexes

Till slut Ett Open Source program behöver man inte välja bort bara för att det saknar en viss funktion eller att det har en bug som är ytterligt irriterande. Det är bra att fixa det! Eller hyra in någon annan att fixa det. Jag skulle önska att någon sa till QGIS utvecklarna tex: Jag betalar motsvarande en halv ArcInfo licens till prosjektet. Här är en lista på buggar jag vill ha lösta. Det skall vara klart om ett halvår. Man får mycket utveckling för en halv ArcInfo licens. Eller varför inte kasta ut ArcGIS servern och lägga årsavgifterna på Open Source utveckling istället. Då skulle man nog kunna bygga ett riktigt alternativ till ArcPad också. Som kommer alla till glädje. : )

Tack för mig! Nicklas Avén E-post: Blog: http://blog.jordogskog.no Http://www.postgisonline.org