2021-06-10
Många konsultfirmor har som affärsidé att låsa in sina kunder, både genom att låsa in data och låsa in källkod. Våra värderingar på Iteam är att Skapa värde, Ha kul och Göra något bra - och de värderingarna leder oss fram till att vi hellre hjälper våra kunder att få mer värde genom att bygga vidare på tidigare arbete - än att göra om samma jobb om och om igen. Det blir billigare, snabbare och bättre helt enkelt. Och vi kommer vidare i digitaliseringen istället för att stå kvar och stampa.
Grunden är att källkoden är tillgänglig och att du får ändra i och dela med dig av den, d.v.s. att den är släppt under en licens som tillåter det. I princip räcker det att publicera koden under en sådan licens för att säga att projektet är öppen källkod, men det skapar inte så mycket värde om ingen kan bygga vidare på koden.
Öppen källkod används i nästan allt du använder till vardags. Oavsett om du slår på TV:n, mobilen eller kör din bil så använder du digital mjukvara som har sin källkod publicerad öppet med en licens som gör att du kan hämta den, förändra den och ibland även sälja en produkt med källkoden inbyggd.
Klassiska exempel på projekt med öppen källkod är: Linux, Wordpress, MySQL, Android (till största delen), Elasticsearch, Kubernetes, Docker, Node.js, PHP. Som användare är några av projekten troligtvis okända för dig men de lägger grunden till allt från nyhetssajter och sociala medier till dina vanligaste appar för att resa kollektivt, beställa mat eller hitta vägen till badstranden.
Ett vanligt misstag många gör är att man väntar med att publicera källkoden tills man är klar. Det brukar oftast inte bli så bra. Om någon annan ska ha nytta av projektet måste de hitta det, förstå vad det är bra för och hur man använder det, men kanske också känna sig delaktig, då behöver man publicera koden tidigt och innan den är klar.
För att det ska vara värt något att ha tillgång till källkoden behöver den gå att förstå, och då måste den kanske vara välskriven och ha dokumentation och tester. Och för att någon ska uppleva att de kan delta i projektet på ett meningsfullt sätt behöver det kanske ta emot pull requests, issues och feature requests. Alla dessa extra grejer strävar efter att förstärka fördelarna med open source, att göra det lätt att ta del av projektet och påverka det. Men vad som är bäst beror på projektet; Vilka är målgruppen är, hur de använder koden och hur de skulle vara intresserade av att påverka projektet.
Vissa licenser kräver att du också öppnar din kod för att använda deras öppna källkod, den vanligaste av dessa är GPL. Nu för tiden är däremot licenser som MIT, Apache 2.0 eller ISC vanligare och de kräver inte att du publicerar källkoden. Vill du lära dig skillnaden mellan olika licenser är den här sajten en jättebra start: https://choosealicense.com/
Det är faktiskt en myt att ett system skulle bli mer säkert om man håller all källkod gömd. Det finns nämligen alltid buggar i kod och om det är få personer som tittar på koden så är risken större att ingen hittar buggarna. Det finns självklart delar av ett system som man vill hålla stängd, t ex nycklar, lösenord och interna IP-adresser osv bör man aldrig publicera som del av källkoden utan hålla i separata stängda system.
För att programvara ska vara “Open Source” måste användare av programvaran vara fria att dela med sig av den hur de vill utan extra kostnader. Det betyder inte att du inte kan ta betalt för att få tillgång till programvaran och källkoden, eller ta betalt för paketerade versioner på exempelvis App Store samtidigt som källkoden är fritt tillgänglig. En relaterad modell som inte är öppen källkod är att göra källkoden tillgänglig under en licens som begränsar dess användning. Exempelvis är källkoden till Unreal Engine tillgänglig att användas av vem som helst men de måste betala royalties på de intäkter den genererar.
Vanliga affärsmodeller är att sälja kompetens kring programvaran, utbildning och certifiering inom den eller hosting av den. Fråga dig om tillgång till mjukvaran verkligen är det mest värdefulla ni levererar, och hur värdet av det ni levererar hade påverkats om programvaran började användas av fler.
Om någon annan hjälper dig att vidareutveckla din källkod delar ni på kostnaden för vidareutvecklingen.
När fler hjärnor hjälps åt blir den totala intelligensen större i att lösa problemen. Kanske sitter någon där ute på precis svaret på det problem du sitter med just nu.
Med öppen källkod är ni fria att göra ändringar och vidareutveckla för all framtid och är inte bundna till någon specifik leverantör eller licensavtal.
Finns det buggar i din kod är chansen större att ni upptäcker den om fler har möjlighet att se hur din produkt är uppbyggd.
En demokrati är beroende av transparens för att förstå hur världen är uppbyggd. I en digital demokrati med större och större del av verksamheten som sker med hjälp av mjukvara så blir också behovet av insyn i dessa programvaror större. Lägger man till AI till denna mix så är det ännu svårare att få insyn i den komplexa process som sker och kraven ökar mer på öppen källkod. Att ha varit med och skrivit en liten liten del av något som blir stort är en väldigt stor drivkraft för många som jobbar med utveckling. Det skapar en delaktighet och ambassadörer för ditt projekt.
När ett projekt utvecklas med målet att källkoden ska vara öppen blir oftast kraven större på att det ska vara enkelt att kunna få igång koden på sin egen dator. Det gör faktiskt det lättare även för teamet självt när det kommer nya personer som ansluter till teamet. Det paketeras helt enkelt lite smidigare så att man inte behöver veta exakt allt om hur allt fungerar men ändå kan hjälpa till.
När ett projekt utvecklas i det öppna så kommer även fler personer engagera sig tidigt (om det är ett projekt som engagerar). Denna typ av kontinuerligt samarbete ökar intelligensen i den totala gruppen och möjliggör mer specialiserad kunskap att bidra. Det kan till exempel handla om översättningar, exempeltexter, illustrationer som kan läggas in direkt i koden utan att behöva hamna i backlogs eller annan projekthantering.
Kontakta gärna oss på Iteam om du är nyfiken på öppen källkod och digital innovation. Vi hjälper dig både med tekniken, skapa engagemang/community kring din tjänst och att hitta fram till en kultur av action, öppenhet och lärande i ditt team.
Boka ett MVP team som hjälper dig att komma igång
2021-10-22
2021-06-16
2021-06-03
2021-05-18
2021-05-10
2020-10-01
2020-09-03
2021-10-22
Hur kan ett utvecklingsteam bli ett hockeylag. Lösningen stavas Team Flow. Men hur gör vi för att uppnå detta?
2021-08-05
Hållbarhet och digital innovation sitter lika naturligt ihop som Batman och Robin
2021-06-18
Location, location, location. Vad har Strindbergs hiss med huspriser att göra?
2021-06-16
De flesta vet vad BNP är men få vet vad ett API är. Båda är komplicerade frågor som hjälper att känna till om man ska förstå hur samhället utvecklas.
2021-06-10
Öppen källkod är mycket mer än bara gratis programvara. Det är en filosofi som rimmar väl med demokratins värderingar.
2021-06-09
Vi kombinerar det bästa från hemarbetet med en ny form av lokal
2021-06-03
Hur kommer framtidens transportsystem fungera? Kan AI hjälpa miljön?
2021-05-18
Predictive Movement är en samverkansplattform för att optimera transportsystemet. Denna veckan testar vi i Pajala.
2021-05-10
2021 är Iteam ett techbolag med lika många kvinnor som män. Det tål att uppmärksammas!
2021-03-10
Hur påverkar öppen källkod och öppen data arbetsmarknaden framöver?
2020-10-01
Developer Experience - hur skapar man lösningar som utvecklare ❤️ älskar?
2020-09-03
Hur skulle samhället förändras om vi kunde få drönarleveranser till varje stuga?