Så värnar du om open source projekt

Publicerad 20 juli, 2009 - 18:59, 2 kommentarer

Vi använder alla open source idag och vi påverkas alla av vilken riktning utvecklingen av ett open source projekt tar.

Ibland sker drastiska ändringar som gör oss upprörda, ibland sker en sakta vridning av ett projekt från något vi gillade till något vi inte är så förtjusta i.

Hur ser man till att de projekt man värnar om mest håller sig på banan och istället för att utvecklas bort från det man vill ha än mer fokuserar sig på det som man själv ser som projektets kärnvärden? Det finns några alternativ:

Plötslig drastisk enskild händelse

Vid en plötslig drastisk enskild händelse av inte allt för stora proportioner gäller det att, helst proaktivt men även retroaktivt, göra sin röst hörd i den ticket/issue/bugg som diskuterar ämnet. Bäst är att hålla utkik i listorna och för att där upptäcka vad som håller på att ske – enklare kan vara att granska det genom att kontinuerligt granska kodbasen och beta-släpp eller om den trots det slipper igenom att upptäcka förändringen via den släppta produkten.

När väl förändringen är lokaliserad gäller det att samla på sig argument och lobba för varför den föreslagna förändringen inte är gynnsam för communityt i stort och försöka vinna över stöd för sin sak. Kan man dessutom få en kodare att understödja argumenten med faktiskt kod är det ett plus – men knappast ett krav. Open source världen i stort är en do-ocracy så om det inte räcker att snacka för att få igenom en förändring, det kanske finns ett faktiskt problem som måste lösas med kod, så måste i slutändan kod skapas – men det är långt ifrån alltid där som skon klämmer, snarare att de kodare som redan finns inte får tillräckligt med feedback för att kunna utnyttjas optimalt.

Exempel: I Wordpress 2.8 gjordes en mindre buggfix för att undvika allt för stort spammande av pingtjänster såsom Twingly. Tanken var bra, men utförandet inte helt lyckat – alla pingningar kom in en timme efter de borde. Communityt hade inte hittat misstaget tidigare, men arbetar just nu på att lösa problemet och jag har skickat in några patchar. Svaret på varför patcharna inte kräver trejde parts granskning från communityt är: “Re the workflow, that would be ideal, if we had more contributors.” – i andra ord: Bättre att en dålig förändring slinker igenom än ingen förändring alls – enda sättet att fixa är att vara med och granska och komma med lösningar.

Plötslig drastisk större händelse

Ibland tar plötsligt ett helt projekt en drastisk vändning – det är inte bara en enskild förändring utan snarare så att någon av nyckelpersonerna eller nyckelgrupperna bakom projektet valt att slå in projektet på en helt annan väg än du tycker det ska ta. Som alltid gäller det att såklart göra din röst hörd inom communityt – visa att detta inte är något du stödjer med välbyggda argument och bygg upp ett stöd för din sak.

Om du inte får gehör, vilket kanske kan vara svårt om det råkar vara en sluten grupp med en bestämd åsikt och du kanske först nu förstått poängen att vara engagerad i communityt och alltså är en relativ nykomling, så har du ändå alternativ. Du kan såklart fortsätta använda den gamla versionen för all framtid – kanske kommer det fortsättas byggas utökningar etc för den, men eftersom själva kärnan inte stöds av någon grupp kan det bli knivigt med ex. säkerheten i längden. Har man tur kan man dock med det moment som byggdes upp underlobbying för en förändring av ursprungsprojektet skapa en språngbräda till att knoppa av den nuvarande versionen till ett nytt sidoprojekt – att “forka” det.

Forkning är en av de mer spännande aspekter av open source – oavsett hur åt skogen ett projekt och dess ledning går så kan produkten alltid överleva om någon plockar upp stafettpinnen och springer vidare. Det är inte lätt och det är traditionellt sett något som kan ses med ganska onda ögon från det existerande communityt så i de flesta fall är det enbart en sista utväg – men som alltid är vetskapen att den finns där om den behövs det viktigaste – det finns alltid en lösning med open source – alltid.

Exempel: activeCollab levde som ett open source projekt när upphovsmannen bestämde sig för att nästa version skulle lanseras kommersiellt – det gillade inte delar av communityt som valde att bygga vidare på open source varianten under namnet ProjectPier

Långsam större händelse

Det kan hända att ett projekt så sakteliga viker av från kursen. Kanske börjar community-medlemmarna tappa gnistan, gå vidare i livet eller helt enkelt gå i samma fotspår och göra saker av slentrian istället för av upptäckarlusta. Orsakerna kan vara många, men gemensamt är att du troligast först märker det när det är för sent. När projektet under några år så sakteliga svängt in på fel kurs och mer eller mindre självdött kan det krävas mycket för att rädda det när man väl märker det.

