Hallo,

Ik ben van plan om een postcode-database te gaan maken en dan gratis aan te gaan bieden. Om alle informatie (postcodes, straatnamen, plaatsen, gemeentes, provincies en de coördinaten) te verkrijgen, gebruik ik de Google Maps API en/of de GeoNames Web Services en/of de REST API. De reden dat ik nog twijfel je via Google niet de plaatsnaam krijgt, via Geonames alleen op een postcode zonder letters kunt zoeken, en REST heb ik nog niet kunnen proberen, aangezien je daarvoor een e-mail moet sturen om de API-key te krijgen.

Waarom heb ik jou dan nodig? Dat is heel simpel, er zijn namelijk limieten aan het aantal requests per dag per IP-adres. Bij Google mag je per dag maar 15.000 aanvragen doen, bij GeoNames 50.000 en bij de REST API weet ik niet zeker of het gratis is. Als REST gratis is, is dat de beste optie, mocht dat niet zo zijn, dan is een combinatie van Google en GeoNames noodzakelijk.
Back on-topic: ik heb jullie nodig omdat je met 15.000 requests per dag eeuwig bezig bent. Als we uitrekenen hoeveel mogelijke postcodes er zijn in Nederland, kom ik zo uit op 6.084.000, en dat is behoorlijk wat. Natuurlijk zijn niet alle postcodes in gebruik, maar toch zullen ze allemaal gechecked moeten worden. Als ik dit in mijn ééntje zou doen, via mijn thuis-IP en het IP van mijn hostingpakket, zou ik 30.000 requests per dag kunnen doen, en zou ik er 203 dagen over doen. Dat is gewoon onmogelijk. Maar stel er zouden hier tien mensen zijn die mee willen helpen, die allemaal twee IP-adressen tot hun beschikking hebben, dan zouden we in 21 dagen - precies drie weken - klaar zijn. Dat is toch al iets realistischer.

Maar wat moet ik dan eigenlijk doen? Niet zoveel eigenlijk. Je moet straks op alle computers waarmee je mee wilt doen een paar PHP-bestandjes plaatsen, en via mijn webbased-administratie van dit project doorgeven wat de locatie (IP-adres en bestandsnaam) van die bestanden zijn, en je hebt de mogelijkheid om te zeggen dat je bijvoorbeeld maar 10.000 requests per dag wilt doen, zodat je nog wat overhoudt voor eigen gebruik. Ik ben nog niet zeker of je er een (MySQL-)database voor nodig zult hebben, dat ga ik nog even uitdenken.

En het dataverkeer dan? Tja, nu zeg je wat. Als we uitgaan van 1Kb per postcode, wat zeer ruim genomen is, dan zou je per dag per IP-adres maximaal 15Mb uitgaand dataverkeer gebruiken. Dan zal je aan het eind van de dag alle gegevens doorsturen, wat ook rond de 15Mb zal liggen. In één maand zou dat uitkomen op 930Mb, en dat is erg weinig. Neem een gemiddeld hostingpakket van twee tientjes per jaar, en je hebt maandelijks al 10Gb beschikbaar. Mocht je site zelf veel dataverkeer gebruiken, en je dus niet 930Mb overhebt, dan kan je dat straks instellen in het administratiesysteem. Mocht je ineens schrikken dat je dataverkeer op is, klik in het systeem gewoon even aan dat je deze maand ermee stopt, en that's it.

En mijn schrijfruimte dan? Aan het einde van de dag wordt alle data naar mijn server toegestuurd, die alles verwerkt en in de grote database zet. Kijkend naar het sommetje hierboven zal er dus maximaal 15Mb gebruikt worden, voordat het naar mij toe wordt verplaatst.

En mijn serverload dan? Ik weet persoonlijk niet zeker of uitgaande connecties erg veel serverload vragen, maar ik denk dat het op zich geen groot probleem moet zijn. Kijkend naar het aantal secondes per dag, en de maximale hoeveelheid van 15.000 requests per dag, kom ik erop uit dat je ongeveer elke 5 seconden een request moet doen.

Maar krijg ik dan elke 5 seconden ook nog eens een inkomende request van jouw server binnen? Ik ben nog niet zeker over de manier hoe ik dat wil gaan doen. Het mooiste zou zijn dat jullie cronjobs kunnen instellen, die elke 24 uur beginnen en dan met mijn server contact opnemen om een lijst met postcodes toegewezen te krijgen, maar niet iedereen heeft cronjobs. Daarom zou ik ook zelf een connectie kunnen starten die 24 uur openstaat, maar dat is waarschijnlijk ook niet perfect. Ik denk er nog over na, of mocht je een idee hebben, vertel het me.

Maar klopt de ingeschatte hoeveelheid dataverkeer wel? Het is puur een schatting, het kan best afwijken, eerder naar beneden dan naar boven. Ik ga later wat tests doen, en dan zal ik met preciezere gegevens kunnen komen.

