Downsides av Open Source Software
CyanogenMod är död, dödad av moderbolaget Cyanogen. Gemenskapen försöker hämta bitarna och skapa ett nytt projekt, LineageOS, baserat på koden. Men det är en påminnelse om att open source-programvara inte är alla solsken, regnbågar och stabilitet: det kan faktiskt ofta vara mycket rörigt.
Även om ett projekt är öppen källkod, är det inte nödvändigtvis ensamt för samhället, mycket mindre en pålitlig programvara du kan lita på. Projekten varierar: Vissa drivs av en eller två utvecklare som en hobby, andra samlar utvecklare betalda av många massiva företag medan andra drivs av ett enda moderbolag. Varje situation har sina egna problem och drama.
Vi älskar öppen källkodsprogramvara - får oss inte fel - men det presenterar ett visst antal utmaningar. Låt oss ta en titt på några.
Öppen källkod försvårar ofta förseningar och en glacial utvecklingstakt
Många öppna källprojekt verkar drabbas av en långsam utveckling, där nya versioner är oändliga försenade, nya funktioner kommer långsamt om någonsin, och det är svårt att prioritera svåra men viktiga funktioner.
Titta bara på Ubuntus försök att starta sin Unity 8-skrivbords- och Mir-bildservern, vilket möjliggör sin vision om "konvergens". Den här nya versionen av Linux-skrivbordet skulle vara stabil för många år sedan, och det är fortfarande inte. Projektet har flyttat i glacial takt, så mycket att Canonical blev slagen till stansen av Microsoft, som tillkännagav sin egen vision PC-powered-by-smartphone före Windows 10 och levereras på den. Canonical har fortfarande inte levererat sin långlovade vision ännu. Kanske blir det stabilt om några år.
Mozilla har också haft svårigheter att prioritera. De har fortfarande inte levererat multi-process och sandboxing funktioner i Firefox. Dessa är kritiska för att hålla webbläsaren säker, förhindra kraschar från att ta ner hela webbläsaren och bättre utnyttja processorer med flera processer. Alla andra större webbläsare har levererat dessa funktioner, inklusive den hatade Internet Explorer. Mozilla crated "Electrolysis" -projektet för att lägga till dessa funktioner, men stoppade det 2011 eftersom det var för svårt. Mozilla måste sedan starta om det 2013. Den här funktionen ser ut att komma fram till 2017, vilket är riktigt, verkligen sent. Under tiden förlorade Mozilla tid på att arbeta med Firefox OS, ett misslyckat smartphone operativsystem.
När ett projekt använder så många volontärutvecklare kan det vara svårt att hitta folket att göra det hårda arbetet som inte är roligt att göra.
Interna drama börjar gafflar, gafflar och flera gafflar
Ett källkod för öppen källkod är tillgänglig för alla att ändra. Det är poängen! Om ett open source-projekt ändras på ett sätt du inte gillar kan du eller samhället ta den gamla källkoden och fortsätta arbeta med det som ett nytt projekt. Men samhällsprojekt är ofta så inslagna i internt drama att de får saker att delas upp i flera projekt, förvirrande och alienande användare.
Till exempel, när GNOME 3 lanserades och många GNOME 2-användare inte var glada, fanns det ingen direkt uppenbar väg. Utvecklare måste gaffla GNOME-koden i andra projekt som MATE och kanel. En skrivbordsmiljö förvandlades till tre, och utvecklingsresurserna är mer spridda mellan projekt. Som ett resultat tog det lite tid för samhället att få dessa nya projekt att gå.
På samma sätt var OpenOffice-gemenskapen inte glad när Oracle förvärvade Sun. Oracle till och med omnämnde sin egen, icke-öppen källkiosk Office Suite StarOffice till "Oracle Open Office". Gemenskapen måste skapa en ny gaffel, LibreOffice, baserat på OpenOffice-koden. Det har blivit de facto öppen källkiosk för många människor, men andra använder fortfarande OpenOffice eftersom de inte är medvetna om bättre gaffel och drama som omger det. OpenOffice har bara mycket byggt upp namnigenkänning.
Och det är naturligtvis CyanogenMod. Cyanogen Inc drog bara pluggen på CyanogenMods onlinetjänster, vilket innebär att de hellre skulle döda den populäraste tredje partens Android-ROM än att överföra det till samhället, istället tvinga samhället att skapa en ny gaffel av CyanogenMod som heter LineageOS. Varför överför inte Cyanogen bara CyanogenMod-projektet till samhället? Svaret verkar vara internt drama (ser du ett mönster här?). Cyanogen var det företag vars vd lovade att de skulle "sätta en kula genom Googles huvud" trots allt. Det slutade med att lägga en kula genom CyanogenMods huvud, istället.
Allt detta slutar bara att skada CyanogenMods användare, som fick mycket lite varsel innan CyanogenMods servrar och tjänster stängs av. Telefoner fortsätter att fungera, men praktiska uppdateringar och andra tjänster går upp i rök nästan över natten. Användare måste bara hoppas att LineageOS-projektet snabbt kommer att bli en ersättare.
Inte alla öppna källprojekt är gemenskapsdrivna
Öppna källprojekt drivs inte alltid av samhället. Att säga ett program är öppen källkod betyder bara att koden är tillgänglig för att göra vad du gillar med. Företaget som utvecklar programvaran behöver inte nödvändigtvis köra det som ett samhällsprojekt, eller de kan ha intresse av att använda projektet för att marknadsföra sin andra programvara.
CyanogenMod är ett bra exempel på detta. När Cyanogen Inc. kom fram, bryr de sig inte riktigt om CyanogenMod. Cyanogens nya mål blev att marknadsföra Cyanogen Modular OS-plattformen till tillverkare, som handlade på CyanogenMods stora namnigenkänning efter att ha dödat projektet. Kanske är det bara där pengarna är.
Oracle brydde sig aldrig om OpenOffice, men ville inledningsvis använda sitt namn för att driva försäljningen av sin StarOffice-kontorspaket genom att branda det med "Open Office" -namnet. Därefter donerade projektet projektet till Apache efter att de flesta volontärutvecklare lämnade.
Google bryr sig inte alls om Android som ett fullständigt open source-projekt, vilket är anledningen till att allt fler delar av "Android Open Source Project" (eller "AOSP") lämnas efter. Google vill hålla Android öppet så det är enkelt för tillverkare att anpassa, men öppna källans program som tangentbordet och dialern blir alltmer föråldrade. På en Android-enhet för konsumenter kombinerar Google bara ett eget slutet tangentbord, dialer och andra appar. Google verkar engagerade i en öppen källkärna från Android, men inte ett helt operativsystem med öppen källkod som människor kan använda utan Googles programvara och tjänster. När allt kommer omkring förbättrar Android Open Source-projektet bara Amazonas Fire OS, en konkurrent till Googles Android-enheter. Vad är meningen med det?
Open Source kan sakna allvarlig manpower, trots att den används av miljoner
Om ett projekt är öppen källkod, kan alla använda det utan att bidra till, till och med massiva företag. Detta leder till problem när ett viktigt, allmänt utnyttjat projekt har en allvarlig brist på arbetskraft och medel.
Vi såg resultatet av detta med Heartbleed säkerhetshål tillbaka 2014. Heartbleed utnyttjade en sårbarhet i OpenSSL. OpenSSL är ett viktigt krypteringsbibliotek som används av många jättetekniska företag och hundratusentals webbservrar. Men det hade bara en heltidsanställd utan utanställning och $ 2000 per år i donationer. Projektet tog in extra pengar från kommersiella stödkontrakt och rådgivning, men bara en enda heltidsanställd verkar chockerande låg för en kritisk infrastruktur som används av flera miljarder dollarföretag som Google och Facebook.
Heartbleed visade uppmärksamhet på hur underfinansierad den här kritiska mjukvaran var så stora teknikföretag åtagit sig att skära i pengar varje år för att finansiera utvecklingen av OpenSSL och andra viktiga projekt som en del av "Core Infrastructure Initiative".
Det är ett bra resultat för den här berättelsen, säkert - men bara för att så mycket uppmärksamhet drogs till den. När du är beroende av ett open source-projekt för att möjliggöra din infrastruktur, är det lätt att hamna beroende på det och anta att någon annan behåller den tillräckligt bra. Vilket annat viktigt open source-projekt är kritiskt underfinansierat? Vi kanske inte märker tills det finns ett annat stort problem.
Bildkrediter: snoopsmaus