Blog

Apple verkoopt gebakken lucht: Swift2 open source

Veel developers en Apple-fanaten hebben gisteren de WWDC2015-ontwikkelaars conferentie gezien. Naast nieuwe versies van de besturingssystemen OS X, iOS en WatchOS en de introductie van Apple Music, kondigde Apple ook de komst aan van een nieuwe versie van haar vorig jaar geïntroduceerde programmeertaal Swift: Swift 2. Het luidste applaus in de zaal kwam bij de aankondiging dat de programmeertaal open source zal gaan. Apple! Open source! Applaus!! Maar wat Apple in dit geval doet is het verkopen van gebakken lucht. Een programmeertaal als Swift2 kán niet open source ‘vrij’ worden gegeven omdat het al vrij is!

  1. Open source?

Iets opensourcen betekent niets meer dan dat je onder bepaalde (licentie-)voorwaarden anderen het recht geeft om het object van de licentie, zoals software, ‘vrij’ te gebruiken, te publiceren, te kopiëren en te wijzigen. Dit staat haaks op de ‘proprietaire’ wijze van exploitatie van software zoals ‘normaal’ gesproken gebeurd met EULA’s en andere licentieovereenkomsten. Maar ironisch genoeg zijn beide soorten voorwaarden (open source licentievoorwaarden en ‘proprietaire’ licentievoorwaarden) gestoeld op dezelfde grondslag: het auteursrecht.

  1. Auteursrecht

Het auteursrecht (of copyright) beschermt de maker van een eigen intellectuele schepping. Dit werk moet dan wel een eigen, oorspronkelijk karakter hebben en de persoonlijk stempel van de maker dragen. Er moeten dus creatieve keuzes zijn gemaakt. Auteursrecht kan daardoor rusten op bijvoorbeeld afbeeldingen, foto’s, teksten, logo’s, ontwerpen en vormgeving. Maar ook broncode en andere vormen van software kunnen auteursrechtelijk beschermd zijn.

  1. Toestemming en voorwaarden

Het auteursrecht geeft de maker van het werk (in beginsel de programmeur in het geval van software) het exclusieve recht om dat werk te exploiteren: het beschermt je tegen het zonder toestemming kopiëren of publiceren van het auteursrechtelijk beschermde werk. Zonder toestemming software publiceren, kopieren, wijzigen of gebruiken mag dus niet. Met toestemming wel. En die toestemming wordt dus vaak verleend in de vorm licentievoorwaarden. Zowel open source (van “doe ermee wat je wil” tot “je mag het vrij gebruiken, maar alles wat je erop baseert moet ook vrij worden gegeven”) als proprietair (“je mag dit alleen gebruiken onder deze en deze voorwaarden, en dit mag niet en dat is ook verboden).

  1. Programmeertalen

Swift 2 is een programmeertaal. Een programmeertaal (of programming language) is een formele taal waarin opdrachten staan geschreven die een computer moet uitvoeren. Een programmeertaal dient – in tegenstelling tot natuurlijke talen als Engels en Nederlands – maar op één manier begrepen te kunnen worden door een computer. Normale, natuurlijke talen zijn dus te complex en ambigu voor een computer om als programmeertaal te fungeren.

  1. Programmeertalen en auteursrecht

Om voor auteursrechtelijke bescherming in aanmerking te komen moet er dus sprake zijn van een eigen intellectuele schepping in de creatie van het werk. En daar wringt de schoen: programmeertalen voldoen daar niet aan!

a. Europa

Het Europese Hof van Justitie heeft dat bepaald in de SAS Institute (SAS) – World Programming Ltd (WPL) zaak (HvJEU, 2 mei 2012, C-406/10). In die zaak ging het om een interpreter voor de SAS programmeertaal. SAS had deze taal ontwikkeld als onderdeel van hun analysesoftware. Het bedrijf WPL besloot een eigen interpreter te ontwikkelen die software geprogrammeerd in SAS kon emuleren. SAS was daarmee niet in zijn sas en besloot WPL aan te spreken op auteursrechtinbreuk.

