Logo sv.androidermagazine.com
Logo sv.androidermagazine.com

Vad är öppen källkod?

Anonim

Vad är öppen källkod? Öppen källkodsprogramvara är programvara som gör källkoden fritt tillgänglig för alla att se och använda. Företag, individer, universitet och många andra enheter bygger hela projekt och använder en öppen källkodslicens, sedan ger de koden bort till alla som vill använda den. Licensen som används bestämmer hur andra som använder denna kod delar sina ändringar.

Det finns olika öppna källkodslicenser som har olika användningsvillkor, från GPL (GNU General Public License) - som tillåter "fri distribution under förutsättning att vidareutveckling och applikationer sätts under samma licens" - till mer liberala licenser som Apache-licens, som inte kräver att ändringar ska vara öppna och ha källkoden tillgänglig. Android använder båda dessa licenser, och vi tittar på dem i tur och ordning.

Linux-kärnan som används i Android omfattas av GPL. Detta innebär att alla ändringar som görs i källkoden måste göras tillgängliga när en binär (geek-speak för en sammanställd, körbar programvara) släpps för allmänheten. Detta innebär att tillverkare som HTC, Samsung, Motorola och resten måste släppa källkällkoden för alla enheter som de säljer samtidigt som de börjar sälja dem. Naturligtvis händer detta sällan och vi väntar på att ett team ska ta bort anteckningar, källkommentarer och andra användbara saker innan det kommer till oss. Det här är de kodutgivningar som du kan se nämnda på internet och består av källkällan och andra open-source "bitar" som täcks under GPL.

Källkoden för själva Android släpps mestadels under Apache-licensen. Vem som helst får ladda ner källkoden och ändra den hur de vill, men de är inte skyldiga att göra sina ändringar tillgängliga i källkodsform för allmänheten. Det är därför vi inte lätt kan ändra Samsungs Touchwiz (till exempel) - de ändringar de gjorde i bas Android-källkoden är inte tillgängliga för oss. Även om många människor (jag själv ingår) inte gillar den här situationen så mycket, är det meningsfullt från affärssynpunkt. Om tillverkarna var tvungna att dela alla sina hemligheter skulle det inte vara lika mycket ekonomiskt incitament att förnya sig, så källan erbjöds med en mycket mer liberal licens. Det fungerade verkligen, som vi ser enheter från många stora spelare i elektronikvärlden.

Googles andra stora konsumentprodukt - Chrome OS - är skriven från Chromium-källan. De Google-skrivna delarna av Chromium är öppen källkod, under BSD-licensen. Andra bidragsgivare använder olika open source-licenser som MIT-licensen eller GPL.

En viktig sak att komma ihåg här är att Android och Chromium är open source, men de operativsystem som används för Nexus-enheter och Chromebook-enheter är det inte. De är byggda från öppna källkodsprojekt, men kan innehålla egna delar för att förbättra programvaran för varje enskild enhet. För Nexus-telefoner släpps dessa proprietära bitar på Android Developer-webbplatsen och är redo att tappa in allt du kan bygga från AOSP för att få samma upplevelse. Chromebooks kommer att köras på en helt öppen Chromium-byggnad, men har inte några stängda Google API: er eller fullständiga video- och ljudkodeker.

Google släpper också applikationer som inte är licensierade med öppen källkod. Gmail, Maps och många andra Google-appar som kommer på våra telefoner ingår inte i AOSP och utvecklas oberoende för Android, Chrome, iOS och webben. När du hör Internet kraschar om Android inte är "öppen", det är det de pratar om. Android, och allt som krävs för att installera och köra Android-appar är helt öppen källkod, men de populära applikationerna som gör det bättre är det inte. Det kommer sannolikt inte att förändras.