Samsung brengt broncode van Galaxy S4 uit

Samsung heeft de broncode die gebruikt wordt voor de kernel van de Galaxy S4 publiekelijk gemaakt. Onder andere voor de Europese versie van de nog uit te brengen smartphone is broncode beschikbaar. Dit kan onder andere helpen bij het maken van custom roms.

De broncode verscheen op de website van Samsung en werd onder andere door Android Police ontdekt. Op de downloadsite staat onder andere de kernelcode voor de GT-i9505, de codenaam van de Galaxy S4-versie die met Qualcomm Snapdragon S4 600-soc uit moet komen. Deze variant komt onder meer in de Nederlandse winkels te liggen.

Met de kernelcode wordt het voor ontwikkelaars gemakkelijker om custom roms te bouwen voor de Galaxy S4. Aanpassingen die Samsung heeft doorgevoerd in de Android-kernel om de nog uit te brengen smartphone op de gekozen hardware te laten draaien, zijn hierdoor inzichtelijk voor rom-makers.

De Galaxy S4 moet op 27 april verkrijgbaar zijn in de Nederlandse winkels, maar een Nederlandse ontwikkelaar slaagde er al voor de release in om roottoegang te krijgen op het toestel. Custom roms zijn er echter nog niet en het is onduidelijk wanneer deze zullen verschijnen. Alhoewel het bouwen van de software gemakkelijker wordt met de door Samsung beschikbaar gestelde broncode, is het eveneens noodzakelijk om de bootloader te ontgrendelen op de Galaxy S4, zodat het draaien van aangepaste software mogelijk wordt.

Door RoD

Admin Mobile

20-04-2013 • 12:18

40 Linkedin

Reacties (40)

40
35
31
12
3
1
Wijzig sortering
Wat een ommezwaai van Samsung. De reden dat Cyanogenmod gestopt is met de ontwikkeling van CM10 voor de Galaxy S3 is juist het feit dat Samsung weigerde de broncode vrij te geven.

Zou het te maken hebben met het feit dat de Europese S4 voorzien is van de Snapdragon processor waar de S3 een exynos had?

In dit geval zou het zomaar kunnen zijn dat Samsung de broncode van de S4 met Exynos alsnog achterhoudt.
De broncode van de kernel moeten ze vrijgeven ivm GPL licentie. Het draait om de drivercode van de overige hardware, zoals camera, wifi, sensors etc. Zolang deze niet worden vrijgegeven, blijft het moeilijk een volledig functionele, stabiele ROM uit te brengen.
Precies, er zal zonder twijfel wel een developer opstaan die met de S4 aan de slag gaat. Ik verwacht echter geen enkel verschil t.o.v. de situatie op de S3..

Hoe anders is het wanneer je kijkt naar een fabrikant zoals bijvoorbeeld Sony.. Mooi voorbeeld :

http://developer.sonymobi...ource-github-open-source/
Sony heeft hier niets aan open source code bijgedragen! Wat sony heeft gedaan is een zogenaamde 'binary blob' (een ge-precompilede driver) uitbrengen dat gebruikt kan worden als fix voor het geluid bij een aantal xperia toestellen. De meeste fabrikanten brengen ook soortgelijke ge-precompilede drivers uit, ook samsung. Het nadeel van deze stukken code is dat de broncode er niet van in is te zien en dus ook niet aan te passen is.

Het is dus de goodwill van een fabrikant dat ze zoiets doen. Het releasen van de broncode van deze drivers wordt meestal verhindert door de fabrikant van de hardware als de processor, grafische chip, netwerk, etc.

definitie binary blob: "In the context of open source software, a binary blob is a closed source binary-only driver without publicly available source code." http://en.wikipedia.org/wiki/Binary_blob wikipedia

Het meest opvallende aan deze move van sony was, dat ze deze drivers specifiek voor de modding community uitbrachten, waar andere fabrikanten dat meer doen onder richtlijnen en licenties als GPL. Wanneer een custom firmware als CyanogenMod wordt aangepast / gemaakt voor één specifiek toestel, moet er dus gedwongen gebruik worden gemaakt van deze drivers die niet te backporten zijn of aan te passen zijn.

Dit is ook waar de ontwikkelaars van CyanogenMod over struikelden, waardoor ze geen officiële ondersteuning meer willen geven aan samsung telefoons, want samsung brengt alleen maar een aantal van deze ge-precompilede drivers uit zonder documentatie, waardoor het een hele ingewikkelde legpuzzel wordt om ze werkend te krijgen.
Aha, wel de kernel, maar niet de drivers. Duidelijk! Thanks! :-)
Zou dit komen door het vrije harde statement van CM om de S4 links te laten liggen?

En is dit incl. de drivers?

[Reactie gewijzigd door Arnout op 20 april 2013 12:28]

