FSCONS startade som Free Software Conference Nordic Summit, men ganska snabbt bytte Software ut mot Society. Detta syns tydligt i årets teman: Decentralising Society, Embeddded systems, FS Feminism, General Purpose Computing, Legal, Open security, Wikimedia. Samtidigt finns mjukvara givetvis kvar. Konferensen har haft någonstans mellan 200 och 300 besökare vilket även gäller i år. Nytt för mig i år var att det var ovanligt många barn med på konferensen. De satt och spelade, ritade på whiteboards och verkade vara som barn är. För den som inte varit på FSCONS så kan nämnas att könsfördelningen är långt mer jämn än på alla andra konferenser jag varit på.
Fredag
Workshops – jag deltog inte här.
Lördag
Free Your Android
Presentationen föregicks på fredagen av en workshop – och målet är helt enkelt att köra ett alternativt Android OS som är fritt, inklusive en fri appmarknad – F-droid.
OpenRISC
Detta handlade om en öppen hårdvaruplattform. Det finns en hel del att läsa på OpenRISCs hemsida. Det var en hel del diskussion om licensiering, och talarna gav exempel på kommersiella produkter som använder OpenRSIC “trots” LGPL-licensen. Den nya kodbasen skrivs dock om från grunden och använder Mozilla Public License pga att LGPL har som krav att det skall gå att ersätta all mjukvara, och med OpenRISC i en ASIC så går det ju inte (det blir inget kvar som kör)!
OpenRISC startades för längesedan (tror till och med det var 1900-tal!) och den grupp som drev projektet anställdes snart av Flextronics. Mycket har hänt sedan dess, bl a finns OpenRISC i satteliter i rymden. Samsung har det i sina digital-TV-apparater och de har också släppt ut den källkod de producerat fritt.
Software Transactional Memory “for real”
Presentationen hade i programmet titeln Using Multiple Cores in a High Level Language. Armin som tidigare pratat om PyPy på GothPyCon attackerar problemet med att förenkla för utvecklare att skriva kod som använder flera (alla) kärnor i en dator, utan att explicit behöva hantera lås och/eller tråder. Tanken är att köra varje funktionsanrop atomärt med hjälp av Software Transactional Memory. I korthet är atomic implementerat på det sätt att all data/objekt som en transaktion petar på skriver till en kopia av objekten och när transaktionen avslutas så markeras originalobjekten som “jag är uppdaterad, nya versionen ligger nu -> här” som pekar på en senare modell. Skulle det bli konflikt kan transaktionen slängas och köras igen t ex. Systemanrop är dock låsta, eftersom de inte går att rulla tillbaka. Ett utmärkt sätt att få ett program som skrevs för att köras singeltrådat, helt enkelt kunna köras snabbare.
Intressant: Armin förutspår att (Software) Transactional Memory, STM, snart kommer finnas i alla språk och alla plattformar, på samma sätt som Garbage Collection nu är mainstream.
Debian Packaging
Per Andersson (aka avtobiff, som numera är Debian Developer) hade en genomgång av hur man paketerar med hjälp av deb-helper. Inte så mycket fokus på verktyg utan mer vad som behövs för att lyckas bygga i form av konfiguration och metadata. Hann även kika på själv deb-binären. Nytt för mig var vad urgency i changelog-filen gör – det styr hur länge artefakterna ligger i unstable innan det når testing. (urgency=low = 10 dagar)
Jag lärde mig också ett nytt sätt att hämta in text i vim: :read ! date
Lightning Talks
Smarí McCarthy talade om ett dropbox replacement.
En norska (missade hennes namn) pratade om hur de jobbat med sin Linux/BSD user group i Bergen. Det jag tog med mig var att affischer på staden är det som gjort mest skillnad i avseende att nå nya medlemmar.
PageKite, Bjarni Rúnar – ett projekt med två HTTP relayer: en på en server med publik IP-adress och sedan en relay som sitter i Androidtelefoner. Tanken är alltså: man skriver en HTTP server på sin android-telefon och man vill göra den publik tillgänglig. Dessvärre är nät-tillgång opålitligt (wifi, 3g?) och lösningen är att PageKit lägger sig mellan internet och telefonen med två hopp: slutanvändares browser (eller server) -> HTTP server/pagekit publik server -> pagekit webb relay “klient” på telefonen -> HTTP server på telefonen. Undrar om det fungerar med WebSockets! :-)
Bjarni har en startup kring detta och det han ser är att alla “uttjänta” Android-telefoner är en perfekt lite webbserver – den är billig, har redundanta anslutningar (wifi, 3g) och är kraftigare än den maskin man betalade tio tusentals kronor för när internet var nytt på 90-talet.
Per Andersson med familj – pratade om sina erfarenheter från att ta med barn till konferensen. Vad behövs? Vad är omtyckt? Fungerar det över huvud taget? De hade ett barnrum som fanns med i den officiella kartan i programmet. På scenen när Per pratade visades GCompris och barnen började jaga fallande bokstäver samt muspekaren – de förväntade sig att bokstäverna skulle försvinna när de “slog” på projektorduken! Touch is the shit. :-)
Egil Möller – pratade om att man vill publicera positioneringsdata. En GPS-daemon som cache:ar tills nättillgång finns. Node.js användes och en server kan sedan spela upp strömmen i efterhand.
New new new iPad. En anonym deltagare berättade om sitt köp över internet som visade den ursprungliga Ipad:en – en tvåsidig griffeltavla (i Ipadstorlek) som hittades i en väska köpt över nätet. Humor som gick hem!
Oyvind Hanssen – search and rescue operations Free software, open data. Problemet: Polisen och liknande organisationer har dåligt programvarustöd när de gör avsökningar – det är i princip penna och papper som gäller. Oyvind har ett mjukvarubaserat system som ritar ut olika truppers rörelse över tid. Visade också upp en bit hårdvara som sänder in GPS-koordinater. (Det gick tydligen inte att förlita sig på tillgång på nätet.) Norska polisen har använt det i flera lyckade insatser.
Sam – owncloud, user data manifesto. Framför allt en plattform för att låta användare äga och kontrollera sin data, men pluggbart med “appar” på app.owncloud.org. Det jag tyckte var mest intressant var hur de satt upp Continuous Integration med Jeknins, trots att “allt var PHP”!
CAcert och PGP/GPG
Sent på kvällen var det också CAcert Assurance och PGP-nyckelutbyten/-signering. Att bedöma äktheten av någons identitetshandlingar är tidskrävande åtgärd som man kan träna en hel del på.
Söndag
Making IPsec scale
Michael Candell har jobbat med att försöka få upp IPsec-tunnlar dynamiskt/on demand. Normalt sett behöver nycklar distribueras i förväg och man behöver i princip veta vem man skall prata med, redan innan man börjar prata. Michael visade tre olika scenarion att göra detta mer dynamiskt. DNSSEC, IPSECKEY records ihop med DNS Update ger bra förutsättningar för att sköta detta dynamiskt. Om båda noder vet varandras namn på förhand kan helt säkra tunnlar (och transporter, lite beroende på plattform och inblandad mjukvara), men även utan detta är Better-Than-Nothing-Security något som kan uppnås. Med BTNS IPsec-scenariot Micheal föreslår kan t ex BGP skyddas från TCP reset+sekvensnummergissande. Detta BTNS scenario skyddar mot replay-attacker, BTNS liknar SMTPS + STARTTLS med självsignerat certifikat.
Projektet har sponsrats av internetfonden.se.
DNS update uses MD5 – weak spot.
IPsec har ingen userland-kod vilket är ett problem med OpenVPN – inte för klienten men för en server med tusentals anslutningar blir detta mycket kostsamt. Därmed skalar IPsec bättre än OpenVPN.
Freedom box
En dansk herre pratade om vad freedom box är, varför det behövs (fast han sade att han inte skulle gå in på det) och lite om vart man vill. Handlar återigen om att ta kontroll över sin data och privacy. Underhållande men ganska tomt på innehåll tyvärr.
Sammanfattning
Jag var kunde inte medverka de sista timmarna men har ändå som vanligt enormt mycket mer i huvudet än man orkar få ned i skrift, massor med intryck, nya idéer och kunskap om verktyg och möjligheter. Dessutom har jag haft trevligt med öppna människor som gärna pratar om erfarenheter och lyssnar till varandras problem.
Enda negativa med en konferens som denna är att min “att göra/undersöka”-lista växer. :-)