GNU GPL är ett programvarulicensavtal, enligt vilket delar av operativsystemet Android är licensierade. Majoriteten av Android är licensierad under Apache-licensen, men Linux-kärnan (som finns i alla körande Android-ROM i någon form eller form) är licensierad under GPL (version 2).
Många av de fantastiska utvecklarna på XDA skapar anpassade kärnor, som har många förbättringar och förändringar jämfört med "stock"-kärnorna som släppts av OEM-tillverkare, inklusive prestanda- och stabilitetsjusteringar. Detta är precis vad GPL är designad för att skydda, genom att se till att vem som helst kan få tillgång till den ursprungliga källkoden som används för att bygga kärnan. Med en lämpligt konfigurerad dator bör det vara möjligt för vem som helst att reproducera en frigiven kärna med den medföljande källkoden.
Nyligen har det kommit till vår kännedom att ett antal användare har försummat att följa XDA: s GPL bestämmelser, som går ut på att lägga upp källorna för alla kärnor du bygger från källa till att dela med andra.
Som ett resultat av detta skulle vi vilja förtydliga vår ståndpunkt om GPL och användarnas skyldigheter i detta avseende. Genom att publicera ditt arbete på XDA-Developers samtycker du till att det följer relevanta licensvillkor. Som sådan, genom att lägga upp en kärna eller annat arbete som innehåller GPL-kod, bekräftar du för oss att du har gjorde denna källkod tillgänglig offentligt under GPL, och bör markera detta i din tråd med en länk. (Många respekterade och pålitliga webbplatser kommer att vara värd för koden gratis åt dig, t.ex GitHub och Bit hink.)
Genom att lägga upp arbete med öppen källkod på XDA säkerställer du också att dina tillgängliga källor är uppdaterade med det arbete du har släppt. Detta betyder att om du uppdaterar din kärna för att lägga till en ny funktion, till exempel, bör dina källor uppdateras för att inkludera denna ändring. Om de inte är det betyder det att du inte följer GPL.
Det finns ingen bestämmelse i GPL för att neka åtkomst till källor baserat på tid eller andra villkor, så försök inte detta, eftersom det bara ger dig själv en formell GPL-begäran. Om du inte tillhandahåller de korrekta, korrekta och uppdaterade källorna (och håller dem uppdaterade) kommer du inte att följa GPL.
För att vara helt GPL-kompatibel måste dina källor:
- Skapa och producera framgångsrikt en giltig utdatafil, som är samma format som tillhandahålls i binären
- Innehåller all källkod, gränssnittsdefinitionsfiler, skript som används för att kontrollera kompilering och installation av den körbara filen (det är inte nödvändigt att inkludera den faktiska kompilator/verktygskedja, men tillräcklig information bör göras tillgänglig för att få SAMMA konfiguration, inklusive kompilatorflaggor, som används för att bygga den binära versionen som släppte)
GPL är ett juridiskt verkställbart licensavtal, och samtidigt som det erbjuder användarna friheter att kopiera och omdistribuera kod, att tillståndet är villkorat av att alla ändringar som släpps görs offentligt tillgängliga. Om du behöver ytterligare råd i denna fråga föreslår vi att du granskar licensen själv eller rådfråga en advokat.