Weer nieuws van mijn grote videovriend!

P.M. Tetteroo van Tetteroo Productions BV meldt zich weer...

Mijn vriend de heer Tetteroo – je weet wel: van die prachtige videoproductie over Epe – is weer actief. De hofleverancier van kwaliteitsfilms struint het internet af of er geen filmpjes (waarover ik nogmaals wil opmerken dat ze van hoogwaardige kwaliteit zijn) illegaal online zijn gezet. Op zich is daar niets op tegen, want auteursrechten behoren gerespecteerd te worden (ook van dit soort kwaliteitsproducten). Maar als de heer P.M. Tetteroo een filmpje heeft ontdekt dan ruikt hij geld en raakt het spoor ineens weer bijster.

Wat is er aan de hand? De cd's met die geweldige filmpjes over de gemeenten worden gefinancierd met reclamefilmpjes over bedrijven uit de betreffende plaats. En nu heeft mijn vriend ontdekt dat zo'n filmpje op YouTube is gezet. Om slapeloze nachten te voorkomen, heeft Tetteroo direct een mail naar het betreffende bedrijf gestuurd met een rekening van 195 euro per jaar dat zijn film op het net staat. Als ze niet betalen, moeten ze het filmpje eraf halen want ze overtreden de Auteurswet.

Op zich heel redelijk, want Tetteroo heeft met zijn team - je weet wel met onder andere die Neerlandicus die de teksten schrijft - hard gewerkt aan deze productie.

Maar ja… nu komt het probleem. Tetteroo stelt zonder bewijs en nadere toelichting dat het betreffende bedrijf het filmpje online heeft geplaatst. Dat zou hij kunnen zeggen als de film op de site van het bedrijf staat, maar het filmpje staat op YouTube en de alias van de persoon die het filmpje erop heeft gezet, is zelfs niet met de meeste fantasie te koppelen aan het betreffende bedrijf. Tetteroo maakt het dus wel erg bont om dan maar direct een rekening te sturen. Als hij zich zou laten informeren over de Auteurswet dan weet hij dat hij moet aankloppen bij de persoon die het filmpje op YouTube heeft gezet en/of bij YouTube zelf.

Naar nu blijkt grossiert mijn vriend in BV's en websites. De mail naar het betreffende bedrijf stuurde hij namens Vididoc. Dat is waarschijnlijk niets meer dan een website waar particulieren en gemeenten hun films gratis mogen plaatsen. Daarmee verlenen ze Vididoc wel een wereldwijde, niet exclusieve, overdraagbare licentie tot het verspreiden van het materiaal (zelfs tegen betaling).

Het merkwaardige is dat hoewel de site mensen uitnodigt om filmpjes te plaatsen waarmee ze ook rechten op de filmpjes overdragen nergens op die site de naam van een contactpersoon of het adres van Vididoc is te vinden. Gelukkig hebben we de SIDN en daar leer je dit: klik hier.

Vididoc is dus waarschijnlijk geen handelsnaam en rechtspersoon. Uit die gegevens blijkt dat de site in eigendom is van Tetteroo Data BV. Maar die BV is toch niet de houder van de auteursrechten van de Holland in Beeld films over de gemeenten en ook niet van de bedrijfsfilms die op die cd's staan?

Volgens de tekst op de Holland in Beeld cd's zijn die auteursrechten in handen van Tetteroo Procuctions BV (de op de cd vermelde site www.tetterooproductions.nl is niet meer online). Je kunt je dus afvragen of het verspreiden van de gemeente- en bedrijfsfilms via Vididoc.nl niet in strijd is met de Auteurswet. Maar goed... daar kunnen afspraken over zijn gemaakt.

Er is echter meer. Want op de site van Vididoc staat een link naar de IB Company. De site van dit bedrijf vermeldt hetzelfde adres als de Tetteroo Productions BV en Tetteroo Data BV (geregistreerd op Bregweid 4b 1749 DJ Warmenhuizen).

Op de site van de IB Company komt ook ineens de serie Holland in Beeld weer tevoorschijn. Hebben zij dan de auteursrechten op de films uit die serie?

Op 12 juni 2009 schreef een lezer als reactie op dit artikel op mijn site dat Tetteroo zijn Tetteroo Productions BV heeft verkocht aan IB Company. Volgens SIDN is IB Company gevestigd aan de Energieweg 1 in Vlaardingen. De site van IB Company vermeldt echter hetzelfde vestigingsadres als Tetteroo met zijn BV's. Volgens de telefoongids zit op genoemde adres in Vlaardingen wel het bedrijf CIB Media. Hun telefoonnummer (010-4343852) wordt niet opgenomen.

Het is een interessante kluwe van BV's en internetsites...

Hoe dan ook:

1. Tetteroo moet zijn huiswerk beter doen. Een eventuele claim dient hij uitsluitend te richten aan de persoon die het filmpje op YouTube heeft geplaatst of aan YouTube zelf. Bedrijven die zelf het filmpje online hebben gezet, hoeven dus niet te schrikken van de e-mail van Tetteroo.

2. Wie eist moet ook bewijzen. Dus als Tetteroo stelt dat bedrijf x het filmpje op YouTube heeft geplaatst, moet Tetteroo dat ook kunnen bewijzen. Probleem met YouTube is dat je met iedere willekeurige naam een account kunt aanmaken. Iedereen kan dus onder een valse naam filmpjes online zetten. Die bewijsvoering lijkt me ingewikkeld.

3. Alleen de auteursrechthebbende kan schade claimen. De vraag is dan ook: wie heeft op dit moment de auteursrechten op die filmpjes? Het is maar de vraag of de claim van Tetteroo al dan niet namens Vididoc hout snijdt, want is Tetteroo en/of Vididoc wel de houder van de Auteursrechten?

4. Het openbaar maken en verspreiden van verouderde bedrijfsfilmpjes kunnen imagoschade berokkenen. In hoeverre hebben bedrijven er in toegestemd dat hun filmpje via een site á la Vididoc wordt openbaar gemaakt en verspreid?

5. Weet ook dat lang niet alle gemeenten meewerken aan de film. De ondernemer in dit artikel had het idee dat de film in opdracht van de gemeente is gemaakt. Navraag bij de gemeente leerde hem dat ze er helemaal niets mee te maken had en er ook op geen enkele wijze aan hebben meegewerkt. Dat was ook in Epe niet het geval en ook daar voelden ondernemers zich op het verkeerde been gezet.

Mocht je een aanbieding krijgen om een film over je bedrijf te maken voor een gemeentefilm, check dan bij de gemeente of de film wel in hun opdracht en/of medewerking wordt gemaakt. De film in Epe is verspreid samen met een stapel reclamefolders waardoor hij in een veel gevallen ongezien bij het oud papier is gekomen.

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

    Vervolg
  • Tetteroo maakt het steeds bonter

  • 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 28 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