Maar waarom zou ik meedoen? Samen kunnen wij zonder enige moeite, en met zeer lage kostenm, een database met postcodes creëren die voor veel mensen handig kan zijn. Zoals je mogelijk weet bestaat dit al, maar de laatst geupdate versie komt uit 2000 of zo, dus daar heb je niks aan. Commerciële alternatieven zijn zeer duur, dit is dus erg handig. Daarnaast komt je naam in de credits te staan, en zal heel de wereld je eeuwig dankbaar zijn =)

En hoe zorg ik dat de data betrouwbaar is? Inderdaad, mensen zouden mij kunnen vern**ken door allemaal onzin te sturen, die in de database terechtkomt. Ik ga per item in mijn grote database bijhouden door welke cliënt het verstuurd is, en laat door andere cliënts steekproeven doen. Hierdoor ontstaat een zo goed als waterdicht netwerk. Door de steekproeven gaat de serieuze capaciteit wel omlaag, maar zekerheid voor alles. Mocht ik bijvoorbeeld zien dat iemand elke dag weer onzin ervan maakt, dan is het met één klik verwijderd, en kan een andere cliënt het gaan doen.

Moet mijn PHP speciale instellingen hebben? Ik moet hier nog even over nadenken, maar waarschijnlijk zul je met de functie [php]ini_set[/php] wat in moeten stellen. Dit staat allemaal in het script dat je van mij krijgt, je hoeft er zelf dus niks voor te doen. Wel moet je server dit ondersteunen.

Hoe kan ik meedoen? Stuur even een e-mailtje naar [email protected] en geef even door met hoeveel IP-adressen je mee wilt doen, en alles komt goed.

Je hebt het nu steeds over 15.000, is de keus voor Google dan al gemaakt? Een beetje wel ga, die laatste optie, REST, is waarschijnlijk betaald. Daarom zullen we waarschijnlijk een combinatie van Google en Geonames gebruiken. Google heeft een limiet van 15.000 requests per IP per dag, en GeoNames 50.000 per IP per dag. Ik ga dus even kijken hoe we dit doen, waarschijnlijk wordt alles een beetje verdeeld...

Wanneer kunnen we beginnen? Nou, tot mijn schaamte moet ik bekennen dat de software van mijn kant nog niet af is, dus we kunnen niet direct beginnen. Voordat ik er echt werk van ga maken, wil ik namelijk eerst weten of er wel mensen zijn die mee willen doen, anders is het weggegooide moeite. Ik hoop dat indien er geïnteresseerden zijn, we volgende week kunnen beginnen, maar bij mij duurt alles langer dan verwacht ;-)

En hoe doen we het met updates? Als het hele idee een succes wordt, moet de database natuurlijk af en toe geupdate worden. Ik denk dat ik jullie hulp dan weer inroep, en dat we eens per kwartaal/half jaar weer opnieuw beginnen.

En wat ga jij met donaties doen? Mocht het een succes worden en mensen gaan doneren, dan zal ik als mijn eigen onkosten, namelijk de hosting van het project, vergoeden. Daarna zal ik wat apart gaan leggen, om in de toekomst te kunnen investeren in bijvoorbeeld een VPS of dedicated server, mocht het echt groot worden. De rest van het geld zullen we eerlijk delen, afhankelijk van de hoeveelheid requests die je hebt gedaan. Natuurlijk is er geen garantie dat er donaties binnenkomen, maar wie weet...

Ik woon in België, en ik wil dit ook! Als we eenmaal met Nederland klaar zijn, kunnen we besluiten om heel België ook te gaan doen. Natuurlijk kan je als je uit België komt gewoon helpen met de Nederlandse database, en andersom ook.

Met vriendelijke groet,
Jonathan Hogervorst.

Actuele status:
IP-adressen: 21/32*
Requests: 315.000/480.000*
Duur: 19/13* dagen

* sowieso/mogelijk
Erwin schreef op 16.06.2008 16:11
jep

Okay, staat genoteerd!
't is vooral voor m'n ISP eigenlijk... Volgens mij gaan ze het als DOS-attack registreren als de requests elkaar te snel opvolgen
Wim Mariën schreef op 16.06.2008 16:50
't is vooral voor m'n ISP eigenlijk... Volgens mij gaan ze het als DOS-attack registreren als de requests elkaar te snel opvolgen

Tsjah, je moet het zelf weten...
Je ISP bedoel je je Internet Provider? Mits Fair use mogen zij nergens over klagen. Je kan ze anders evt. een mailtje doen en inlichten/ vragen hoe ze daar tegenover staan.
Let op!
Ik vind het een sympathiek project, maar heb wat juridische kanttekeningen.

Mag ik jonathan en eenieder die heir aan deelneemt er op wijzen dat dit niet strookt met de Fair Use Policy, en dat verspreiding illegaal is ivm de copyrightwet in engeland/uk en de databankenwet in nederland? Ik vermoed gezien de belangen die er mee gepaard gaan dat google en haar verspreiders dit niet op prijs zullen stellen.

De geonames lijkt expliciet toegang te geven door middel van de Creative commons, en die kan je ook al los downloaden als tab seperated values bestand. Ook is het denk ik veel minder interessant om precieze locaties te weten van postcodes. Voor documentatie e.d. zie:
http://download.geonames.org/export/dump/

