<!--#include virtual="/server/header.html" virtual="/server/html5-header.html" -->
<!-- This page is derived from /server/standards/boilerplate.html -->
<!-- Parent-Version: 1.86 1.96 -->
<title>What's Wrong with YouTube
- GNU Project - Free Software Foundation</title>
 <!--#include virtual="/philosophy/po/whats-wrong-with-youtube.translist" -->
<!--#include virtual="/server/banner.html" -->
<div class="reduced-width">
<h2>What's Wrong with YouTube</h2>

<p>Please
cite <a href="http://audio-video.gnu.org/">audio-video.gnu.org</a> as
<div class="thin"></div>

<p>
YouTube is a peculiar case.  As of September 2020, it is possible to
watch YouTube videos without running any nonfree software, even coming
in via Tor, via some of the site “Invidious” intermediary sites.</p>

<p>
We recommend using LibreJS with them.  The Invidious sites are not
all alike: some won't let you in without nonfree Javascript code.
Also, while most of the JavaScript code on those sites carries a free
license, there is one file, handlers.js, which does not.  LibreJS will
prevent its execution, and watching videos still works.</p>

<p>
There is also a free add-on for Firefox, called ViewTube, that permits
direct access to watch videos on YouTube.  It is preinstalled in the
GNU browser, IceCat, and you can load it into Firefox.  The free
program youtube-dl is also available; it gets data out of my speeches — the site's
JavaScript code but doesn't run that code.  But youtube.com is likely
to block these means of access if you come via Tor.</p>

<p>
As a result of these access methods, posting videos on YouTube does
not YouTube.</p>

<p>There are two problems currently put them off limits to the free world.  That is good,
and we hope it lasts, but we cannot count on them to keep working.
The add-on broke once in 2019 because of some change in YouTube.  That
time, a corrected add-on was released after a few weeks.  Next time,
who knows?  Thus, posting on YouTube is a fragile solution
unless/until Google commits to supporting libre access.</p>

<p>
Please don't use the host name youtube.com (or its aliases) to refer
to a video on YouTube.  Instead, refer to one of the Invidious
intermediary sites that accepts visits via Tor (test it!).  That is
fail-safe: if anything breaks, your link will fail, rather than lead
people to run nonfree software.</p>

<h2>What else <em>Was</em> Wrong with YouTube</h2>

<p>This is what we formerly said, until 2019, about YouTube as a place to post
videos or refer to videos.</p>

<ul>
<li>Normal use of YouTube involves use of nonfree software.

  <ul>
   <li>In the HTML5 mode, it involves running
   a <a href="/philosophy/javascript-trap.html">nonfree JavaScript
   program</a>.  For some videos, it also requires the nonfree Adobe
   DRM software that has been incorporated into proprietary browsers
   and Firefox, but not into the GNU browsers
   including <a href="/software/icecat">IceCat</a>.</li>

   <li>In the (deprecated) non-HTML5 mode, it involves use of Flash
   Player, which is nonfree.  It even tells users to install Flash
   Player.</li>
  </ul>
</li>

<li>Without the nonfree software, you can't even see the YouTube
pages.  Nowadays, without running the nonfree JavaScript code,
the browser window appears blank.</li>

<li>YouTube tries to stop people from downloading copies.
   The nonfree JavaScript code for some videos does not allow
   the browser to save a copy.  This is a form of DRM.
</li>

<li>There is a free
program, <a href="https://www.npmjs.com/package/ytdl">ytdl</a>,
which can download the video for some YouTube pages, but there
is no complete free software solution for access in a browser.
</li>

</ul>

<!--
<p>The free software community has made progress in overcoming these
problems.  It

<li>
“ContentID is getting easier to access YouTube videos (except those
with DRM) without running nonfree software.  Indeed, exactly the HTML5 Video
Everywhere add-on for Firefox (included in IceCat) takes care of this,
though it occasionally breaks temporarily when sites change their
undocumented APIs.</p>