Bästa försvaret mot långsamma större förändringar är att hålla sig aktiv i communityt – snappa upp signaler om förändringar, själv vara med och blanda sig och peppa och styra in det på rätt bana – både för att förhindra att projektet glider in på fel bana, men också för att tidigt se varningstecknena och kunna agera – antingen på ett personligt plan, genom att försöka söka andra alternativ, eller genom att pusha projektet hårdare i rätt riktning och se till att uppmärksamma andra på vad som kommer att ske.

Det finns precis här som med de plötsliga större händelser en möjlighet att forka – problemet kan vara att engagemanget redan nått en så låg nivå att det inte finns några människor att samla. Ett alternativ kan vara om projektet håller på att dö att man kan lyckas få ta över tronen (commit access) på det existerande projektet, men det kan också vara så att de desillusionerade ledarna inte vill lämna ifrån sig projektet av olika psykologiska anledningar och då är enda alternativet att dö med projektet eller att ta sig orken att flytta till ett annat – något som andra kanske redan gjort och som det kan finnas hjälp att få i att göra.

Exempel: MySQL kan eventuellt ses som ett exempel – det har länge gått utför och många kärnutvecklare har hoppat både när de köptes upp av Sun och tros nå en kulmen nu med Suns uppköp av Oracle. Resultatet är forkar såsom Drizzle och MariaDB som antingen kan ses som ett sista försök att rädda ett dött projekt eller som kanske fruktlösa försök att bryta med ett kanske fortfarande starkt projekt – eller så ser vi en framtid där lever jämnstarka sida vid sida – vi får se.

Open source är du

Vi är vana vid att kunna peka finger när något går fel – säga att någon är ansvarig och att någon gjort fel och att någon måste fixa. Det gäller inte i open source världen – visst kan vi peka fingrar och säga att någon är ansvarig, gjort fel eller måste fixa något – men ytterst måste vi då också peka finger på oss själva och fundera på om inte vi har oss själva att skylla för att vi inte var där och åtgärdade den fixen.

Vi kan såklart inte alla fixa allt – men vi kan heller inte ha rätt att klaga på de som faktiskt försökt föra projektet framåt om inte vi själva försökt göra bättre. Open source handlar inte om att hitta fel som andra gjort utan om att hitta sätt att göra det bättre – och att göra det. Open source ÄR do-ocracy – det som görs bli gjort – det som klagas på blir som bäst bara klagat på och som värst en släckt mindre community när folk tröttnat lyssna på otacksamhet kring deras frivilliga insatser.

Det bästa du kan göra för att garantera att de projekt du gillar hålls hälsosamma är att bidra med dig själv – se till att färga de tankar som flyter i communityt och du kan om du ha tur inte bara få ett hälsosamt projekt utan tom ett blommande projekt. Alla kan vi göra något – alla bör vi göra något.

Presentationer, konferenser och meetups

Publicerad 13 maj, 2009 - 21:36, 0 kommentarer

Det verkar vara högsäsong för konferenser, meetups, camps etc just nu. Inte nog med att Tomas Wennströms tanke kring en liten kul träff för socialawebbenfolk har nått en enorm uppslutning på över 230 personer och måste anses vara obligatorisk för allt socialawebbenfolk i Sverige – dessutom är det nu i maj tre stycken nordiska DrupalCamps och en helt galen nördvecka för folket i Stockholm.

Själv kommer jag att representera Good Old på DrupalCamp i Köpenhamn och Stockholm. Kommer i Danmark hålla en mindre presentation med en annan utvecklare, Hugo, kring de moduler vi utvecklat och släppt öppet och kommer i Stockholm att själv hålla i en presentation av ett case för sajterna Esloved.se och Malmotown.com som jag varit med och utvecklat på Good Old.

När jag väl är uppe i Stockholm så tänkte jag ta chansen att stanna kvar där ett tag. Kommer nästan måndag till torsdag första veckan i juni att jobba från Good Olds stockholmskontor för att bl.a. ha chans att gå på Mozillas meetup på tisdagen och geek meet på torsdagen, men också för att träffa lite andra människor över en lunch eller så och utforska vår huvudstad lite i allmänhet.

Om någon skulle vilja träffas under tiden jag är i Stockholm, 30 maj till 4 juni, så hojta till – vore kul!

Förutom de meetups som jag ska på är det under dunderveckan i slutet av maj alltså också ett tredje DrupalCamp, det i Helsingfors, samt något så spännande som TechChrunch Nordic.

Norsk IE 6 revolt inledd - jippie!

Publicerad 18 februari, 2009 - 22:51, 3 kommentarer

Läser på Twitter och på Mindparks blogg om att flera stora sajter i Norge nu har börjat visa informationsrutor för användare av Internet Explorer 6 som berättar att webbläsaren är gammal och att man bör använda en ny version eller byta webbläsare för att få bästa möjliga upplevelse av sajten.

