yt-dlp pronto requerirá un entorno de ejecución de JavaScript para las descargas de YouTube
- Login o registrati per inviare commenti
https://github.com/yt-dlp/yt-dlp/issues/14404
yt-dlp pronto requerirá un entorno de ejecución de JavaScript llamado Deno [1] para resolver los desafíos de JavaScript que YouTube genera para tratar de evitar que la gente descargue videos. El desarrollador que publicó el hilo de discusión sugirió que actualizar el intérprete integrado podría ser posible, pero mantener ese intérprete sería mucho más costoso (hasta el punto de ser impracticable) que en el pasado, porque los desafíos han aumentado mucho en complejidad. yt-dlp cambiará a un "enfoque basado en AST" en su lugar; no estoy seguro de si esto significa que el JavaScript se "ejecuta" realmente, pero tal vez alguien que entienda esto mejor pueda opinar.
El intérprete de JavaScript integrado existente ya era un poco controvertido [2], pero parece que la mayoría de la gente pensaba que estaba bien, ya que yt-dlp está incluido en Trisquel, Guix, Parabola y PureOS. Pensé que Hyperbola usaba hypervideo en su lugar, lo que eliminaba el intérprete integrado, pero ahora parece que no tienen ninguno de los dos paquetes.
Después de este cambio, parece que descargar videos de YouTube puede requerir descargar y ejecutar JavaScript privativo. No sé cómo interactúa esto con las reglas de Trisquel, ya que yt-dlp sigue siendo útil para descargar videos de otros sitios web, pero facilitará la ejecución de privativo, incluso por accidente, dependiendo de cómo se implemente esto. Por otro lado, el caso de uso para el JavaScript no libre que se descarga y ejecuta es diferente al de la mayoría del software, así que tal vez no importe tanto que no sea libre.
A largo plazo, parece bueno alejarse de YouTube. Tal vez sería una buena idea pedir a las personas que hacen videos de YouTube que los publiquen bajo una licencia libre, para que alguien más pueda elegir alojar el canal en PeerTube o algo similar. Si no tenemos suficientes recursos para alojar muchos videos de esa manera, incluso un directorio de canales de video con contenido principalmente libre podría ser útil para el futuro. ¿Alguien sabe si existe algo así? (Supongo que los videos con licencia CC-BY-ND también funcionarían para este propósito específico).
¿Qué piensan sobre este próximo cambio en yt-dlp? ¿Deberíamos modificar yt-dlp para eliminar esta nueva función? Tal vez descargar desde Invidious sea una buena idea, pero ejecutar una instancia de Invidious probablemente también requeriría ejecutar software privativo en ese caso.
[1] https://deno.com/
[2] https://lists.gnu.org/r/guix-devel/2019-08/msg00073.html
Esta fue traducida por mi, pero el autor original en inglés es Jacob K (https://trisquel.info/es/forum/yt-dlp-will-soon-require-javascript-runtime-youtube-downloads).
Tener que depender de instancias de Invidious pueda que no fuerce a que yt-dlp dependa de los JavaScripts privativos de YouTube, a cambio que dicha labor se haga directamente desde las instancias de Invidious. El tema está que por el tema de las API's también está limitándose, por lo que en ese sentido, YouTube está limitando las formas en las que se descargan los videos sin depender de las páginas web.
Y viendo que es también la problemática que tuvo youtube-dl, entonces dentro de los foros de Guix reconocen que el tema no compromete la integridad de yt-dlp como software de código abierto al no depender del todo de los scripts privativos hechos en Deno. Y por si fuera poco, yt-dlp es un fork de youtube-dl que está rehecho en Python, por lo que al menos no es dependiente de pip3 ni tampoco depende al 100% de los scripts privativos salvo de algunos valores (además que también navegadores como Abrowser en Trisquel y también Iceweasel por defecto admiten la descarga de scripts privativos por defecto).
No obstante, lo que sí sería tajante es que yt-dlp incorporase esos scripts privativos dentro del código fuente, por lo que ahí sería cuestionable su integridad. La dependencia de los scripts privativos de YouTube hace que yt-dlp se encuentre en la misma zona gris que en Abrowser y Iceweasel.
Creo que debemos ir cambiando de hábitos respecto a YouTube.
Ya se había comentado que al igual que otras plataformas están buscando que el contenido solo sea disponible a usuarios sobre los que puedan monetizar, si no pueden monetizar, entonces no hay contenido. Esto se ve no solo en YT, si no en X, Facebook, y muchas otras.
Veamos que decide Debian, pero lo mas sensato parecería ser detener actualizaciones si esto se implementa.
Estoy de acuerdo y junto a eso, añadir LibreJS por defecto en Abrowser.
En el caso de Debian, su juicio sería que tanto las licencias MIT y GPL no generen ningún tipo de conflicto a nivel legal, además de garantizar que dicha integración no genere conflictos alrededor de los usuarios más exigentes del software libre.
Lo más probable es que admitan ese cambio debido a que no compromete seriamente a la privacidad del usuario final al no tener que depender al 100% de los scripts JavaScripts privativos de YouTube.