Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Je kunt ook een cookievrije versie van de website bezoeken met minder functionaliteit. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 40 reacties, 30.440 views •

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.

Reacties (40)

Reactiefilter:-140035+131+212+33
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.
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...rch&searchValue=N7100

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

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

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

Kernel source van de Exynos 3 Single (aka hummingboird) in de S1:
http://opensource.samsung...&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]

Raad eens wie de fabrikant van Exynos is?
Samsung!
Dus zij kunnen, neem ik aan, zelf weten of ze het vrijgeven of niet.
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.
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]

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.
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.
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! :-)
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.
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.
Oh, dat had ik niet verwacht! Goede move van Samsung.
Ze zijn het verplicht hoor :D Anders mogen ze geen Linux-kernel gebruiken...
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.
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.
Meningen verschillende. Ik vind Samsung zijn nieuwere toestellen best prima om aan te zien. De iPhones en de HTC One vind ik juist oerlelijk dingen. En die eerste groep is iets wat je in mijn ervaring juist wat je in de meeste Industrieel Ontwerper-handen tegen komt.
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.
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~
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?
Das inderdaad een mogelijkheid, daarom moeten software patenten afgeschaft worden...

Op dit item kan niet meer gereageerd worden.



Apple iPhone 6Samsung Galaxy Note 4Apple iPad Air 2FIFA 15Motorola Nexus 6Call of Duty: Advanced WarfareApple WatchWorld of Warcraft: Warlords of Draenor, PC (Windows)Microsoft Xbox One 500GBSamsung

© 1998 - 2014 Tweakers.net B.V. Tweakers is onderdeel van De Persgroep en partner van Computable, Autotrack en Carsom.nl Hosting door True