Replicant, en fri distribution av Android

fredag, 16 december, 2011

Men, Android är ju fritt och med öppen källkod?!

Nja. Androidsystemet i sig lyder under Apache License version 2, som är fri. Kärnan är Linux, som till stor del lyder under GPLv2. Linuxkärnan innehåller emellertid en stor del ickefria komponenter, av vilka vissa faktiskt används av Androidtelefoner. Det rör sig främst om drivrutiner till modem, GPS, kamera, mikrofon och dylikt. Ovanpå systemet finns det rikligt med applikationer som inte är fria. Googles svit av användarapplikationer, såsom Market, Maps, GMail och Calender är exempel på ickefri mjukvara. Det har redan sedan länge varit ett problem för exempelvis tredjepartsdistributionen CyanonogenMod, som fick med Google att göra efter att ha skickat med dessa appar med sina paket. Telefonoperatörer och tillverkare av mobiltelefoner har även som regel att bygga egna appar och även modifiera Android, varav utkomman sällan är fri mjukvara.

Android Market är som nämnt ickefri mjukvara, och inuti ”butiken” kryllar det av tredjepartsappar med tveksamma licenser. Engelskans vardagliga ord för gratis är just free, vilket olyckligtvis framkallar förvirring. Att Google väljer att kategorisera apparna i free och payed apps utan att tydligt ange vilken licens som gäller för respektive app, gör det svårt för användarna att veta vad som är möjligt att använda i ett fritt system.

Replicant är ett projekt som har till syfte att lösa dessa problem. Målet är Androidtelefoner med 100% fri mjukvara. Det finns en handfull modeller som man har lyckats porta Replicant för. Däribland Nexus S, Googles brandade Samsungtelefon. Det är den telefon man i skrivande stund kommit längst med i funktionellt avseende. Därför köpte jag en sådan just för att experimentera med Replicant.

Först tog jag hem källkoden till Replicant, då de färdiga image-filerna var utdaterade. 13 GB! Därefter följde jag kompileringsguiden, och bygget tog ca 2 timmar på min gamla trötta maskin. Jag mötte inga större problem på vägen. Därefter installerade jag mina nybakade image-filer på telefonen och vips så bootade jag ett helt fritt system.

Vad fungerar och vilka problem har jag stött på? De absolut viktigaste funktionerna är på plats. Ringa, ta emot samtal, skicka sms och ta emot funkar fint. Datatrafik har jag inte fått igång, men enligt utvecklarna jobbas det på det och ska redan under vissa förutsättningar fungera. Kamerorna fungerar att fotografera med, men förhandsvisningen är gråskalig. När jag provade att filma krashade kameraappen. Scanna streckkoder fungerar dock fint. Jag kör med Telia Refill, och dess koder för att ladda på och kolla saldo fungerar inte i nuläget. GPS, wifi och blåtand har i nuläget inga drivrutiner och det är oklart vilka av dessa delar som ens är möjliga att skriva fri kod för.

En liten detalj som förmodligen inte går att göra fri är bootloadern. Den kan jämföras med BIOS i en dator. Eftersom man i normala fall inte uppdaterar den, kan man likställa den med en del av hårdvaran, och hårdvaran är inte ett föremål för att göras fri, eftersom den är omöjlig (eller extremt svår) att kopiera. Att uppdatera bootloadern är inte heller riskfritt, då man kan bricka sin telefon (göra den oåterkalleligt obrukbar) om uppdateringen går snett. Givetvis vore det bra att ha även bootloadern fri, men det finns viktigare saker att lösa i första hand.

Så nu håller jag för första gången i mitt liv en mobiltelefon med helt fri mjukvara i min hand! Det finns saker att göra innan den funktionellt kan möta de krav som ställs på en modern telefon, men den är en bra bit på väg. Jag kommer fortsätta köra Replicant på denna och ska se till att hålla den fri från ickefri mjukvara. Till varje pris snarare än i den mån det går.

CouchSurfing-besök och fri mjukvara

tisdag, 13 juli, 2010

Du vet CouchSurfing, det där Internetcommunityt där man söker efter någon som erbjuder sin soffa om man har vägarna förbi, och där man själv kan lägga ut sin soffa till förfogande. Vår soffa finns där, och den har tidigare nyttjats av ett par polacker. Igår kom en intressant gäst från Spanien. Rafa. Vi visste inte från början om att vi delar ett visst intresse. Fri mjukvara.