Nee zeker niet, Samsung geeft echt niet om die <1% groep, maar juist om de massa...

Kernel code moet altijd vrij gegeven worden (indien daar om gevraagd wordt), en dat gebeurd ook gewoon ook voor de Exynos, anders mogen ze Android niet eens gebruiken, want die gebruikt een linux-kernel met de licentie GPLv2 :)

Kernel source van Exynos 4412 in de Note 2:
http://opensource.samsung...=search&searchValue=N7100

Kernel source van Exynos 4210 in de Note:
http://opensource.samsung...=search&searchValue=N7000

Kernel source van de Exynos 4412 in de S3:
http://opensource.samsung...arch&searchValue=GT-I9300

Kernel source van de Exynos 4210 in de S2:
http://opensource.samsung...arch&searchValue=GT-I9100

Kernel source van de Exynos 3 Single (aka hummingboird) in de S1:
http://opensource.samsung...arch&searchValue=GT-I9000

Kernel source van de Exynos 5 Dual in de Nexus 10:
https://android.googlesou...xynos-manta-3.4-jb-mr1-fr

Probleem is alleen dat er nog zoveel meer is dan alleen de kernel (drivers vooral) om het allemaal goed werkend te krijgen en dat hoeft nou net niet (verplicht) open source te zijn...

[Reactie gewijzigd door watercoolertje op 20 april 2013 13:14]

Wat je zegt klopt: De kernel moet opensource zijn. De drivers in sommige gevallen ook.

Een fabrikant kan er voor kiezen de drivers als een module aan de kernel te koppellen (vaak niet opensource)

Of om ze in de kernel te haken/verwerken (dan moeten ze opensource zijn)

Beide opties hebben voor en nadelen mits ze goed geprogrameerd zijn! (bij dat laatste gaat het vaak fout)

Met processors worden vaak de processor zelf in de kernel verwerkt. Maar bepaalde aspecten zoals instructiesets willen nog wel eens als module meegeleverd worden met als gevolg dat deze niet in te zien zijn.

Dit was bijvoorbeeld met de N900 1 van de problemen. Nokia heeft destijds zoveel mogelijk opensource gemaakt maar kon dit niet allemaal doen vanwege wettelijke aspecten/gelicenseerde aspecten. Zoals met bijvoorbeel het belgedeelte. Dit resulteerde erin dat Nitdroid (Android voor de N900) bijna alles kon behalve bellen en bepaalde dingen die daar afhankelijk van waren. (reverse ingenering is een optie voor de communitie maar duurt lang --> zie bijvoorbeeld nvidia)

En daarom is Cyanogenmod misschien wel geheel fout geweest. Ze kunnen bij Samsung klagen maar misschien lag het wel aan het bedrijf dat de Exynos proccesor maakte en was het verboden voor Samsung om het vrij te geven.

@Beuzelarij: Garantie is wettelijk verplicht. Vrijgeven van broncode onder GPL ook. Het afwegen van een keuze om voor opensource te kiezen niet! Dat is een marketingtechnisch keuze en het landschap daarin is sterk veranderd! De licentie voor de exynos kan wel 2 jaar geleden zijn aangevraagd toen de situatie anders was (ik weet niet hoe oud de architectuur is)

Updates zijn daarom naar mijn mening verplicht zolang de basisfunctionaliteit niet goed werkt waar het middel voor verkocht is.

Maar niet voor mods enz. (al is het wel leuk natuurlijk)

Betreft securityupdates is dit nogal tegenstrijdig. En in een grijs gebied (anders had Microsoft alle upgrades voor Windows geheel gratis moeten weggeven of delen daarvan)

[Reactie gewijzigd door rob12424 op 20 april 2013 15:15]

En daarom is Cyanogenmod misschien wel geheel fout geweest. Ze kunnen bij Samsung klagen maar misschien lag het wel aan het bedrijf dat de Exynos proccesor maakte en was het verboden voor Samsung om het vrij te geven.
Dat is geen argument.

Wat jij met deze stelling doet is feitelijk wat heel veel winkeliers proberen te doen bij garantieperikelen: Verwijzen naar de fabrikant. Samsung produceert toestellen, en ze gebruiken/kopen daarbij hardware waarvan ze wel of niet de (broncode van de) drivers kunnen vrijgeven. Dat is dus een keuze die ze hebben bij het ontwerp, ze weten op voorhand of ze daar wel of geen informatie over mogen vrijgeven. Dan moet een fabrikant niet doen alsof ze achteraf als het ware verbaasd zijn, of plotseling geconfronteerd worden met zo'n dilemma. Als Samsung beperkingen oplegt, klaag je als koper bij Samsung. Dan moet Samsung maar inkopen/onderhandelen/produceren op een manier waarbij ze wel informatie kunnen vrijgeven. Of ze doen dat niet, en dan kun je als potentiële koper gewoon naar de concurrent gaan.

