Tetteroo maakt het steeds bonter

Omdraaien van Nederlands recht...

Ondertussen blijkt dat P.M. Tetteroo van Tetteroo Productions BV, Tetteroo Data BV en/of Vididoc (geregistreerd op Bregweid 4b 1749 DJ Warmenhuizen) meerdere bedrijven heeft gemaild met zijn claim. In de e-mails die ik heb gezien, stelt hij dat de bedrijven maar moeten bewijzen dat ze het filmpje niet hebben geplaatst. Hij heeft die e-mails ondertekent namens Vididoc. Dat kan echter wijzigen in de toekomst.

Het gaat hier om bedrijfsfilms die zijn gemaakt ter financiering van gemeentefilms uit de serie Holland in Beeld.

Mocht je ook benaderd zijn door Tetteroo met deze onzinnige claim, laat je niet afschrikken, maar stuur hem onderstaande e-mail. Uiteraard word ik graag op de hoogte gehouden.

Geachte heer Tetteroo,

Naar aanleiding van uw e-mail d.d. … wil ik u meedelen dat ik niet verantwoordelijk ben voor het plaatsen op YouTube van het door u gemaakte filmpje over onze zaak. Ook is het mij niet bekend wie er schuilgaat achter de naam …: de alias van de persoon die het filmpje op internet heeft geplaatst.

Het filmpje is jaren geleden op cd in opdracht van u huis-aan-huis verspreid in de gehele gemeente .... Wellicht heeft een ontvanger het betreffende item over ons bedrijf van die mediadrager gehaald en vervolgens op YouTube geplaatst. Nogmaals: ik was het niet en ik weet ook niet wie dat wel heeft gedaan.

Uiteraard is het vervelend dat er door het plaatsen van het filmpje op een internetsite inbreuk wordt gepleegd op uw auteursrechten, maar ik verbaas me erover dat u mij zonder enige aanleiding en bewijs op grond van de Auteurswet 1912 aansprakelijk stelt voor deze openbaarmaking en verspreiding.

In het Nederlands recht is het zo geregeld dat de eiser zijn claim moet bewijzen. Dat wil zeggen dat u bij een eventuele rechtszaak inzake onrechtmatige daad (daar hebben we het over als u schade wilt claimen bij ons op basis van de Auteurswet) moet aantonen dat wij een onrechtmatige daad jegens u plegen. In casu betekent dit dat u moet bewijzen dat wij het filmpje op YouTube hebben geplaatst.

Zoals uit bovenstaande blijkt, zijn wij van ... (bedrijfsnaam) niet de verspreiders en zijn wij ook niet verantwoordelijk te stellen voor het openbaar maken en verspreiden. Uw claim op grond van de Auteurswet 1912 dient u dan ook niet aan mij of (bedrijfsnaam) te richten maar in te dienen bij de persoon achter het alias … en/of bij YouTube.

Graag vernemen ik van u wie op dit moment de auteursrechthebbende van onze bedrijfsfilmp is. De aanvankelijk rechthebbende was Tetteroo Productions BV en dat bedrijf is volgens mijn informatie overgenomen door IB Company. Noch Vididoc noch Tetteroo Data BV waren destijds contractpartij bij de overeenkomst met ons bedrijf over de bedrijfsfilm. Mocht Vididoc niet de rechthebbende zijn dan is iedere claim inzake de Auteurswet van u namens dat bedrijf bij voorbaat kansloos.

Bovendien handelt u in strijd met de overeenkomst die ten grondslag ligt aan de totstandkoming van onze bedrijfsfilm. De opdrachtbevestiging (d.d. ...) behelst uitsluitend het plaatsen van een commercial in de productie Holland in Beeld: (naam plaats of gemeente). Noch in de overeenkomst, noch in uw bijbehorende Algemene Voorwaarden wordt gesproken over de verspreiding van de film op internet. Ik verzoek u dan ook de betreffende film van de site Vididoc.nl te verwijderen wegens strijd met de overeenkomst.