Rafa driver tillsammans med fyra kollegor eget företag sedan fem år tillbaka (tror jag det var). De har nu 60 anställda. Deras affärsidé är konsultande inom fri mjukvara. De har genom åren lyckats driva igenom ett gigantiskt projekt där de hjälpt en skola att välja fri mjukvara. De har även fått myndigheter i deras region att använda fria mjukvarulösningar.

Vid uppstarten av det stora skolprojektet satsade företaget på att marknadsföra sig genom en PR-kampanj där de bjöd in en stor auktoritet att föreläsa för skolan inom ämnet fri mjukvara. Denna auktoritet hade lite speciella krav, såsom att han föredrar att bo hemma hos lokalbefolkningen snarare än på hotell. Det blev då på Rafas lott att erbjuda husrum. Auktoriteten var Richard M. Stallman.

Jag har själv haft en nära Stallmanupplevelse när han passerade mig på en meters avstånd inför sitt seminarie på KTH för ett par år sedan, men det är en svag jämförelse med Rafas berättelse.

WordPress officiella Androidklient

tisdag, 2 februari, 2010

WordPress har just släppt en klient för Android, med vilken jag nu skriver detta inlägg. Verkar funka bättre än Postbot jag använde förut och man har fler coola verktyg. Och den är GPL!

Har testat den i flera minuter nu och har tyvärr inte hittat något sätt att ladda upp bilder. Kanske det inte går än, eller behöver jag bara leta lite till.

Uppdatering två minuter senare: Hittat hur man infogar bilder. Man trycker på ”Pictures: Add”. :)

Bra initiativ av WordPress!

Tidig version av Google Chrome för GNU/Linux

tisdag, 30 juni, 2009

Jag råkade ta mig vägarna förbi Googles sida om Chrome och fann att de har släppt ut en tidig utvecklingsversion av webbläsaren Chrome för GNU/Linux. Jag provade att tanka ner deras Ubuntupaket och installationen gick smärtfritt. Sitter nu och skriver detta inlägg däri. Den verkar snabb och kompatibel. Nuvarande version är dessutom befriad från flash och andra onda ting.

Under de 10 minuter jag testat den hittills har jag inte fått den att krasha, men jag blir inte förvånad om den gör det innan jag hinner posta detta inlägg. :) Därför gör jag det nu, så jag slipper oroa mig mer.

OneSwarm gör dig anonym, oavsett vad Pontén vill att du ska tro

måndag, 30 mars, 2009

OneSwarm är det nya och heta fildelningsprotokollet och -programmet som är designat för att ge användarna en högre grad av anonymitet än vad de traditionella systemen, inklusive bittorrent, gör. Nu när IPRED så sakterligen blir en del av vår vardag, ökar givetvis behovet av ett system som OneSwarm. Antipiratbyråns söta mediaansikte Henrik Pontén har haft konstant diarré sedan han först hörde talas om OneSwarm, och gör nu allt som står i hans makt för att smutskasta det. Och med mycket diarré till förfogande är det inte svårt att kasta skit i massor.

OneSwarm bygger bitvis sin teknik på bittorrent, men istället för att man har en gemensam tracker (som till exempel The Pirate Bay), genererar klienten (programmet du kör på din dator) en unik nyckel, som du delar med sig av till sina vänner och bekanta. När du byggt upp en lista av vänner, kan du dels söka bland deras filer, men även bland deras vänners filer, och deras vänners vänners vänners vänners [...] vänners vänners filer. Och det bästa av allt är att det inte går att spåra filerna längre än till din närmaste vän.

Det finns några nackdelar med denna teknik. För det första kan datan tvingas ta en rejäl omväg innan den hamnar hos dig, men den största nackdelen är att du själv aktivt måste lägga till dina vänner. Och du måste verkligen veta att du kan lita på dina vänner, för om du skulle lägga till exempelvis Henrik Pontén som vän, är du bokstavligen kokt i bajs.

Pontén utnyttjar detta faktum i hans mediala utlåtanden och beskriver det som att det räcker med att en person i vänskapskretsen är skurk så fallerar hela konceptet. Detta är ett taktiskt drag för att skrämma folk från att våga förlita sig på systemet, men sanningen är att det inte håller. Ja, som sagt, lägger du till Pontén själv som vän, kan han se vad du delar ut. Om du däremot lägger till honom som ”begränsad vän”, kan han bara söka efter filer (alltså inte bläddra i din utdelningskatalog) och sökresultatet avslöjar inte om filerna tillhör dig eller din väns väns väns [...] väns vän. Bäst är ju dock att inte lägga till honom över huvud taget, för utan att göra det kan han aldrig någonsin få fatt på din IP-adress, hur många burkar IPRED han än proppar i sig.

