- I'm not familiar with the ytdl codebase, but I believe its already structured as a general framework, with separate per-site extraction functions. The central framework should be stored in a "webvideo-dl" repo, and the separate extraction functions should be contained under separate repos - e.g. "wvdl-plugin-youtube".
This solves two problems:
1. If "wvdl-plugin-youtube" is DMCA'ed, the rest of the project continues to function.
2. Separate "plugins" can be maintained by separate teams. It sounds like the original youtube-dl was already running behind on responding to issues and PRs, prompting the creation of the youtube-dlc fork.
Hopefully, it wouldn't require as much effort as when a lot of the UNIX utilities were rewritten to get properly licensed versions back in the 80s - I remember a description of how they were rewritten from being cpu-optimized to being memory-optimized to avoid any code similarities.
The trick, I guess, would be to restructure the code so that the new "dl-webvideos" project would be hard to construe as a continuation of the original project.
The other trick would be, that the new solution has to be started fast to avoid losing momentum.
Youtube-dl was great and it's huge loss but it seems any efforts in improving or maintaining it will just be harder now. Instead if we could focus that energy on building something robust and resistant to such actions we might actually have solved this.
There are plenty of alternatives to Youtube, a bunch of them defunct. Youtube is irrelevant to this conversation; the DMCA takedown would have been equally effective had the copyrighted URLs been from Vimeo or Dailymotion or any other project that dies in a year because its creators don’t understand what makes a video site (and `youtube-dl`) is the community, not the tech behind it.
I think a better choice would be to fork/branch wget or curl and maintain a "supercurl" or "curl2" whose superset of curl functions just happens to be the merged functions of youtube-dl.
e.g. pip install wvdl-plugin-youtube
The name is good, there's a lot of really legal use cases -- downloading properly licensed videos for offline usage, archiving your own creations, etc.
The fundamental problem was that in the README and elsewhere, there were examples of ripping copyrighted content.
It would've been better to use examples of libre/public domain content, but I'm not sure how they can un-sail that ship.
The real solution is that we use the decentralized version control system as intended, and make this impossible to DMCA-away.
The only options are to move development to a server located somewhere beyond the reach of the DMCA and similarly take it off all repositories or to give up on making it possible to download every (or even most) videos from youtube.
The productive next step is to make youtube-dl compliant with copyright law, namely by removing the TPM-circumventing code from youtube-dl (`YoutubeIE._decrypt_signature`), and making the marketing material reflect that it's designed for non-infringing or exempted uses only. Unfortunately, you can't 'put the genie back in the bottle', so it's unlikely the original authors can continue to be contributors.
In the long term, put energy into reforming copyright law.
I fail to see how this code is non-compliant with copyright law, considering it is a necessary step to complete the transaction. Is the TLS decryption code in every browser non-compliant?
There are fair use reasons to download otherwise-copyrighted videos, and you would need to run this code to do that.
See also: DeCSS
Then the community can be like Popcorn time and say, ahem, no copyright infringing code here.
Or a version could even be released w/out the test cases and or README files that make any reference to any type of "illegal" activities.
Edit: Add to firefox a right-click option "Save Video As".
Git is already distributed and the availability of a lot of clones of the repository out there shows it is working as intended.
A good start would be using Fossil ( https://fossil-scm.org/ ) for its distributed issue tracker, wiki, and forums -- but not for the source code control! Let the code stay on Git as it belongs.
____________________________________
Unrelated soapbox moment: Fossil is a great idea built upon the bad idea of recreating Git in the wrong way... it would be perfect if it just all other things except source control, leaving this part to git.Move parts of the infrastructure to decentralized platforms, like a Matrix chatroom, or mailing lists. Link that on the website. As long as the community keeps together, the rest can move around.
What are the next steps for the community?
- Should we re-locate to a different space?
- Shall we wait until a lawsuit has been filed?
- Shall we wait until we have a legal response?
The good thing is that the website https://yt-dl.org is sill up, and the original author seems to have control over it. If there is some coordination behind it, I don't see why the community could not re-locate to a different place, where it is less likely to be sabotaged by what seems to be an inappropriate DMCA takedown.