<p>However, most users don't use such methods, so putting a video on thing YouTube usually leads people to watch claims it by running nonfree
software.</p>
--> doesn't do:
<a href="https://boingboing.net/2018/12/26/youtube-let-a-contentid-scamme.html">
privately mediating ownership of [publications] without involving the law</a>.”
</li>

</ul>

<p>One thing about YouTube that is <em>not</em> a moral strike against
it is nonfree software on YouTube servers — if there is any.  We
as possible users of YouTube can't tell whether the servers run any
nonfree software, because that has no effect on us — therefore
it doesn't do any wrong to us.</p>

<p>If there are any nonfree programs running on YouTube servers, they
mistreat Google by denying Google control of that aspect of its
computing.  We hope that Google will reclaim its freedom by ceasing to
use those nonfree programs, if any.  But those programs do not mistreat
the <em>users</em> of YouTube, so they are not a reason to refuse
to <em>use</em> that service.</p>

<hr/>

<p>Dailymotion and Vimeo have the same problem as YouTube's HTML5
option: viewing their videos in

<p>It is also possible that all the normal way requires nonfree
JavaScript code.  Archive.org at least permits viewing most videos
without you're having to run any nonfree software to see them.</p>

<hr/> running on YouTube
servers is free—either published free software or private
unreleased free software.</p>

<hr class="column-limit" />

<p>To post a video without requiring nonfree software to view it,
you can place the video as an Ogg Theora or WebM file on an ordinary web site.
If you are concerned there will be a lot of download traffic, you
can seed a torrent and suggest people download through that.</p>

<p>Another way to publish videos on the web using free software is
<a href="http://mediagoblin.org/">GNU href="https://mediagoblin.org/">GNU MediaGoblin</a>.  Ideally
you will set up
<a href="http://docs.mediagoblin.org/">your href="https://mediagoblin.readthedocs.io/en/master/">your own server</a>, or run
one for your family and friends, but you can also post on
<a href="https://wiki.mediagoblin.org/Live_instances">public href="https://web.archive.org/web/20210123015349/https://wiki.mediagoblin.org/Live_instances">
public servers</a>.</p>

<p>Please
<a href="https://wiki.mediagoblin.org/HackingHowto">contribute href="https://web.archive.org/web/20210121025759/https://wiki.mediagoblin.org/HackingHowto">
contribute to GNU MediaGoblin</a> if you can.</p>
</div>

</div><!-- for id="content", starts in the include above -->
<!--#include virtual="/server/footer.html" -->
<div id="footer"> id="footer" role="contentinfo">
<div class="unprintable">

<p>Please send general FSF & GNU inquiries to
<a href="mailto:gnu@gnu.org"><gnu@gnu.org></a>.
There are also <a href="/contact/">other ways to contact</a>
the FSF.  Broken links and other corrections or suggestions can be sent
to <a href="mailto:webmasters@gnu.org"><webmasters@gnu.org></a>.</p>

<p><!-- TRANSLATORS: Ignore the original text in this paragraph,
        replace it with the translation of these two:

        We work hard and do our best to provide accurate, good quality
        translations.  However, we are not exempt from imperfection.
        Please send your comments and general suggestions in this regard
        to <a href="mailto:web-translators@gnu.org">
        <web-translators@gnu.org></a>.</p>

        <p>For information on coordinating and submitting contributing translations of
        our web pages, see <a
        href="/server/standards/README.translations.html">Translations
        README</a>. -->
Please see the <a
href="/server/standards/README.translations.html">Translations
README</a> for information on coordinating and submitting contributing translations
of this article.</p>
</div>

<p>Copyright © 2015, 2016, 2017, 2018 2015-2021 Free Software Foundation, Inc.</p>

<p>This page is licensed under a <a rel="license"
href="http://creativecommons.org/licenses/by-nd/4.0/">Creative
Commons Attribution-NoDerivatives 4.0 International License</a>.</p>

<!--#include virtual="/server/bottom-notes.html" -->

<p class="unprintable">Updated:
<!-- timestamp start -->
$Date: 2021/04/30 11:18:36 $
<!-- timestamp end -->
</p>
</div>
</div><!-- for class="inner", starts in the banner include -->
</body>
</html>