Indien u overgaat tot strafrechtelijke aangifte op grond van de Auteurswet verzoek ik u zich te onthouden van het uiten van elke verdenking jegens mij en/of medewerkers van ons bedrijf. Mocht u ons in het openbaar en/of in uw aangifte bij de politie toch ten onrechte beschuldigen - hetgeen tot reputatieschade van ons bedrijf en ons persoonlijk kan lijden - dan sluit ik niet uit dat ik u aansprakelijk stel voor alle schade die daaruit voortvloeit.

Tot slot verzoek ik u in het vervolg zorgvuldiger onderzoek te doen naar de gang van zaken en u juridisch beter voor te laten lichten voordat u mij of anderen onterecht in de beklaagdenbank plaatst.

Met vriendelijke groet,


....
(bedrijfsnaam etc.)

Aanvulling 3 september:
De IB Company blijkt ondertussen failliet te zijn en Tetteroo laat een spoor van ontevreden klanten na. Er is op het forum van Tros Opgelicht een item geopend: klik hier!

Let op!
Alle hier genoemde sites en BV's hebben niets te maken met Tetteroo Media. Dat is een serieus bedrijf (en geen familie) dat reportages maakt voor televisieprogramma´s (o.a. Netwerk).


Eerdere verhalen over Tetteroo en de gemeentefilm:
  • Een film over onze gemeente

  • En we hebben een beller!!!

  • Open brief aan mijn vriend

  • Weer nieuws van mijn grote vriend

    Vervolg
  • HET DOSSIER TETTEROO PRODUCTIONS BV = IB COMPANY = VIDIDOC

  • Begin zelf een productiebedrijf voor bedrijfsfilms

  • Het gevecht is begonnen

  • Van IB Company naar iXam Media
  • © Harold Makaske 31 augustus 2009 to allow skipping count when used in template (ie to not count on click in main page) V1.4 - Fixed ignoe same IP count problem V1.5 - Added views_log table and changed plugin performance to check for unique visits by IP address. [gRegor] - Added option to set the length of time before re-counting hits from the same IP address (default: 2 hours) [gRegor] V1.6 - Added plugin menu to display all view count, w/ counter reset function - Delete view counter and log for deleted item V1.7 - use sql_query V1.8 - Admin page enhancement to preserve order and sort info v1.9 - Added item title in admin menu v1.9.1 - ignore draft in admin menu */ class NP_Views extends NucleusPlugin { // Note: I never run this plugin on 2.0 and have no idea whether it // wil work on <2.5. A user can simply chnage it to return // '200' and see if it works (likely will). I will gladly // change the min version to 2.0 and add the sql_table fix // upon such report. 8) function getMinNucleusVersion() { return '250'; } function getName() { return 'Views'; } function getAuthor() { return 'Rodrigo Moraes | Edmond Hui (admun) | gRegor Morrill'; } function getURL() { return 'http://www.tipos.com.br'; } function getVersion() { return '1.9.1'; } function getDescription() { return 'This plugin counts how many times an entry has been displayed.'; } function getEventList() { return array('PostAddItem', 'QuickMenu', 'PostDeleteItem'); } function supportsFeature($what) { switch($what) { case 'SqlTablePrefix': return 1; default: return 0; } } function getTableList() { return array( sql_table('plugin_views'), sql_table('plugin_views_log') ); } function install() { sql_query('CREATE TABLE IF NOT EXISTS ' . sql_table('plugin_views') . ' (id int(11) NOT NULL default "0", views int(15) NOT NULL default "0")'); sql_query('CREATE TABLE IF NOT EXISTS ' . sql_table('plugin_views_log') . ' (id int(11) NOT NULL auto_increment, ip varchar(20) NOT NULL default "", itemid int(11) NOT NULL default "0", viewtime varchar(32) NOT NULL default "", PRIMARY KEY (id) )'); $this->createOption('silent','Silent mode - No #Display shown in Item (still need to add the skinVar, for use with MostViewed)','yesno','no'); $this->createOption('deletetables','Delete this plugin\'s table and data when uninstalling?','yesno','yes'); $this->createOption('timespan', 'Hours to wait before re-counting visitors', 'text', '2'); } function unInstall() { if ($this->getOption('deletetables') == 'yes') { sql_query('DROP TABLE ' . sql_table('plugin_views') ); sql_query('DROP TABLE ' . sql_table('plugin_views_log') ); } } function hasAdminArea() { return 1; } /** * Adds an entry to the 'Quick Menu' on the Nucleus administration pages. * The entry will link to the commentcontrol admin page */ function event_QuickMenu(&$data) { global $member; if (!($member->isLoggedIn() && $member->isAdmin())) return; array_push( $data['options'], array( 'title' => 'View Counts', 'url' => $this->getAdminURL(), 'tooltip' => 'See the view count of all items' ) ); } function doTemplateVar(&$item, $input) { $itemid = $item->itemid; $remote_ip = ServerVar('REMOTE_ADDR'); $timespan = $this->getOption('timespan') * 3600; $now = time(); // get the current Views count $query = "SELECT views FROM " . sql_table('plugin_views') . " WHERE id=" . $itemid; $result = sql_query($query); $row = mysql_fetch_object($result); $views = intval($row->views); // Only do count updates if "skipcount" is not set if ($input != 'skipcount') { // This takes care of previous items if (mysql_num_rows($result) == 0) { $query = "INSERT INTO " . sql_table('plugin_views') . " (id, views) VALUES('$itemid', '1')"; sql_query($query); //$views = 0; } // end if // Check the views_log table to see if this IP has a viewtime for this item $query = "SELECT viewtime FROM " . sql_table('plugin_views_log') . " WHERE ip='" . $remote_ip . "' AND itemid=" . $itemid; $result = sql_query($query); // No views from this IP in the past X hours, so update the Views count if (mysql_num_rows($result) == 0) { $views++; $this->_updateViewsCount($itemid, $views); $this->_addViewsLog($itemid, $remote_ip, $now); } // end if else { $viewtime = mysql_result($result, 0, 'viewtime'); // It's been longer than X hours, so recount if (($now - $timespan) > $viewtime) { $views++; $this->_updateViewsCount($itemid, $views); $this->_updateViewsLog($itemid, $remote_ip, $now); } } // end else } // end if // Clear logs that are more than X hours old $time = $now - $timespan; $query = "DELETE FROM " . sql_table('plugin_views_log') . " WHERE (viewtime < $time)"; sql_query($query); if ($this->getOption('silent') == 'no') { echo $views; } // end if } function event_PostAddItem($data) { $itemid = $data['itemid']; $query = "INSERT INTO " . sql_table('plugin_views') . " (id, views) VALUES('$itemid', '0')"; sql_query($query); } function event_PostDeleteItem($data) { $itemid = $data['itemid']; $query = "DELETE FROM " . sql_table('plugin_views') . " WHERE id=". $itemid; sql_query($query); $query = "DELETE FROM " . sql_table('plugin_views_log') . " WHERE itemid=". $itemid; sql_query($query); } function _updateViewsCount($itemid, $views) { // update the Views table with the new count $query = "UPDATE " . sql_table('plugin_views') . " SET views='$views' WHERE id=$itemid"; sql_query($query); } function _addViewsLog($itemid, $ip, $time) { // add IP and itemid to views_log table so it won't be recounted for X hours $query = "INSERT INTO " . sql_table('plugin_views_log') . " (ip, itemid, viewtime) VALUES ('$ip', '$itemid', '$time')"; sql_query($query); } function _updateViewsLog($itemid, $ip, $time) { // update the views_log viewtime so it won't be recounted for X hours $query = "UPDATE " . sql_table('plugin_views_log') . " SET viewtime='$time' WHERE ip='$ip'"; sql_query($query); } function doAction($actionType) { global $CONF, $member; if (!($member->isLoggedIn() && $member->isAdmin())) return 'Sorry. not allowed'; if ($actionType == 'resetview'){ $id = requestVar('id'); $query = "UPDATE " . sql_table('plugin_views') . " SET views=0 WHERE id=$id"; sql_query($query); } else if ($actionType == 'resetallview') { $query = "UPDATE " . sql_table('plugin_views') . " SET views=0"; sql_query($query); } $order = requestVar('order'); $sort = requestVar('sort'); header('Location: ' . $CONF['PluginURL'] . 'views/index.php?sort=' . $sort . '&order='.$order); } } ?> - Hoofdstuk: 5. Losse gedachten