google
yahoo
bing

OpenKVK: Interview met Stefan de Konink October 22, 2009

3628555346_2861c7a22aJames(HDO): Wie ben jij en kan je iets vertellen over jouw achtergrond?

Stefan: Ik ben 25, student, zelfstandig ondernemer, ontwikkelaar aan verscheidene Open Source projecten. Ik ben aan Hogeschool Rotterdam afgestudeerd op ‘Unified Messaging en ENUM’ specifiek hoe kun je dat wat betreft privacy op een hoger plan krijgt. Momenteel schrijf ik mijn scriptie aan de Universiteit van Amsterdam over een nieuwe opslag techniek voor Geografische Informatie Systemen. Deze methode voorkomt dat brondata kwaliteit verliest als nieuwe data wordt toegevoegd.

Ik ben penningmeester van de Stichting OpenGeo, die in Nederland zich ten doel heeft gesteld het gebruik van vrije geodata te stimuleren en te faciliteren. Vanuit die hoek ben ik het afgelopen half jaar betrokken geweest bij het maken van luchtfoto’s uit quadcopters en het automatisch bewerken van de foto’s die daaruit komen voor een toekomstig gebruik van luchtfoto’s in OpenStreetMap.

(beeld – Anne Helmond)

James(HDO): Hoe ontstond het idee voor openkvk?

Stefan: Het eerste idee van het scrapen van Kamer van Koophandel data kwam voort uit het OpenStreetMap project. We hadden in onze dataset alle 4PP(vier-positie-postcodes) zitten, en logischerwijs wil je dan ook verder gaan. Omdat 6PP eigenlijk maar op twee manieren verkrijgbaar is; de eerste: je betaalt je blauw aan TNT Post dochter ondernemingen en krijgt dan een up to date database; of de tweede: je verzamelt alle postcodes zelf.

Toen ik mij inschreef bij de Kamer van Koophandel vielen mij een aantal dingen op. Ik moest de data zelf op een papiertje zetten inclusief adres/postcode combinatie en deze werd dan integraal overgenomen in het handelsregister, daarvoor moest in bij inschrijving geld betalen. De dagen erna begon de regen van ongewenste dode bomen in mijn brievenbus. Het was echt te gek voor woorden.

Ik ben opzoek gegaan hoe eenvoudig het was om de Kamer van Koophandel database leeg te zuigen. En warempel, het was inderdaad zo makkelijk als een willekeurig KvK nummer te nemen en steeds +1 te doen. Toen heb ik contact opgenomen met onze ‘lokale’ kamer. Die me doorverwees naar de landelijke vereniging van Kamers van Koophandel. Hieruit bleek dat het handelsregister openbaar is en dat iedereen daar mee mag doen wat hij wil.

Tijdens de e-mail conversatie en een opvolgend telefoon gesprek zijn een aantal ideeën over en weer gegaan. Waarna we bij OpenStreetMap zijn begonnen met het ophalen van zoveel mogelijk verschillende postcodes. Dit was een inspiratie voor Kees van der Broek om het 6PP project te starten. In dat project worden verschillende openbare postcode bronnen samengevoegd tot een database.

Bij het Hack de Overheid event had ik mijn frustratie al een keer geuit over het feit dat de Kamer van Koophandel spamt en ’s nachts gewoon DICHT is. Achteraf gezien is het geen reformatorische instelling die haar leden nachtrust afdwingt, maar een gevolg van een database backup procedure. Je kunt je afvragen of dat anno 2009 nog reëel is, dat laat ik in het midden. Wel vind ik het erg irritant dat ik na 0:00 geen nummertje meer op kan zoeken. En zoals veel nerds doe ik ’s nachts de administratie ;)