Het is, zeker in geval van Android, een bewuste keuze tijdens het ontwerpproces of er al dan niet gebruik wordt gemaakt van hardware waarvan men drivers wel of niet mag/kan vrijgeven. Zo'n beslissing in het ontwerpproces wordt daarnaast niet enkel op basis van technische argumenten genomen, ook financiële aspecten spelen daarbij een rol.

[Reactie gewijzigd door Beuzelarij op 20 april 2013 14:56]

Argument houdt wel degelijk. Het is namelijk niet te vergelijken met garantie, maar meer met patenten - eigendom kan ergens anders liggen dan bij de leverancier met als gevolg dat de leverancier er niks over kan/mag zeggen als dat opgelegd wordt. IP zaken en openbaar publiceren gaan niet goed samen.

Je kunt wel zeggen ga klagen bij Samsung - maar als ze niet akkoord gaan moeten ze een ander product kiezen wat misschien ook niet goed is voor de consument. Dan heb je wel je volledig openbare software, maar zul je zien dat bijvoorbeeld het verbruik hoger is. Er is altijd wel een positieve/negatieve kant aan een keuze, als ergens alleen voordelen zijn had iedereen wel dezelfde hardware gekozen.

Welkom in de wereld van open markten en concurrentie.
Raad eens wie de fabrikant van Exynos is?
Samsung!
Dus zij kunnen, neem ik aan, zelf weten of ze het vrijgeven of niet.
Het is al een keer eerder gebeurd dat ARM de release van Source code bij een ander bedrijf tijdelijk verboden heeft!

Ook arm kan hier dwars liggen bijvoorbeeld voor licentie afname van een andere partij. Die nog niet rond is. Ter verduidelijking:

Partij 1 heeft een licentie afgenomen met bijvoorbeeld de nodige facetten. Bij arm die nog niemand heeft.
Partij 2 wil gedeeltelijk hetzelfde product maken als partij 1 maar mist bepaalde facetten die mogelijk in de broncode kunnen zitten en onderhandeld met arm over een deal.

Dan kan ARm in sommige gevallen verplichtigen/vragen (afhankelijk van Clausules in de licentie afname bij partij 1) om de broncode vrijgave tot de onderhandeling rond is uit te stellen.

[Reactie gewijzigd door rob12424 op 20 april 2013 15:08]

Niet omdat het beide onder de naam Samsung valt, dat dit voor hun ook niet telt. Samsung Electronics en Samsung Semiconductor zijn namelijk 2 verschillende bedrijven die onafhankelijk van elkaar werken. Hiervan een gevolg is ook dat Samsung Semiconductor een groot percentage van de chips in de iPhones kan produceren, zonder dat Samsung Electronics daar een stokje voor kan steken.
Wat een ommezwaai van Samsung. De reden dat Cyanogenmod gestopt is met de ontwikkeling van CM10 voor de Galaxy S3 is juist het feit dat Samsung weigerde de broncode vrij te geven.

Zou het te maken hebben met het feit dat de Europese S4 voorzien is van de Snapdragon processor waar de S3 een exynos had?

In dit geval zou het zomaar kunnen zijn dat Samsung de broncode van de S4 met Exynos alsnog achterhoudt.
Ik denk inderdaad dat dit komt doordat het niet de exynos processor is en dat deze ook niet toegankelijk zal worden. Ik ben benieuwd of CM dan hier weer voor gaat ontwikkelen als één versie toegankelijk is. Ik denk het eigenlijk wel, want waarschijnlijk krijgt het dan een enorme userbase.
Dat klopt niet.
De kernel sources van de Exynos Processor zijn ook released.

Bron: http://www.androidpolice....37m-virgin-mobile-canada/
"The 9500 is the Exynos Octa-powered edition of the Galaxy S4"
"Samsung Begins Dropping Galaxy S4 Kernel Source - GT-I9500 And GT-I9505 "
Kernel: ja. Drivers (minimaal even belangrijk): nee.
Ze zijn toch verplicht om die code te publiceren? Die kernel valt onder GPL en dan moet je de broncode geven als je gebruikers daar om vragen. Ik geloof dus niet dat Samsung iets te kiezen heeft.
Anoniem: 449164
@360Degreez20 april 2013 15:17
Maar in de Amerikaanse versie van de s3 werd al een qualcomm processor gebruikt dus dat lijkt mij best wel onwaarschijnlijk als dat de reden is.
Best wel interessant om te zien hoe de Exynos 5 Octa werkt met het switchen tussen de A7 en A15 cores.
#define DOWN_STEP_OLD 1100000
#define DOWN_STEP_NEW 600000
#define UP_STEP_OLD 550000
#define UP_STEP_NEW 600000
#define STEP_LEVEL_CA7_MAX 600000
#define STEP_LEVEL_CA15_MIN 800000

