Dit is dus niét hoe je reageert als mensen je als gratis leverancier zien met je open source

Gisteren blogde ik over een OSS developer die de vraag van een gebruiker kreeg “graag binnen 24 uur hoe uw bedrijf is ingericht op het afdekken van risico’s rondom de enorme log4j bug”. Dat is een typische grootzakelijke manier van doen, die verder met de realiteit niets te maken heeft. Kan gebeuren, je stuurt een “haha no sla okthxbye” mailtje of en klaar. In de comments werd ik getipt over ene meneer Marak die anders reageerde: hij saboteerde zijn eigen code, waar vele vele mensen en projecten door gedupeerd werden.

Marak is ontwikkelaar van een uitbreiding op het bekende node.js framework voor Javascript. Zijn module colors zorgt voor mooie stijling van de beheersomgeving. Verder weinig opmerkelijk, alleen bleek dat recent een toevoeging te hebben gekregen die zorgt voor een oneindige lus, waardoor je hele systeem niet meer werkte als je deze module automatisch liet updaten. Wat iedereen en z’n moeder doet, dus dat gaf de nodige ergernis.

Een foutje? Nee, zeker weten niet. Allereerst niet omdat het een losse nieuwe regel was, met ook nog eens “for i = 666; i < infinity” er in, en dat getal heeft natuurlijk een negatieve betekenis. En ten tweede omdat Marak eerder al boos was dat bedrijven zijn code gebruiken zonder hem financieel te steunen. Wat zijn goed recht is, daar niet van, maar dan volautomatisch je code saboteren, dat kun je niet maken.

Of was het dom van al die mensen, hadden ze maar de code moeten controleren en niet automatisch updaten? Dat vind ik te makkelijk. Natuurlijk hoor je niet zomaar willekeurige code van internet te halen en in productie te nemen, maar dit is een project dat al enige tijd bestaat, goed aangeschreven staat en daarom vertrouwd wordt. Dan wek je bepaalde verwachtingen – en dat gaat boven je opensourcelicentie waarin “als het breekt, mag je de stukjes houden” staat als beperking van aansprakelijkheid.

(Voor de juristen: dit lijkt mij zo’n geval  van opzet of grove nalatigheid waarbij je beperking van aansprakelijkheid niet geldt.)

Regelmatig zie ik dan de opvatting “het is mijn code, ik doe wat ik wil en ik heb geen contract met die mensen dus ik ben niets verplicht”. Dat is dus te kort door de bocht. Door op een bepaalde manier te handelen, schep je verwachtingen. Als jij die verwachtingen regelmatig waar maakt, ontstaat een patroon waar mensen op mogen vertrouwen. Dat kun je niet eenzijdig doorbreken, zeker niet op zo’n lompe en schadebrengende manier. Dat noemen we in Nederland gewoon onrechtmatig, dat kun je niet maken.

Arnoud

 

Ministers stelt ontwikkelaars aansprakelijk voor softwarefouten

Demissionair staatssecretaris Klaas Dijkhoff heeft in een Kamerbrief gezegd zegt dat softwareontwikkelaars op verschillende manieren aansprakelijk zijn voor schade die als gevolg van hun product ontstaat. Dat las ik bij Tweakers. Juridisch gezien zegt hij weinig nieuws; de regels over conformiteit bij producten bevatten immers geen uitzondering voor de software-delen van producten. Nieuw is wel de expliciete opmerking dat er ook aansprakelijkheid bestaat “als de software niet voldoet aan de veiligheid die is overeengekomen of die de afnemer redelijkerwijs mocht verwachten.” Hoi hoi, ontwikkelaars aansprakelijk voor security bugs?

In de brief presenteert de staatssecretaris het Cybersecuritybeeld Nederland 2017. De omgang met security bugs en security updates is daarbij een belangrijk aandachtspunt.

De Kamer wilde specifiek weten hoe het zat met aansprakelijkheid voor ontwikkelaars of verkopers van onveilige producten. Ik roep al jaren dat het tijd wordt om productsecurity in de wet te zetten, maar uit deze brief blijkt dat ik achterloop: dat staat al jaren gewoon in de wet. Producten mogen immers geen gebrekkige veiligheid hebben, anders is de leverancier of producent daarvoor aansprakelijk (art. 6:185 BW).

Laat ik nu altijd gedacht hebben dat dat gaat over fysieke veiligheid, ontploffingen en vergiftigingen en zo. Maar dat ziet de staatssecretaris dus anders:

De producent is kort gezegd aansprakelijk voor een productie-, informatie- of ontwerpgebrek, waardoor de software niet de veiligheid biedt die ervan mag worden verwacht. Hij kan zich wel verweren tegen aansprakelijkheid, bijvoorbeeld door te stellen dat het op grond van de stand van de technische kennis op het tijdstip waarop hij de software leverde, onmogelijk was het bestaan van het veiligheidsgebrek te kennen.

In de comments bij Tweakers kwam nog de issue langs dat je hiermee ook aansprakelijk bent voor eventuele bugs in open source in je product. Dat klopt, maar is een feature en geen bug. Het doet er immers niet toe van wie jij je onderdelen betrekt. Als jij een product op de consumentenmarkt brengt, dan moet het veilig zijn, punt. Je regelt het maar met je leveranciers.

En ja ik weet dat open source licenties allemaal zeggen “wij zijn niet aansprakelijk” en dat is legaal in leverancier-afnemer relaties (dus met de producent van zo’n apparaat). Maar dat betekent alleen dat die producent een risico neemt door met open source te werken.

Dus goed nieuws wat mij betreft; nu wel doorpakken en daadwerkelijk de ACM laten optreden tegen brakke Internet Der Dingen-apparaatjes.

Arnoud