Na een lange procedure voor de Engelse rechter kwam het Europese Hof van Justitie aan de pas. En daar wordt geoordeeld dat het echt moet gaan om de uitdrukkingswijze van een computerprogramma, zoals in broncode of objectcode.

Van inbreuk op auteursrecht kan dan pas slechts sprake zijn als die uitdrukkingswijze terug te vinden is in het werk van de ander. Functionaliteit, bestandsformaten en programmeertalen zijn geen onderdeel van die uitdrukkingswijze, maar achterliggende ideeën en beginselen waarmee de code wordt gemaakt.

Een programmeertaal betreft dus geen “creatieve” uitdrukkingswijze van een computerprogramma, maar de achterliggende beginselen waarmee het computerprogramma kan worden gemaakt. Zeg maar: de bakstenen zijn niet beschermd, de architectuur van het huis wel. Om die reden valt een programmeertaal buiten de bescherming van het auteursrecht, aldus het Hof.

b. Californië, Verenigde Staten

Maar goed, zo zit het in Europa. Het hoofdkwartier van Apple ligt echter in Cupertino. En hoewel Cupertino wellicht wat Spaans klinkt, ligt dit toch echt in Calfornië in de Verenigde Staten. Gaat voornoemde vlieger daarom niet op voor Apple? Ik denk het niet, en wel om het volgende:

In 2014 heeft het Amerikaanse gerechtshof in Californië namelijk een hiervoor relevante zaak behandeld tussen Google en Oracle. In die zaak speelde een geschil tussen Google en Oracle over de overname van een aantal elementen uit de Java API van Oracle door Google in haar Android programmatuur. Java is daarop de rechtszaak gestart waarin zij Google betichtte van auteursrechtinbreuk.

De Amerikaanse rechter stelt vast dat het maken van een API een creatief werk kan zijn, en dus auteursrechtelijk beschermd kan zijn. Immers, bij het creëren van een API kan je kiezen welke functies je gaat aanbieden, hoe de functies worden genoemd, welke input ze moeten krijgen en welke output er dan komt. Dit alles kan creatief zijn en kan dus door auteursrecht worden beschermd.

Overname van de aangeboden code, structuur, volgorde en organisatie van API-packages waarin dergelijke creatieve keuzes zijn gemaakt betreft dus een overname van een auteursrechtelijk beschermd werk: Google heeft met Android het auteursrecht van Oracle geschonden, aldus het Gerechtshof.

Interessante kanttekening daarbij is dat het Gerechtshof daarbij wel een duidelijk onderscheid heeft gemaakt tussen de Java programmeertaal (de commando’s en keywords die voor iedereen vrij te gebruiken zijn) en de API’s. Google had ervoor kunnen kiezen om eigen API’s te schrijven door de Java programmeertaal te gebruiken, maar heeft ervoor gekozen om dat niet te doen – en dus om inbreuk te plegen op het auteursrecht op de API.

  1. Wat betekent dit nu voor Swift 2?

Swift 2 is een programmeertaal en als achterliggende beginselen van een softwareprogramma niet auteursrechtelijk beschermd. Dat betekent dat het gebruik daarvan in principe vrij staat. Toestemming om de programmeertaal te gebruiken, te kopiëren, te publiceren of te wijzigen is dus niet vereist. Licentievoorwaarden waarin zo’n toestemming wordt gegeven zijn dus volstrekt niet relevant: ook zonder die voorwaarden mag je de programmeertaal gebruiken, kopiëren, publiceren en wijzigen. Het gebruik van een programmeertaal staat al vrij en kan dus niet auteursrechtelijk aan (vrije) voorwaarden worden verbonden: en dus ook niet open source. Dat Apple de mogelijkheid om de programmeertaal “vrij” te gebruiken, kopiëren, publiceren en te wijzigen door middel van open source licentievoorwaarden is, kortom, een staaltje gebakken lucht verkopen in de hoogste categorie.

 

Gerelateerde berichten

Leave a comment