Skip to content

Instantly share code, notes, and snippets.

@blackjack4494
Created October 23, 2020 23:21
Show Gist options
  • Save blackjack4494/4d4a9157cc1a2af3bf2020899f0973df to your computer and use it in GitHub Desktop.
Save blackjack4494/4d4a9157cc1a2af3bf2020899f0973df to your computer and use it in GitHub Desktop.
[German] Regarding youtube-dl DMCA takedown - Nutzerfrage an WBS

Hallo, eventuell haben es einige von euch schon mitbekommen, dass youtube-dl's Quellcode [1] und quasi alle Kopien und Abwandlungen (forks) auf GitHub aufgrund eines DMCA takedown notice [2] der RIAA entfernt wurde. Einige Projektbetreuer (maintainer) wurden bereits abgemahnt, obwohl sie teilweise länger und scheinbar nichts mit dem vermeintlichen Code zu tun hatten [3]. Ich hatte ebenso einen Fork names youtube-dlc, der ebenso entfernt wurde. Allerdings habe ich - glücklicherweise - keine Abmahnung erhalten. Man sollte auch wissen, was youtube-dl überhaupt ist. Es ist ein Medien Downloader der ursprünglich für YouTube entwickelt wurde, aber im Laufe der Jahre Unterstützung für über 750 weitere Seiten eingepflegt hat. Dazu muss man sagen, dass an keiner Stelle jemals Kopierschutzmechanismen wie beispielswiese DRM umgegangen oder gebrochen wurden! Das ist auch der Grund warum man beispielsweise keine Videos von Netflix und co sowie Lieder von Spotify herunterladen kann, wobei zur Anmerkung es möglich WÄRE auch DRM geschützten Inhalt bei Netflix herunterzuladen und diesen DRM Schutz zu entfernen, was aber dann tatsächlich illegal wäre - wenn man erwischt werden würde. Nun wird aber behauptet der Downloader umgehe angebliche Mechanismen zum Schutze des Copyright Contents. Allerdings sind die Links zu den Medien Schnipseln (es gibt keine einzelne Datei, sondern viele kleine) für jeden einfach ersichtlich und ebenso runterladbar. In den allermeisten Browsern gibt es Entwicklertools mit denen man bspw. den Netzwerk Verkehr begutachten kann. Alles was youtube-dl also macht ist die einzeilnen Teile zusammenzusuchen, herunterzuladen und wieder zusammenzufügen ohne dabei irgendwelche Dateien zu verändern. Youtube verwendet schlichtweg keinen vollwertigen Schutzmechanismus wie DRM für die meisten Videos. Es ist bspw. nicht möglich von Youtube bezahlte Filme herunterzuladen, da diese mit DRM versehen sind. In der Tat verhält es sich so, dass Copyright Content wie Musikvideos genauso behandelt werden von YouTube wie jedes andere Video beispielsweise die von WBS. Scheinbar war der Grund den RIAA genannt hat, dass in den automatisierten Testfällen Videos von u.a. VEVO aufgeführt wurden. Um das ganze ad absurdum zu führen müssten Browser oder gar das Internet ebenso verboten werden. Da man in der Theorie und Praxis auf Seiten gelangen kann um solchen Inhalt herunterzuladen bzw. nur die eingebauten Tools des Browsers verwenden muss. Es wurde auch dargestellt, dass das Tool rein dazu entwickelt wurde eben nur Copyright geschützten Content herunterzuladen, was schlichtweg falsch ist. Mir ist bekannt, dass WBS in der Vergangenheit ähnliche Fälle zum Thema YouTube Downloader vertreten hat. Diese waren aber bisher immer nur auf YouTube allein gerichtet. Hingegen ist es bei youtube-dl so, dass YouTube an sich in der Menge weniger als 1% der möglichen Seiten ausmacht. Ich bin in der Lage eine DMCA Counter Notice zu verfassen, was allerdings ein rechtliches Statement ist und ich mich dann quasi besonders rechtlich belangbar machen könnte.

Nun meine Frage, ob dieser DMCA Takedown überhaupt verhältnismäßig ist und wie es aussehen würde, wenn man die Links, welche in der DMCA Notice bemängelt wurden, in den Tests durch andere ersetzen würde, die auf keinen Copyrighted Content verweisen. Wäre es dann in Ordnung den Quellcode bzw. das fertige Program im Netz einzustellen? Ich habe in Deutschland durchaus das Recht auf Privatkopien, welches Ich auch nutze um Videos von meinen Lieblings Youtubern herunterzuladen sowie Lernvideos. Außerdem gibt es eine Menge Copyright Free Content auf Youtube.

[1] https://github.com/ytdl-org/youtube-dl [2] https://github.com/github/dmca/blob/master/2020/10/2020-10-23-RIAA.md [3] https://www.reddit.com/r/programming/comments/jgub36/youtubedl_just_received_a_dmca_takedown_from_riaa/g9sm6pp/?utm_source=reddit&utm_medium=web2x&context=3

@JayBrown
Copy link

Das eigentliche Problem ist wohl die Abhängigkeit der Entwickler von GitHub/Microsoft und anderen ähnlichen Webseiten—auch GitLab ist eine US-Firma: Dann kann so etwas wie die aktuelle RIAA-Geschichte schnell passieren, und zack, ist ein Repo geblockt… corporate overlords als Duckmäuser! ;) Für (mindestens aus US-amerikanischer Sicht) "urheberrechtlich sensible" Software sollte man sein Repo wohl besser auf der eigenen Webseite, oder bei deuschen Hostern einrichten… wenigstens als Mirror, denn der ganze Community-Aspekt ist dann doch ein Vorteil von GitHub/Lab & Co.

@JayBrown
Copy link

JayBrown commented Oct 24, 2020

Ich gehe davon aus, dass es reicht die Tests auf Inhalt ohne Copyright zu verlegen.

Sind die Tests echte Downloads? Oder werden die ins /dev/null geschickt? Wenn Letzteres, wäre es eigentlich egal, aber klar, es würde nicht schaden, das zu ändern. Man könnte auch einen Disclaimer auf das Repo-README und in den Code packen, inkl. man page, z.B.

"Please note that it may be illegal in your country to directly download a copy of a copyrighted work without a proper license to a location other than a local application or system cache, even from publicly accessible URLs. Creating a persistent copy of such a work may not fall under Fair Use provisions or similar copyright exceptions in your country. Downloading a copy of a work from a content provider's platform might also infringe upon the provider's terms of service. You will be using our software at your own risk."

EDIT: Man könnte es auch verbindlich printen, z.B. dass beim First-Run des Programms nichts passiert, und der Nutzer zuerst yt-dlc --init manuell im Terminal ausführen muss, und dass dann der Disclaimer ausgespuckt wird. Danach gibt's dann eine .disclaimer-printed-Datei, z.B. in ~/.cache/yt-dlc, und folgend funktioniert das Programm normal.

Copy link

ghost commented Oct 24, 2020

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment