ソフトウェア

YouTubeから動画をダウンロード可能なオープンソースツール「youtube-dl」はどのように開発が始まったのか?


YouTubeやニコニコ動画などの動画サイトからムービーをダウンロードしたり音声を抽出したりできる「youtube-dl」はオープンソースで開発されるコマンドラインプログラムで、GitHubにプロジェクトがホストされていました。しかし、デジタルミレニアム著作権法(DMCA)違反だと訴える全米レコード協会(RIAA)の要請によって、youtube-dlのリポジトリがGitHubから丸ごと削除され、大きな議論を巻き起こしています。そんな中、youtube-dlの生みの親であるリカルド・ガルシア氏が、youtube-dlを開発した経緯を自身のブログで解説しています。

Geek Blight - Origins of the youtube-dl project
https://rg3.name/202011071352.html


2000年代前半、ガルシア氏はスペインのアビレス市から5~10kmほど離れた町に住んでいたとのこと。アビレス市内はインターネットインフラが整っており、光回線やADSLでのインターネットが利用可能でしたが、ガルシア氏の住んでいた町は十分にインフラが整っていませんでした。しかも、町では銅線の盗難事件が多発していたため、電話会社は回線が貧弱で低品質な状態を改善することなく放置しており、結果としてガルシア氏は通信速度が毎秒数KBというダイヤルアップ接続でのインターネット利用を強いられていました。

そんな中、2006年頃から簡単にムービーをオンラインで視聴できるYouTubeがインターネット上で人気を博すようになりました。しかし、ガルシア氏のインターネット接続環境では、10MB程度の短い動画でも完全にダウンロードできるまで40分くらいかかってしまうため、ストリーミング再生は実質不可能です。

そのため、ガルシア氏はYouTubeにアップロードされているムービーをローカルに保存する可能性を検討したとのこと。当時からすでにYouTubeからムービーをダウンロードする方法が存在したものの、ガルシア氏の環境ではどれも機能しなかったため、独自ツールを開発することを考えたそうです。これがyoutube-dlの生まれたきっかけだと、ガルシア氏は述べています。


youtube-dlを開発する上で、ガルシア氏は使いやすさを最優先にしました。そのため、youtube-dlのコードは標準ライブラリが豊富なPythonで書かれており、コマンドラインプログラムにすることで、プラットフォームに依存しないツールとなっています。

youtube-dlは記事作成時点だとYouTubeだけではなく、VimeoやFacebook、LiveLeak、Dailymotion、ニコニコ動画など、複数のサイトに対応していますが、初期バージョンはYouTubeのみに対応したシンプルなプログラムでした。ソースコードの行数は223行でしたが、実際のコード行は143行、コメントは44行、空白が36行。名前も「youtube-dl」と、プログラムの目的を端的に表したわかりやすいものとなっています。

ガルシア氏は、開発してから数年間はLinux環境で使っていましたが、「誰かの役に立つかもしれない」と考え、2006年8月にプログラムをフリーソフトウェアライセンスで公開しました。当時はまだGitHubが存在しなかったため、ガルシア氏がインターネットサービスプロバイダと契約したときに割り当てられたホームページ用のウェブスペースに、youtube-dlのコードが公開されました。


youtube-dlの人気は徐々に高まり、使用者から感謝のメールがガルシア氏のもとに届くようになったとのこと。また、他のサイトにも対応してほしいという声が増えたため、2008年にプログラムを最初から書き直したとのこと。また、プロジェクトのホスト先も自前のウェブスペースから、バージョン管理システムにMercurialを採用するBitbucketに移行。さらに2010年11月にはバージョン管理システムをGitに切り替えて、GitHubに移行しました。

その後、YouTubeがHTML5を正式に採用する以前から、ガルシア氏はyoutube-dlをHTML5に対応させる取り組みも行っていました。しかし、2011年後半から別のソフトウェア開発に集中しており、数カ月にわたってyoutube-dlのプロジェクトに関わることができなかったため、ガルシア氏はyoutube-dlのメンテナーを辞任することを決意し、Philipp Hagemeister氏をはじめとするyoutube-dlの開発チームにそのままメンテナー権限を移行しました。記事作成時点では、ガルシア氏は開発者としてyoutube-dlには関与していません。

ガルシア氏は「ツールとしてのyoutube-dlの目的は、14年の歴史の中でほとんど変わっていないということをお伝えしたいと思います」と述べ、youtube-dlはインターネットへの接続環境にあまり恵まれていない場所で、レビューやレポート、ポッドキャスト、講義などにオフラインでアクセスするのに有用だとしています。

この記事のタイトルとURLをコピーする

・関連記事
GitHubのCEOが削除された「youtube-dl」のリポジトリ復活に向けて動く - GIGAZINE

「GitHubに削除されたYouTube動画ダウンローダーは著作権侵害用ツールではない」とオープンソース団体やジャーナリストが反発 - GIGAZINE

YouTube動画ダウンローダーのリポジトリをGitHubが削除、音楽業界団体からの要請に基づき - GIGAZINE

iOSの脱獄ツール「Chimera13」がGitHubから削除される、申し立てたのはライバルツールの開発者 - GIGAZINE

Appleが流出したiBootソースコードは本物と認めGitHubに削除依頼、ただし最新iOSは安全と表明 - GIGAZINE

in ソフトウェア, Posted by log1i_yk

You can read the machine translated English article How did the development of the open sour….