整理 | 夕颜

图源 | 视觉中国

出品 | CSDN(ID:CSDNnews)

最近,GitHub发生了一件大事。事情的主角是一个名叫YouTube-dl的开源视频下载工具源码,可以用来下载YouTube上的视频。这是GitHub星标数(stars)最高的项目之一,截至2020年10月,共获得72,000多个星标。

而就在最近,美国唱片业协会(RIAA)以版权保护为名,要求GitHub将之下架。GitHub应允,于10月23日删除了YouTube-dl。这一删除,粉丝们不干了。愤怒的程序员粉丝们疯狂复制并带有Youtube-dl的源码,甚至有人向Github官方的 DMCA 通知存储库里。

目前,在GitHub搜索“youtube-dl”,可以找到4115个相关结果。

对此,GitHub予以反击,发出通知警告,重复上传相同内容源码违反GitHub DMCA政策和服务条款,请立即停止上传,违反者将被删除上传内容,更有可能被封号。

   一个视频下载工具引起的史翠珊效应

我们来回顾一下这个事件的前因后果。

YouTube-dl是一个由Ricardo Garcia创建于2008年的开源视频下载工具,用Python编写,一开始只能下载YouTube上的视频。之后项目逐渐扩大,除了YouTube之外,还可以下载其他热门视频网站资源。

2011年,Ricardo Garcia不再维护此项目,由phihag接手,后转移给dstftw。2020年8月,GitHub用户blackjack4494对youtube-dl的主维护者dstftw和remitamine长期不活跃且有大量PR未合并不满,创建了分支youtube-dlc。

深受美国唱片业滥用知识版权保护的人,对这个项目非常喜爱。但树大招风,RIAA的利益受到损害,对Youtube-dl下手,指控项目违反了版权保护,要求下架。

2020年10月23日,Github应RIAA的DMCA请求,将该项目与其分支从该网站上移除。

GitHub在经过一番挣扎后,同意删除开源代码,但好在youtube-dlc仍在继续开发。

youtube-dlc GitHub地址:https://github.com/blackjack4494/yt-dlc

版权保护下,开源者的权益谁来保护?

纵观Youtube-dl事态发展,其实争议点不在于让YouTube-dl合法化,而是项目中开源贡献的源码和程序都是开发者的心血,凭什么就被一纸版权保护轻飘飘删除了?他们的权益谁来保护?

美国唱片业协会(RIAA)为了自身利益,向GitHub请求下架YouTube-dl,依据是RIAA指控Youtube-dl项目违反了DMCA的第1201条反规避条款以及德国著作权法的规定,规避了YouTube用于生成视频文件本身URL的“rolling cipher”(密码滚动)。RIAA认为这是有效的技术保护措施,“旨在禁止直接访问YouTube视频文件,从而防止或禁止视频文件的下载,复制或分发”。

但是粉丝们不这么认为。

上传源码的贡献者反击,GitHub的做法可能会助长滥用版权保护的风头,因为Youtube-dl的项目存储库中并没有托管人和存在版权的内容。通常按照DMCA是直接对侵权内容进行删除,而这次GitHub删除的是下载工具的源码,是在滥用版权保护。

而且,这个项目并非只有下载YouTube视频一种用途,它还可以用来下载合理使用的视频内容,例如用来网络存储或新闻报道,或者在开放内容许可下,明确允许重复使用的内容。

RIAA的行为引发了史翠珊效应(Streisand effect),又称斯特赖桑德效应,意思是欲盖弥彰,试图控制、阻止公众了解某些内容,或压制特定的网络资讯,结果适得其反,使该事件为更多人所了解)。

在本次事件中,GitHub强制下架删除YouTube-dl,反而引起用户的逆反,大量用户开始在互联网上重新分发该程序及其源代码,就是典型的史翠珊效应。

除开开源权益保护,这件事还引起了关于平台方角色的争议。虽然GitHub并不愿意看见Youtube-dl被下架,GitHub CEO也曾在社区表示将尽快尝试恢复Youtube-dl,但目前为止这个项目重新上架,似乎还是希望渺茫。

GitHub作为平台方,在未充分考虑到开源贡献者权益的情况下删除托管项目,难免会让让开发者对平台的信任感降低。有人认为,在数字时代,像YouTube这样的数字托管平台应该像一个“数字图书管理员”,不管放在这个平台上的东西重要性如何,具有怎样的历史意义,这都得交给时间去评判,而保障这些东西至少是存在的,是平台方的责任,删除或“审查”内容,就不是平台方要管的事情了,这样才能达到理想状态中的公正公平。

事件持续发酵,围绕开发者权益和版权保护、道德和平台方角色的争论还在继续。程序员疯狂起来连平台也怕,动静这么大,不知道是否会对恢复这个项目有所帮助,事态将如何发展,我们将进一步关注。

更多精彩推荐
☞重返全球第三,小米做对了什么?☞离职后竟半夜偷溜回办公室写代码?一个为自由软件而战斗的程序员☞献给 Python 开发人员的 25 个最佳 GitHub 代码库!☞13 张图彻底搞懂分布式系统服务注册与发现原理
☞TIOBE 11 月编程语言:Java 首次跌出前二,Python 势不可挡☞漫画:程序教你寻找股票买入卖出的最佳时机(动态规划)
点分享点点赞点在看

