Samsung 2025? Maak nu kans op een Music Frame t.w.v. €449!

Android N niet meer afhankelijk van eigen Java-versie Google

Sander Tuit
Sander Tuit
30 december 2015, 16:19
4 min leestijd
Android N niet meer afhankelijk van eigen Java-versie Google

Lees verder na de advertentie.

Java als platform, eigen implementatie

Het verhaal rondom Java is redelijk ingewikkeld. De eerste openbare versie van Java als platform en programmeertaal werd in 1995 uitgebracht door Sun Microsystems. Dat bedrijf werd in 2009 overgenomen door Oracle en daarmee begon ook een jarenlange juridische strijd.

Java SE is een standaard waarin vastgesteld wordt waar een Java-implementatie aan moet voldoen. Eén van deze implementaties is de JDK (Java Development Kit) van Oracle. Een andere is de OpenJDK, een open source-versie die in eerste instantie vrij werd gegeven door Sun Microsystems en nu door de community en Oracle-ontwikkelaars wordt bijgehouden. Google heeft voor Android een eigen implementatie gemaakt, waarbij de structuur van het Java-platform aan werd gehouden, inclusief de namen van een aantal functies. Dit zorgt er voor dat bestaande apps eenvoudiger overgezet konden worden naar Android, maar vooral ook dat ontwikkelaars minder nieuwe functies hoefden te leren. 

Aanklachten

In 2010 klaagde Oracle Google in de Verenigde Staten aan vanwege het gebruik van Java in Android. Java wordt gebruikt als programmeertaal voor de meeste Android-apps en draait dus op een eigen implementatie van het Java-platform. De patentschendingen werden van de tafel geveegd tijdens de rechtszaken die de afgelopen jaren uitgevochten werden. Wat nog wel bleef staan was de klacht over copyright-schending door Google. Die klacht bestaat uit twee onderdelen. Ten eerste zou Google een negental regels code direct van de Sun/Oracle-versie van Java gekopieerd hebben en ten tweede maakt Google gebruik van de Java-interfaces. Door deze dezelfde naam en opbouw te geven, zou Google inbreuk maken op het auteursrecht van Oracle.

De eerste claim bleek inderdaad gegrond: de negen regels aan code (op de meer dan 15 miljoen regels code waaruit de Android-versie van Java op dat moment bestond) waren gekopieerd door de Android-ontwikkelaar die de code zelf had geschreven toen hij nog bij Sun werkte. Google had de code al direct vervangen toen duidelijk werd dat deze gekopieerd was en omdat Oracle geen schadebedrag had gehangen aan de inbreuk, liep dit verhaal voor Google met een sisser af en hoefde het bedrijf geen schadevergoeding te geven.

Het tweede gedeelte van de inbreuk kreeg echter een staartje. De rechter die de rechtszaak voorzat wilde geen oordeel vellen over of de interfaces wel of niet auteursrechtelijk beschermd zijn. In eerste instantie werd door een districtsrechtbank besloten dat het niet mogelijk was om op deze manier copyright te krijgen op de structuur van een programmeertaal. Die beslissing werd in 2014 jaar teruggedraaid door een federale rechtbank, waarop Google een petitie indiende bij het hooggerechtshof, maar deze werd dit jaar afgewezen. De lokale rechtbank zal nu een oordeel moeten vellen over of Google daadwerkelijk inbreuk maakt op de auteursrechten van Oracle, of dat er sprake is van fair use, een vorm van gebruik waarbij geen sprake is van inbreuk op de auteursrechten.

Google stapt over naar OpenJDK

In de aankomende grote versie van Android, Android N, zal Google overstappen van een eigen implementatie naar OpenJDK. Dit zorgt er voor dat Google bij nieuwe Android-versies uit het vaarwater van Oracle blijft en lijkt, ongeacht of Oracle gelijk krijgt van de jury, een verstandige beslissing om toekomstige problemen te voorkomen. OpenJDK is namelijk vrijgegeven onder een open source-licentie die het gebruik aan iedereen die zich aan die licentie houdt toestaat.

OpenJDK is sinds de nieuwste versie van Java SE (versie 8) de referentie-implementatie van Java. Google draagt al tijden bij aan de ontwikkeling van OpenJDK en is van plan in de toekomst grotere bijdragen te leveren. De switch van een eigen versie van Java naar OpenJDK lijkt op het eerste gezicht bedoeld om verdere problemen met Oracle te voorkomen, maar er zijn ook andere redenen. Naast speculatie dat Google mogelijk, buiten de rechter om, geschikt heeft met Oracle, geeft Google zelf aan dat het bedrijf met de overschakeling een grotere impact wil maken op de verdere ontwikkeling van Java.

Dat Google op dit moment overschakelt naar OpenJDK is ook begrijpelijk vanuit een ander perspectief. Android is nu gebaseerd op Java SE 7 en Google wil overschakelen naar Java SE 8. Deze nieuwe Java-versie introduceert nieuwe mogelijkheden voor ontwikkelaars. Als er dan toch een relatief grote omschakeling gemaakt moet worden, is het niet gek dat er juist nú OpenJDK gebruikt gaat worden.

Wanneer?

De vraag is nu wanneer we Android N gaan zien. Als Google zich vasthoudt aan het schema van de afgelopen twee jaar, lijkt een eerste aankondiging van de ontwikkelaarsversie van Android N tijdens Google I/O half 2016 en een uiteindelijke release in de herfst van dat jaar voor de hand liggen.

Bron: VentureBeat, Wikipedia, HackerNews

Op de hoogte blijven?

Volg Androidworld nu ook op WhatsApp

Download de nieuwe Androidworld-app!

Reacties

2

Inloggen of registreren
om een reactie achter te laten

30 december 2015, 17:56

Juridisch is dit een bijna vanzelfsprekende stap maar wat doet deze overstap naar OpenJDK met de performance van Android. Houdt deze stap verband met de al aangekondigde Optimizing compiler die de Quick compiler moet vervangen?
http://www.androidauthority.com/art-optimizing-compiler-605011/

30 december 2015, 17:35

Android N met split screen zou geweldig zijn.