‘Reverse Engineer Anything’ stelt gebruikers in staat om de code van elke software te analyseren en op de kopieermachine te leggen. Dat meldde Quote gisteren. REA is een taalmodel verbonden aan bekende reverse engineering tools en je kunt zo alle software namaken. Mag dat?

REA gebruikt bekende tools voor decompilatie en disassemblage (zoals Ghidra), met als bijzondere toevoeging dat een set agents via MCP de boel aanstuurt zodat je niet handmatig al dat werk hoeft te doen. Het ziet er bijzonder handig en toegankelijk uit, maar in mijn tijd moest ik met Edlin assembly zien te bewerken dus wie ben ik.

Reverse engineering is auteursrechtelijk natuurlijk problematisch. Grofweg mag je observeren hoe software werkt, zodat je dat ook kunt doen, en mag je file formats uitpluizen zodat je een compatibele lezer of schrijver kunt maken. Maar wat niet mag, is broncode uit elkaar halen en opnieuw in elkaar zetten (behalve voor bug fixes).

Er verandert natuurlijk niets als je het proces laat orchestreren door vergaand autonoom opererende scripts, pardon AI agents. Het gaat vooral veel sneller en we zien minder goed wat de tussenstappen waren. Maar dat is geen reden om het ineens legaal te noemen. Software decompileren en een kloon daarmee maken is vrijwel altijd inbreuk.

Quote noemt als voorbeeld de ArtCraft-suite, open source varianten van zo’n twaalf Adobe- en Microsoft Office-softwarepakketten waaronder PhotoShop (“PhotoCraft”) en LightRoom (“LightCraft”, u snapt het thema). De tagline vind ik briljant: software waarvan je al weet hoe ie werkt.

Dat specifieke voorbeeld klopt niet; het is niet met REA gemaakt en niet op basis van decompilatie. Ontwikkelaar Brandon Thomas liet een groep agents software maken die “moest doen wat Photoshop doet” (en Word, en Excel, et cetera), op basis van een groot aantal voorbeelden van Photoshop-bestanden en openbare documenten over wat er allemaal kan. Dát is legaal, je reconstrueert wat er moet gebeuren en genereert eigen code om dat voor elkaar te krijgen.

Tegelijk laat die methode de beperking zien: het ziet eruit als Photoshop, het werkt zoals Photoshop maar het kan bij lange na niet wat Photoshop kan. De onderliggende algoritmes (de hóe dan van software) staan immers niet in die documenten en volgen ook niet triviaal uit de bestanden.

De slimme oplossing van Thomas is om bestaande opensourcefunctionaliteit te verbinden aan de gekloonde UI, bijvoorbeeld om Excelbestanden te lezen of om berekeningen te maken. Dat kun je ook doen met Photoshop-knopjes, alleen is er momenteel geen open source implementatie die net zo slim en krachtig is als wat Adobe op de markt brengt. (Onaardig is om dit Gimp-met-Photoshop-skin te noemen. Vooral voor Gimp, want daar werkt wél alles.)

Wat ik zo vervelend vind, is dat overal de media dit brengt als “AI reverse engineering”, alsof de geheime algoritmen van Adobe en Microsoft door geavanceerde AI technieken achterhaald zijn en hun software nu 100% opnieuw gebouwd is door software afscheidende taalmodellen. Zo ver zijn we nog lang niet, en dit is geen bewijs dat het die kant op gaat.

En ja, in theorie zou je met AI het klassieke clean room reverse engineering kunnen doen, dat ooit op de IBM PC BIOS software is gebruikt. Twee systemen: de ene gebruikt REA om PhotoShop geheel uit elkaar te pluizen en een uitgebreide specificatie op algoritme-niveau te schrijven. De andere ontvangt enkel en alleen die specificatie en produceert code.

Dit heeft nogal wat voeten in de aarde maar ik zie niet waarom het niet in principe zou kunnen. De problemen beginnen bij het bewijzen of het heeft gewerkt: hoe toon je aan dat er geen disassembled Adobe software in de trainingsdata zat, en dat systeem A geen technische inzichten heeft gelekt in de specificatie?

Arnoud