Jag har precis provat att installera OneSwarm, och visst har det sina användarmässiga begränsningar. Men det är ju så nytt än sålänge, så det har jag överseende med. Och jag tänker i denna bloggpost dela med mig av min nyckel, så att mina vänner (ni som läser bloggen) kan lägga till mig. Jag kommer dock inte godkänna vem som helst.

Min publika nyckel till OneSwarm:

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCZdKYhU
/g4IBSgMLNKC7s6KUcckC2ZTTh/Qs3dzQ1Op0IY/z4dZt
1HsOrZ+/oyz6hHxUD0QHHKXArPWgrALwJLWj3N4wZKwaV
3tbPN+aJpaQRDdxwz0pL0LTEv4gi3MaIUkMMU8WDtt/As
SC/fHVogTqpNr7tPGP3bkpWJKqgBkQIDAQAB

Du som känner mig personligen, slå mig en signal så verifierar vi att det är rätt person. Du som inte känner mig än, ta kontakt med mig och försäkra mig om att du har gott uppsåt, så kan vi säkert bli begränsade vänner. Största anledningen till att jag publicerar nyckeln är att föregå med gott exempel och uppmana alla att göra det samma, med ungefär samma typ av villkor.

Observera att jag bara delar ut min egen musik, GNU/Linuxdistributioner och bilder på när Henrik Pontén sitter på toaletten och skriver insändare till Aftonbladet.

Despotify – gör Spotify fritt

tisdag, 24 februari, 2009

För en tid sedan skrev jag om Spotify, och förklarade att tekniken och produkten är riktigt bra, men att det tyvärr inte går i linje med min filosofi om fri mjukvara och öppna protokoll. Nu har protokollet blivit reverseenginerat (”knäckt”) av några flitiga svenska studenter och de har även tagit fram en kommandoradsbaserad Spotifyklient som de släppt under en fri licens. De har fyndigt nog valt att kalla projektet Despotify.

Jag provade som hastigast att kompilera den och det gick smärtfritt. Starta den och logga in med den på mitt Spotifykonto gick lika bra. Jag kunde se mina spellistor och söka efter låtar. Tyvärr krashade klienten när jag försökte spela en låt, men jag vågar inte uttala mig om varför. Jag ska felsöka lite själv och eventuellt skicka en stacktrace (buggrapport med felsökningsdata) till utvecklarna.

De har i själva verket implementerat två klienter. Den ovannämnda med textbaserat användargränssnitt samt en de kallar gateway, som enligt vad jag förstår är en Spotifyklient utan direkt användarinterface, som man kan kommunicera med via HTTP. Detta skulle man nog lätt kunna använda sig av för att bygga Spotifyplugin till andra mediaspelare.

Det pågår redan en diskussion om huruvida det är rätt eller fel att dokumentera Spotifys protokoll, som dessa grabbar har gjort. Vissa påstår att detta betyder döden för Spotify, bland annat eftersom man kan använda detta för att spara musik från Spotify till sin dator. Själv är jag av åsikten att det är helt totalt jävla rätt! Mjukvara ska vara fri och protokoll ska vara öppna. Om detta innebär döden för Spotify, vilket jag inte alls tror, så betyder det att Spotify som koncept är trasigt från grunden.

Uppdatering 27 februari

Jag har nu provat lite mera och även via IRC varit i kontakt med utvecklare av despotify. Att det inte fungerade för mig berodde på att Spotify har blockat så att deras reklamfinansierade gratiskonto inte fungerar med despotify. Ganska förståligt, eftersom reklamen kräver stöd av klienten, vilket givetvis inte är implementerat i despotify. Jag gjorde därmed slag i sak och skaffade mig ett premiumkonto i en månad för 99 kr. Nu fungerar despotify mycket bättre. Det är dock en hel del buggar och det har en bit kvar innan det är en fullvärdig spelare. Dock är projektet bara några dagar gammalt än sålänge, så det har jag full förståelse för. Jag har även slängt ett öga på koden för att se om det är något jag kan göra för att påskynda utvecklingen. Än har jag dock inte kommit fram till något konkret.