Overigens heeft geonames een veel mindere nauwkeurigheid dan google of de yahoo api, waarbij je van een adres en niet alleen een plaats de geocoordinaten kan vinden.

Wat zijn zoals de mogelijkheden die je ziet met kennis van de postcode? Want vrijwel alle mogelijkheden die ik zie zijn veel sneller en makkelijker en accurater op te lossen door de api's van de verschillende partijen te gebruiken in plaats van achterlangs een mirror proberen te maken.

Een alternatief dat erg interessant zou zijn is postcode kaarten aanmaken voor het nederlandse project in http://www.openstreetmap.org en http://www.freethepostcode.org
@Arend:
Ik weet het, ik ben ervan op de hoogte, maar de mensen die hun server beschikbaar stellen zijn niet illegaal omdat zij straks puur als proxy functioneren, en geen data opslaan. Ik maak elke paar seconden een request naar hun, zij halen data van de Google-servers, en sturen het exact terug zoals ze het krijgen. Dat is volledig toegestaan, zie hier:
1.2 Content in the Service. Content in the Service includes map information and photographic imagery. Your use of this Content is limited to displaying it to end users within the Service itself, and in the same manner, form, format, and appearance as it is provided by the Service.

Ik ben de enige die illegaal is, ik sla namelijk alle data op en zet het om in een database. Ik ga zodra de database klaar en gevuld is beslissen of ik het risico neem 'm te publiceren, desnoods neem ik eerst contact op met Google om toestemming te vragen.

@Edwin:
Zie hierboven, op deze werkwijze is men niet illegaal bezig.

Edit:
Nog even over het databankenrecht, hier een stukje van Wikipedia:
Het databankenrecht valt wetssystematisch niet onder het auteursrecht maar is een sui generis recht (recht dat speciaal voor en naar aanleiding van een toepassing in het leven is geroepen). Het auteursrecht beschermt overigens ook wel verzamelingen van gegevens die als databank gedefinieerd kunnen worden maar stelt als extra vereiste hiervoor dat de selectie van gegevens een creatieve selectie zijn waarin een persoonlijk stempel van de maker te herkennen is.

Onder het huidige databankenrecht heeft de maker van een databank gedurende 15 jaar het alleenrecht op het kopiëren, verspreiden, tentoonstellen en anderzijds openbaar maken of reproduceren van de databank als geheel. Let wel, de maker heeft daarmee niet automatisch het auteursrecht op alle dingen in de databank, hij is alleen rechthebbend op de verzameling als zodanig. Wel is het zo dat als de maker een keer een kopie van zijn databank in de handel gebracht heeft, dat zijn rechten op die kopie uitgeput zijn – de eigenaar van die kopie mag die kopie vrijelijk verder doorverkopen.

Daarentegen heeft de rechtmatige gebruiker van een databank ook recht op toegang en hergebruik van een gelimiteerd deel van de databank (d.w.z. hij mag een deel zelf opnieuw gebruiken maar niet meteen heel de databank hard overnemen). De rechtmatige gebruiker mag echter niet dingen met de databank doen waarvan hij weet dat ze in strijd zijn met de bedoeling van die databank en mag ook niet de auteursrechten op enige inhoud van de databank schenden.

Bron.

Zoals je ziet heb je niet recht op de inhoud van de database, maar op de database in het algemeen. Je kan namelijk geen auteursrecht aanvragen op een postcode. Zou ik illegaal zijn als ik een adres van iemand in De Telefoongids opzoek en het dan op een brief schrijf?

Zoals je daaronder ziet heeft de rechtmatige gebruiker - de bezoekers van Google Maps dus - recht om de gegevens van de database te hergebruiken, en niet de database hard over te nemen. Ik neem 'm sowieso niet hard over, ik neem maar een heel klein deeltje van de database, alleen het stukje Nederland.

Volgens mij is het hele project dus volledig legaal, of niet?
dan zijn je "medewerkers" nog steeds illegaal bezig.

Stel ik host bij mij thuis een proxy server, en deze is publiek. Ik ben woonachtig te België dus de wet verbied mij (in tegenstelling tot in Nederland) om auteursrechtelijk beschermd material op te laden. Stel dat iemand anders (ook uit België) naar mijn proxy server connecteerd en illegaal een film of weet ik veel wat upload, dan ben ik nog steeds illegaal bezig, of ze zullen alleszinds eerst bij mij komen aankloppen.

@Robert: daar had ik het inderdaad over. En fair use in België, tsja; wat is dat; 42€ betalen voor 12GiB dataverkeer en een 4.7Mbit lijn? Da's toch ook geen fair use? ;)
@Wim:
Ja, ze zouden illegaal bezig zijn als het om bijvoorbeeld films gaat, maar zoals je in de voorwaarden van Google kunt lezen is het legaal om het zoals zij het publiceren letterlijk op je site te zetten. Dan is het toch legaal dat zij het puur echoën en dat ik het verder verwerk op eigen risico?

Reageren