GitHub 下架 Youtube-dl 遭粉丝疯狂上传源码报复,开源者的权益谁来维护?相关推荐

  1. (已上传源码)最近开发的一款应用,我选择了哪些框架 第三方库

    最近利用闲暇时间,写了一款生活工具类的应用,开始的目的也主要是为了熟练一些老框架和熟悉一些新框架或者第三方库,大家可以把它看成一款练手的 Demo 应用吧!这里把自己在这个应用中用的库总结一下,还有一 ...

  2. SpringBoot文件上传源码解析

    一.SpringMVC文件上传源码分析前言(这部分我觉得原作者写的很好) 该如何研究SpringMVC的文件上传的源码呢? 研究源码并不是仅仅知道程序是怎样运行的,而应该从宏观的角度.不同的立场去看待 ...

  3. 采用SVM实现实现MNIST手写体分类,数据下载链接在http://yann.lecun.com/exdb/mnist/上。上传源码和实现结果,语言不限。

    基于OpenCV的MNIST手写体分类 简介 实验要求 实验环境 OpenCV的配置 总体概览 在python中绘制 开始上手OpenCV 查看完整内容 简介 MNIST 数据集来自美国国家标准与技术 ...

  4. php相册实现图片上传源码,php 图片上传源码下载[gif,jpg]

    php 图片上传源码下载[gif,jpg] 无标题文档 $dest_folder   =  "/picture/"; if(!file_exists($dest_folder)){ ...

  5. maven上传源码到私服

    上传源码 项目中采用了分模块的方式构建,直接将maven-source-plugin写到父pom中,尝试了很多次发现源码一直不能上传到私服中,纠结了很长时间才发现原来多模块项目和普通一个项目的配置是有 ...

  6. java 上传源码_和付费网盘说再见,跟着本文自己起个网盘(Java)

    项目源码获取:关注转发之后私信回复[源码]即可免费获取到 一.项目介绍 一款开源.使用简单.功能完整的 Java 网盘/云盘系统.支持在线视频播放.文档在线预览.音乐播放.图片查看等功能的文件云存储平 ...

  7. android h5 多图上传源码,JS移动端/H5同时选择多张图片上传并使用canvas压缩图片...

    最近在做一个H5的项目,里边涉及到拍照上传图片的功能以及识别图片的功能,这里对识别图片的功能不做赘述,不属本文范畴.我在做完并上线项目后,同事跟我提了一个要求是可不可以同时选择多张图片上传,我做的时候 ...

  8. gradle 上传jar包_gradle 打包jar上传到nexus 同时上传源码jar

    以我们实际项目为例,项目中后台和前台单独开发,之间通过dubbo接口调用,后台提供服务接口,具体实现对前台隐藏,前台使用某个服务时,下载相应依赖然后调用,因此需要将服务接口打成jar包,上传到仓库中, ...

  9. php裁剪图片并上传源码,改写jcrop插件+php的图片上传实现与裁剪一体化

    1.图片上传后立刻判断图片的宽和高是否超过预设的最大高度与宽度,超过了则生成缩略图, 2.图片裁剪使用的是jquery的裁剪插件Jcrop,可以实现裁剪的即时预览, 代码没有优化,会生成很多垃圾图片, ...

最新文章

  1. SDN控制器OpenDaylight简介—VeCloud
  2. java中optionnull_用 option 代替 null
  3. 滴滴数据挖掘竞赛题目
  4. 2019阿里云开年Hi购季新用户分会场全攻略!
  5. mariadb mysql 5.6_MySQL 5.6 和 MariaDB-10.0 的性能比较测试
  6. 归约操作java8_使用Java 8进行分组,转换和归约
  7. 如果有这样一台服务器……
  8. sap中泰国有预扣税设置吗_泰国的绘图标志| Python中的图像处理
  9. Bootstrap导航栏注释
  10. 算法应用-斐波那契数列
  11. 移动端h5原生分享到朋友圈、微博等
  12. [生成模型新方向]: score-based generative models
  13. 小技巧分享:Sourcetree 免登录注册破解教程
  14. SpringBoot自定义数据源DruidDataSource
  15. 什么是优化问题 Optimization Problem
  16. 千万数量级分页存储过程[转帖]
  17. 项目三 管理文件和目录
  18. 金蝶kis记账王报表应用方法
  19. python计算ema_python – 添加一个列(EMA),它是pandas中先前新列值的结果
  20. iDownsV1.8.4资源素材教程下载类WordPress

热门文章

  1. 智能指针之auto_ptr
  2. emmet 工具的基本使用,总结
  3. servlet 验证生命周期过程调用方法的次数
  4. .NetCore上传多文件的几种示例
  5. 提取字符串中字母数字方法
  6. DenyHosts安装及配置
  7. [人生]不经历风雨怎么见彩虹
  8. 特征工程之自动特征生成(自动特征衍生)工具Featuretools介绍
  9. 论文翻译:Real-Time High-Resolution Background Matting
  10. position: relative_设置relative 后再设置定位 原有位置空白