Samma visa har det de senaste veckorna varit även i Sverige, dock utan någon regelrätt revolt, där flera tunga namn inom den svenska webbvärlden, såsom Robert Nyman, Roger Johansson och Emil Stenström öppet deklarerat att tiden för perfekta IE 6 hemsidor är förbi och att det nu inte är rimligt att begära mer än att sidan fungerar i IE 6 och låta de modernare webbläsarna få det godis de förtjänar.

Själv ville jag haka på trenden – men eftersom att jag sitter på Drupal på denna bloggen så kan jag inte använda den Wordpress plugin som Joakim Jardenberg tipsade om på Mindpark-bloggen utan fick slänga ihop en egen lite snabbt.

Ni hittar min Drupal-modul på GitHub: http://github.com/voxpelli/drupal-ie6notify

Backchannels och Googlebuggar

Publicerad 31 januari, 2009 - 21:19, 0 kommentarer

Har på sistone sysselsatt mig med några små roliga hobbyprojekt vid sidan av mitt arbete på Good Old. Är skönt att ha några små projekt att pyssla med som omväxling mot sådana mastodontprojekt som jag kodar på där, såsom Malmotown.com och Dinby.dk

Det största hobbyprojektet är Svpt.nu som är en auto-uppdaterandes lista över alla Twitter-inlägg som markerats med hashtaggen #svpt – som står för SVenskar På Twitter. Jag och Peter Rosdahl satt och chattade om att det vore roligt att bygga någon mashup och framförallt något med Twitter som precis hade exploderat här i Sverige. Vanan trogen kollade jag upp några domäner på Loopia och såg att svpt.nu förvånansvärt nog var ledig. Nämnde det för Peter och efter vars 4-6 timmars kodande, jag på javascript och Peter på html, var sajten uppe mindre än ett dygn efter att idéen kläcktes.

Det var 9 januari och sedan dess har Svpt.nu dessutom varit den officiella Twitter-backchanneln för 24 hour business camp och kommer troligen vara officiell backchannel för ett annat större event också. Under denna tiden har vi haft dryga 2200 unika besökare, ca 4500 besök och omnämnanden på många bloggar, i många “tweets” och tom lite i Metro.

Allt som allt togs Svpt.nu emot jättebra och det var ett riktigt kul litet projekt som nog kan få se sig en och annan uppföljare.

Vad gäller andra projekt så slängde jag, än en gång med Peter, idag med anledning av Google buggen upp en liten kul butik med några t-shirtar med “I survived the Google Bug 31 January 2009”-tryck på, delvis inspirerade av Martins roliga idé efter den skånska jordbävningen och delvis för att det är kul att utforska nya saker. Får se om någon annan tycker den är lika kul som vi – jag beställde mig iaf en tröja för att testa själv :)

Även denna blogg är lite av projekt som dock på sistone inte fått så mycket uppmärksamhet – men det kommer så sakteliga.

Pingback, Multiping och Global Redirect

Publicerad 2 januari, 2009 - 23:35, 2 kommentarer

Jobbade idag med att integrera olika former av pingning för denna bloggen.

Jag lade bl.a. till modulen Pingback som lägger till i Drupal stöd för Pingback-specifikationen som möjliggör för sajter att berätta för varandra när de länkar till varandra – något som bl.a. Wordpress stödjer.

Multiping blev också tillagd. Det är en modul som ska möjliggöra pingning av bl.a. Nyligen.se, Twingly och Technorati.

Multiping finns ännu inte i en stabil variant så det fick bli utvecklingsversionen då det enda alternativet var Drupals inbyggda pingningsmodul som inte direkt är något imponerande alster och som därför tagits bort ur det kommande Drupal 7.

Jag gick även igenom Multipings kod eftersom att det just var en utvecklingsversion och kodningsstilen såg ut att vara sådär. Jag rensade upp den ganska så bra och kommer att skicka in en patch när jag väl testat att förändringarna fungerar – vilket är vad jag gör nu.

Global Redirect fick också vara med – tycker dens funktionalitet är lite av ett måste – den gör så att var sida bara går att komma åt från en URL istället för den enorma mångfald som Drupal vanligtvis serverar. Det blir mer logiskt för såväl besökare som för sökmotorer.

Slutligen – för att testa Pingback – borde inte Microsoft göra som Apple egentligen? Se tankarna på min gamla företagsblogg

Ny blogg

Publicerad 29 december, 2008 - 23:24, 2 kommentarer

Håller så smått på att sätta upp en ny personlig blogg för mig här – bastemat är på plats och jag kan skriva inlägg, men ex. pingningar, pingbacks, lifestreams etc saknas. (Och som Björn påpekade – en favicon)

En bra början dock.