Waar we in de begintijd slechts 1 adres per KvK-nummer konden verwerken, hebben we dit proces die zaterdag versneld. Dit maakte het mogelijk om de complete database van de Kamers van Koophandel met 15x de snelheid uit te lezen op basis van slechts een plaatsnaam (die kwamen natuurlijk vanuit Wikipedia) en bijvoorbeeld ‘een begin letter’. De resultaatset is gelimiteerd, tot 15 pagina’s met elk een aantal items. Het was dus onmogelijk om op basis van de letter A en de gemeente Amsterdam alle bedrijven met een ‘A’ op te vragen.

De data die we wel vonden leverde ons natuurlijk wel een grote hoeveelheid postcodes op. Door dezelfde techniek te gebruiken begin letter ‘A’ met postcode 1000 AA. Was de kans op een te grote resultaatset al veelal geweken. We konden nu dus het complete handelsregister ophalen en verwerken. Dit lukte binnen een week met ongeveer 5 mensen. 100% dekkening hebben we met deze run niet gehaald, dat was ook niet direct het eerste doel om aan te tonen dat dit werkt.

James(HDO): Wat doet openkvk nu en hoe is dit anders van de huidige kvk site functioneert?

Stefan: De site geeft een ‘directe database interface’ naar een database met het handelsregister er in. Daarmee kun je direct in SQL queries uitvoeren op de database, via een techniek die ‘DBSlayer’ heet, mijn favoriete webserver Cherokee heeft een aantal uitvoer mogelijkheden waaronder JSON.

http://www.openkvk.nl/api/SELECT count(*) FROM kvk;

De bovenstaande query geeft het aantal resultaten in JSON terug. Daarmee kun je dus super eenvoudig een webinterface maken die even snel een nummertje voor je opzoekt. Dat was het technische gedeelte ;)

We hebben uiteraard wat handige dingen toegevoegd:
http://www.openkvk.nl/Kinkrsoftware (zoek : naam)
http://www.openkvk.nl/27312152 (zoek: KVK nummer)
http://www.openkvk.nl/adres: Oude Trambaan (zoek: adres)
http://www.openkvk.nl/2265CA (zoek: postcode)

In samenwerking met Faillissementen.com krijgen we ook een RSS feed met bedrijven waarvan de rechter een faillissement heeft uitgesproken. Deze dienst is tegen betaling beschikbaar via de Kamer van Koophandel. Met dank aan de Belastingdienst kunnen we ook tonen of we te maken hebben met een Algemeen Nut Beoogende Instelling, dit is een meer unieke dienst en vereist ook wat handwerk van onze kant.

James(HDO): Hoe heeft het KVK reageerd na dat ze over openkvk hoorden?

Stefan: Na het debacle met Kantoor voor Klanten, een organisatie die facturen verstuurde die wel erg leken op die van de Kamer van Koophandel, was de KvK zogezegd niet blij. En eigenlijk waren ze nog het minst blij met de naam ‘OpenKVK’.

Na wat e-mails via een advocatenkantoor werd onze goede bedoeling duidelijk en is de lucht geklaard. We hebben een afspraak gemaakt en zijn om de tafel gaan zitten of een samenwerking mogelijk is. Zulke dingen gaan nooit snel, maar we zijn nog steeds in gesprek.

James(HDO): Wat gebeurt nu met dit project?

Stefan: Momenteel zijn we bezig met het inladen van een kleine half miljoen aan concernrelaties die we op een zelfde manier van de Kamer van Koophandel hebben verkregen door ’slimme’ zoekopdrachten te geven. Ook dit is een dienst waar normaal betaald voor moet worden.

Met een paar duizend concernrelaties zijn al wat mensen aan de slag gegaan. Dat geeft al direct aan dat slechts door het beschikbaar stellen van data je innovatie kan stimuleren. Ik heb immers niemand betaald om software te schrijven die van mijn data gebruik maakt. Stel je toch eens voor dat de overheid meer dan alleen een adressenboek (BAG bijvoorbeeld)
openbaar maakt, daar moeten echt fantastische mashups op te maken zijn :)

James(HDO):Wat zijn jouw toekomstige plannen?

Stefan: M’n scriptie afschrijven ;)

Leave a Reply