Open Source-utveckling för kommuner Allemanskod den nya svenska modellen?
Daniel Modig Ikoncept AB Verksam inom webb- & systemutveckling sedan 2004. Manisk vandrare med förkärlek för räkost på knäckebröd. Lång erfarenhet av att arbeta med kommunala tillämpningar. Stolt förespråkare av FOSS.
En svensk kommunfavorit för bildhantering med stöd för komplett integration i olika GIS. Tilläggsmoduler för inventering i fält, WMS/WFS och ett fullt utvecklat API. Används bl.a. av Malmö stad, Helsingborgs stad, Lunds kommun, Kristianstads kommun, Tomelilla kommun, Jönköpings kommun, Halmstads kommun, Falkenbergs kommun, Borås stad m.fl.
Ett komplett dokument- & ritningsarkiv med fastigheten som utgångspunkt. Integrerad granskare med skalenlig mätning, gränssnitt anpassat för enkel handläggning. API för enkla tillämpningar mot medborgare.
Övrig verksamhet Webb- & systemutveckling Anpassning och vidareutveckling Behovsanalyser Systemanalyser Utvecklingspartner
Hur stödjer Ikoncept FOSS? Genom att använda, supportera, bidra till och aktivt sprida ett flertal programspråk, databaser och ramverk.
Ja, men vad tusan har det med kommunalt styrd utveckling att göra? Ett flertal lösryckta påståenden följer
Applikationsutveckling förekommer på kommunerna, av kommunalt anställda.* *OBS! Personen på bilden har inget med texten att göra.
Skattepengar investeras i att utveckla verksamhets-applikationer.* *OBS! Pengarna i sjön på bilden har inget med texten att göra.
Utvecklade applikationer riskerar att stagnera och slutar utvecklas (tjänstebyten, nya direktiv m.m).
(Slut på lösryckta påståenden, följande är på riktigt ) Allemansrätten Du använder dig av allemansrätten när du går en promenad, paddlar kajak eller sitter på en sten och tänker. Allemansrätten är en unik möjlighet för alla att röra sig fritt i naturen. Men vi behöver också ta ansvar för natur och djurliv och visa hänsyn mot markägare och andra besökare. Alltså inte störa inte förstöra.
(Nej, jag är inte tokig ) Tänk om Allemanskod Du använder dig av allemanskod när du besöker kommunwebb, söker tillstånd eller sitter på en sten och med GPS hittar din position på kommunens karta. Allemanskod är en unik möjlighet för alla att sätta sig in i digitala system utvecklade av kommunerna. Men vi behöver också ta ansvar för kod och utveckling och visa hänsyn mot kodägare och andra bidragare. Alltså inte störa inte förstöra men gärna bidra.
Ett vanligt utvecklingsflöde En projektledare utses tillsammans med en utvecklingsansvarig Ett privat/publikt repo skapas (GitHub, Bitbucket m.m) Under utvecklingens gång jobbar samtliga utvecklare mot samma repo, alla bidrag tas in via pull requests som godkänns av ansvarig utvecklare. Versionshantering och ansvarsspårning sker löpande. Färdig produkt släpps till berörda parter.
GIT-vadå? Repo? Huh? GIT är ett versionshanteringsverktyg som låter utvecklare jobba med en kodbas som dels säkerställer backups men också att skapa grenar i utvecklingen. Detta gör att hundratals personer kan jobba i samma projekt utan att störa varandra. Repo är en förkortning för repository alltså det paket av kod vi kallar projekt. Tänk på det som en låda med all vår kod i.
Hur skulle det kunna funka på kommunal nivå? En projektledare utses tillsammans med en utvecklingsansvarig Ett privat/publikt repo skapas (GitHub, Bitbucket m.m) Medborgare ges möjlighet att involvera sig i projektet. Under utvecklingens gång jobbar samtliga utvecklare mot samma repo, alla bidrag tas in via pull requests som godkänns av ansvarig utvecklare. Versionshantering och ansvarsspårning sker löpande. Färdig produkt släpps till berörda parter. Källkoden släpps publik för medborgare att använda, bidra till och sprida.
Hur kan man aktivera medborgarna mer? Publika repon ger möjlighet att som boende i en kommun kunna delta i utvecklingsprojekt som pågår. Hackathonsskapar medborgarengagemang och goodwill för kommunens utvecklare. Kompetenshöjning genom kamratfostran.* * Genom att se andras lösningar på problem lär vi oss lättare att anpassa våra egna lösningar. Det är alltså inte kamratfostran i Jan Guillous tappning det handlar om.
Okej, jag är såld. När börjar vi? De tre viktigaste punkterna (enligt mig) att tänka på inför ett open source-projekt är följande: Komplexitet/lämplighet Miljö Licensform
Komplexitet/lämplighet Utvecklingsformen måste styras av hur lämpligt det är att driva projektet öppet, men också hur komplext projektet är. Väldigt komplexa projekt kanske kan tillgängliggöras, men bör drivas som ett slutet projekt. Ex. på olämpliga projekt att driva socialt: PUL-känsliga projekt där skarp data används under utveckling. Sekretess-kritiska system Säkerhetskänsliga system
Miljö Utvecklingsmiljön är den kritiska faktorn för hur lätt en utvecklare kan komma in i ett projekt. En konventionell och lättåtkomlig miljö är att föredra och har oftast ett starkt community! Ex. på lämpliga projektmiljöer att driva socialt: xamp-stack (PHP, MariaDB, Apache) Frontend-projekt HTML, CSS, Javascript MEAN-stack (MongoDB, Express, AngularJS, Node.js
Licensformer Licensieringen styr hur ett projekt får användas. Det styr också vilka skyldigheter och åtaganden upphovspersonen har. Bäst tillåt mycket, ansvara för lite. Ex. på lämpliga licensformer att driva socialt: GNU GPL 3.0 AGPL-v3 MIT / BSD
Men, finns det ingen som gör sånt här? Jojomensan.
Origo (f.d Mälardalskartan) Origo is a web mapping framework. It is based on the OpenLayers 3 library. You can use Origo to create your own desktop-like web mapping applications. The project is based on the OpenLayers 3 library. Tillämpningar: Enakartan Hallstakartan Karlstadskartan Mälardalskartan Sigtunakartan Västerås Stads samlingskarta https://github.com/origo-map/origo
smap-responsive smap-responsive is a software framework for web maps built with Leaflet and Bootstrap. The purpose of the framework is to facilitate creation of maps which support a range of different browsers and devices Tillämpningar: Malmö Stadsatlas (City Map of Malmö) Kristianstadkartan (City Map of Kristianstad) Lunds Stadskarta (City Map of Lund) Find your school in Malmö (map integrated in a form) Map with editable points, lines and polygons Kävlingeån map (project site) https://github.com/getsmap/smap-responsive
Arena - för lärande arena - för lärande samlar alla våra pedagogiska tjänster och fungerar samtidigt som en gemensam kommunikationsyta mellan elever, pedagoger, administrativ personal och vårdnadshavare. Utvecklad av Alingsås kommun https://github.com/alingsas-kommun/arena
Nyköping kommun 11-11 Vill du vara med och bygga framtidens Nyköping? 11/11 är ett kreativt event där vi får ta del av öppen data för att göra staden smartare. Häng med på ett 24-timmars event och gör något fantastiskt! Hackathon i Nyköping kommun
Fler utvecklare i kommunerna Bättre anpassade tjänster/produkter för verksamheter Social kodning där medborgare och kommun samarbetar Hackathons i kommunal/regional/myndighets regi All utveckling som finansieras av skattemedel blir Open Source Allemanskod på riktigt. Alla får se, alla får uppleva. Framtidshopp?
Richard Stallman GCC, Free Software Foundation, GNU, Linux
Philippe Kahn Kameratelefonen, bärbar elektronik (smartklockor m.m.)
Slut! Frågor?