if (freqs[cur]->old <= UP_STEP_OLD && target_freq > UP_STEP_NEW)
target_freq = STEP_LEVEL_CA7_MAX;

if (freqs[cur]->old >= DOWN_STEP_OLD && target_freq < DOWN_STEP_NEW) {
if (strcmp(policy->governor->name, "ondemand") == 0)
target_freq = STEP_LEVEL_CA15_MIN;
else
target_freq = STEP_LEVEL_CA7_MAX;
}

if (cur == CA15 && target_freq < freq_min[CA15]) {
do_switch = 1; /* Switch to Little */
} else if (cur == CA7 && user_set_eagle_count > get_num_CA15()
&& target_freq > freq_max[CA7]) {
do_switch = 1; /* Switch from LITTLE to big */
if (count > 0 && count < 4 &&
target_freq > exynos_info[cur]->max_op_freqs[count + 1])
later = true;
}
Uitleg
"EDIT: There's plenty of evidence of a global LTE enabled 5410 device, the kernel even has the usual modem drivers for it and GPIO board definitions."

Vond ik weer uitermate interessant om te lezen :9~
Positief bericht! Er is niks irritanter om een stable build te maken met black boxed drivers waar je niks aan kan veranderen. Vaak komen daar bugs uit voort die je niet kan oplossen.

Dit betekend dat je hele stabiele roms kan bouwen :)
kernel source code != drivers

het enige dat ze hier doen is hetgeen waar ze verplicht toe zijn door het egbruik van android.
de drivers worden hier niet aangehaald en zullen naar alle waarschijnlijkheid nog steeds proprietary blobs zijn.

er is dus niets extra positiefs aan en betekend helemaal al niet dat je hierdoor stabiele roms zou kunnen bouwen
Nou nou wat een lovende woorden hierboven. Bij de S2 zijn er ook al honderden keren broncodes vrijgegeven. Allemaal oude meuk voor Android 2.3. Dit houdt gewoon in dat je 4.2.2 waarschijnlijk stabiel kan draaien en dat alle Android versies die volgen ruk zijn.
Anoniem: 284985
@Strunkie20 april 2013 12:35
Ik draai hier toch mooi stabiel 4.2.2 op mijn oude S2 (wachtend op de One).

Zijn ook de drivers open-source nu of nog steeds binary blobs?
Er zit altijd ergens een addertje onder het gras. De community moet op de een of andere manier afhankelijk blijven van Android anders heb je binnen de kortste keren een superveilige omgeving zonder reclame en massa's gratis software, oftewel dan kan Android inpakken. Rooten of bootloader-unlocken is ok, want daar heb je Android zelf voor nodig. Native een custom ARM-kernel opstarten van een flash-kaart of netwerk is nog steeds een "probleem".
Maar waarschijnlijk hebben Samsung en Google hier duidelijke afspraken over.
Als beide (I9500 en I9505) bron en drivercodes worden vrijgegeven begin ik toch te twijfelen of ik mijn toestel niet over de grens ga halen met een exynos processor...
Ik snap je helemaal ik begin ook te twijfelen.
Denk als ik een S4 koop (nog niet zeker) dat ik wel even naar onze ooster buren ga om er een te halen met exynos.
Wat ik me nu ook afvraag: bijna alle fabrikanten: zowel amd, nvida, samsung en nog een paar geven elke keer vooral dingen met de video niet vrij. En dat is wel heel toevallig.

Zou dit te maken kunnen hebben met hardwarematige videodecomprossie en de angst voor patentaanvallen door Codec licencing company's. Als je de code vrijgeeft kunnen hun erin spitten voor aanklachten. En omdat er nogal veel onduidelijkheid is over de rechten enz. van codecs (gezien de snelste hardwarematige methode best wel eens op de mannieren kunnen lijken hoe codecs werken en het per ongeluk duplicate code kan zijn) Of daar bang voor zijn?
Anoniem: 461768
@rob1242421 april 2013 05:54
Das inderdaad een mogelijkheid, daarom moeten software patenten afgeschaft worden...
Wat zit er echter bij deze broncode meegeleverd? Ik meen dat dingen als multiview en Smart Stay en ikdacht zelfs ssommige drivers niet bij het voor de S3 gereleasede materiaal zaten, wat best wel wat S3-bezittende Tweakers in de weg zat.

Edit: naar wat ik hierboven lees nog steeds niet veel soeps, maar zeer waarschijnlijk enkel het minimum waar ze toe verplicht zijn.

[Reactie gewijzigd door Amanoo op 20 april 2013 19:37]

Oh, dat had ik niet verwacht! Goede move van Samsung.
Ze zijn het verplicht hoor :D Anders mogen ze geen Linux-kernel gebruiken...

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee