Hacker News new | past | comments | ask | show | jobs | submit login
YouTube-dl source code encoded in two images (twitter.com/galacticfurball)
325 points by arafsheikh on Oct 24, 2020 | hide | past | favorite | 106 comments



Distributing the code is not an issue. It’s keeping development moving when YouTube changes their apis.


This is also an interesting case for github. youtube-dl is popular enough that this just might annoy enough people to find an alternative way to collaborate on it. Meanwhile github becomes “that platform that might kill you project”


I'm surprised this comment is (currently) more than halfway down the page, when this was my first thought when I saw the repo takedowns.


The comment is back up at the now.


release it as images on twitter as an image when releases are made?


Linux kernel is developed[0] nicely without GitHub. All that’s really needed is a mailing list and someone (who doesn’t fear Google or RIAA suing them personally) willing to host the DVCS server.

[0] https://en.wikipedia.org/wiki/Linux_kernel#Source_code_manag...


I wonder if sr.ht is down to do it? That’s kind of the anti big tech hosting service.


Git ships with a server daemon so no third-party hosting is strictly required. In addition, Git has tools for creating and incorporating patches that can be sent by plain email. I believe that’s how Linux development works.


Genuine question, how viable is it, if we (code monkeys) created some sort of a blacklist of the entities that are not allowed to use our open source projects? -- something like "We don't support Internet Explorer" but a bit more aggressive? like "These entities don't understand the Internet, we don't support them, they cant use our software"?

Maintaining that list would be a ton of work and edge cases tho :/


Any organization you create to manage such a list will be captured by non-programmers with an agenda that is political and stops serving the original purpose. They will play favorites.


The original agenda is political.


They will take it into an expanded political agenda beyond the DMCA trigger.


Premature throwing of the white towel.

Original contributors are in charge of the distribution restriction.

The organization is purely operational and enforces distribution restrictions, per original authors’.

They can infiltrate the distribution org as much as they want, as long as the original author to org hand-off is legally constrained. The main puzzle is what is that legal mechanism, which may be nothing more than licensing.


Agreed, but we could clarify it. If you sue or take any legal action against an open source program, you forfeit the right to use any software that is open source, forever.

Which basically means you can no longer use a computer, which in pratice should be a strong enough deterent.


But how would that be enforceable?


Via licenses/copyright.


You can add or remove companies from the license agreement yourself?


Do you really want to live in a world where software is politicized to the point that FOSS devs are maintaining shit-lists of undesirables barred from using basic tools?

It won't end well, and the adverse effects will disproportionately impact people without power, not the large companies you have in mind.


Yeah, I guess it can be abused easily, but again... how can we as code monkeys fight these power hungry practices that keep dragging us backward ¯\_(ツ)_/¯


That's the logic that gave us the PATRIOT Act, the full consequences of which have yet to be understood.


I'm not from the US so I have no idea what's the history of the PATRIOT Act, but I get the concept, it's just F*ed up and we cant do shit about it


Created after the 9/11 plane hijackings, people were scared.

“Never let a good crisis go to waste“ comes to mind.

https://en.wikipedia.org/wiki/Patriot_Act#History


As code monkeys? Nothing that isn’t just changing the terrain.

As humans, do the politics.


By refusing to work for whoever employs these practices. Open Source code and their licenses are better left open; "they" will always need to hire someone who can use it. Just be prepared to say no to some good money when the time comes.


Politics is just getting what you want.

Software is already political. Commercial software traditionally does this through direct and indirect lobbying efforts. The DMCA didn't just spontaneously appear out of thin air. There must be action-for-action retaliation.


Maybe we need apache with DMCA clause (like patent clause)-if you ever invoke DMCA your license is forfeit?

I'm not sure how viable it is - the GPL is hack on top of copyright - but the DMCA is an extension on top of copyright too (however ill advised).


I think the GPLv3 implements a similar idea WRT patent rights, sometimes referred to as "patent retaliation clause" [1].

Just saying that there is precedent for licenses being used to protect against overreaching "IP" laws.

[1] https://www.gnu.org/licenses/gpl-faq.html#v3PatentRetaliatio...


DMCA does have legitimate uses, though. If someone was stealing my IP, I'd certainly consider invoking it. It just becomes a problem when big companies with lawyers™ use it to stop someone from doing something legal that they don't like.


Maybe. Some will argue for software parents too. Copyright infringement was illegal before the DMCA and I'm not convinced it improves things. In fact, I'm pretty sure we'd be better off if it was repealed.


Isn't one of the largest benefits of DMCA the safe harbor protections? Like you said, copyright law exists without DMCA, in which case the Githubs and Youtubes of the world could be sued.


But I don't think safe harbour was entirely new with DMCA - it's a formalisation of what was there? Wasn't there some cases in the 90s where free web hosts and isps were found to not be responsible for users hosting copyright material? Maybe I misremeber.


You have the option to pursue legal action without the DMCA. The problem with the DMCA is that it lets would-be rights holders take down content without any due process - without any other party even reviewing their claim.


Invoke DMCA against whom? The specific project or in general?


Hm, I misremebered the patent clause in apache2 - I thought it revoked both copyright license and patent license - but it is limited to the patent. At any rate my suggestion/idea was to take inspiration from:

> If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.

I'm not sure if it could work with, or be a good idea for, the DMCA. But I'd guess one would say something along the lines of "any invocation of provisions in the DMCA revoke any license grants herein".


Again invocation of the DMCA against whom, the original license issuer for that specific project or for any party and cause?

The patent clause in Apache is rather common in various FRAND and open standard agreements to prevent the project from being taken hostage in disputes between corporations.

If you apply something similar to a wide spread license like GPL for example it means that if I’m hosting a website running on FOSS with this license software that hosts say copies of Netflix shows Netflix can’t use DMCA against me because they also use FOSS software under the same license.


Yes, the idea would be to kill takedown requests. Perhaps limit it to requests for takedown requests against software, not other media?

Again, I'm not saying this is a good idea - but it's an idea.


And by whom? The RCIAA loses all licenses to open source software. No water off their backs.

Individual music companies might be hit a lot harder.


I cannot speak to its viability, but the BipCot NoGov License is a pioneer along these lines. It has been around at least 5 years: https://bipcot.org

'The BipCot NoGov License allows any use of software, media, products or services EXCEPT by governments. The BipCot NoGov License threatens no “government guns” for violators. It is not copyright-based, it is entirely shame-based.'

Text of version 1.2 of the license:

https://bipcot.org/wp-content/uploads/2018/08/BipCotNoGovSof...


Ok, I believe it is a joke, but I find really weird to see the government, a collective social construction, as the source of all evil.


A government is like fire, a handy servant, but a dangerous master

Government comes in many forms but at its core government is a monopoly on the invitation of force. Governments are instituted to use force to compell action or inaction. The laws of a government can be democratic or dictorial but in either case the laws are backed by this threat of force

Evil is a subjective value. So for a government to be evil you would need to agree with the statement "it is unethical to initiate the use of force"

Of you believe it is unethical to initiate force then one would alose believe government is evil or unethical


Government is a tool and not perfect,this is why I think you can see western democracies which are bound to be mediocre but can actually adjust over time and most of the issues can be blamed on the population as a whole as they still hold voting power, whereas you also have evil government such as the Chinese government that openly has concentration camps and tortures millions in them but the populace at large (in China) seems to be okay with it and couldn't really do anything about it anyway, as they are controlled completely by less than 1% of the population and short of a civil war can't really do anything about it.


This can be a theoretical argumentation, but I'd still think it is crazy. I'd love have an open source being used to improve the lives of other citizens.


Indeed, but why do you assume that would require or even involve government?


Keep in mind there is no singular we. There will be code monkeys you agree with. There will be code monkeys you dont agree with. There will be code monkeys you sorta agree with. They would all start to make their own lists. You'll be on some of this lists.

All we've really ended up doing is fragmenting the internet more.


I think all coders can agree that censoring code should be pretty high up on the list of developer commandments. This should rally all developers.


Like https://github.com/climate-strike/license I guess. There's good discussion of this in the numpy mailing list linked in the readme.


Interesting. I was fully expecting this license to also prohibit any uses involving proof-of-work-based cryptocurrencies, but it only focuses on fossil fuels.


Then it’s no longer open-source projects.


Open Source is not the same as Free Software and does not say much about the license other than that the source can be viewed. At least that is my understanding.


Your understanding is incorrect. Open Source is an alternative term for Free Software[1].

[1] https://en.wikipedia.org/wiki/Alternative_terms_for_free_sof...


His understanding was correct. Open source is not the same [1]. It might be an alternative but it is not the same as free software.

[1] https://www.gnu.org/philosophy/open-source-misses-the-point....


Open source was coined by the guys at mozilla to avoid the ambiguity people are trying to create. Open source has a clear and well-defined meaning and it's not defined by whether the source is viewable.


Your understanding is correct. Open source means nothing more than you can view the source. It's just typically open source software also comes with a license that allows you to use it free, either with MIT or similar.

OSS !== FOSS


You are thinking of Source-Available Software[1], not Open Source. The sets of Open Source and Free Software licenses are (almost) identical. OSS == FOSS == FLOSS == FS, etc.

[1] https://en.wikipedia.org/wiki/Source-available_software


OSS, FOSS and FLOSS are not the same at all.



Your understanding is not correct. Open source does not only mean than you can view the source. If you're not familiar with the term, look it up. Don't make things up.


You should talk to RMS and ask his opinion then.



That's why I'm curious, it's more of a movement I guess, also there are multiple types license and idk if blacklisting a specific entity is possible or if it has any legal grounds


It does have legal precedent. There's some spat with a color that's copyrighted (related to vantablack iirc) and the copyright specifically says that the other person is the only person who does not have the right to use the color.

I don't know if that was tested, but I'm not aware of any laws that would prohibit you from excluding an entity or entities from your copyright.


There's a bit of disagreement in this subthread over what "Open Source" means. I think the issue here is that there multiple ways that people define "open source":

1) The source is viewable (regardless of license)

2) The source is licensed under an OSI-approved license [1] (and thus also viewable)

There other definitions that I've seen as well, but I think these two are the main ones in play here.

It's clear to me from the context that slooonz is using the 2nd definition, but it's also clear from the disagreement that others are using the 1st definition (or one close to it).

Down thread [0], another user linked a page from the FSF [2]. It says:

>The official definition of “open source software” (which is published by the Open Source Initiative and is too long to include here) was derived indirectly from our criteria for free software. It is not the same; it is a little looser in some respects. Nonetheless, their definition agrees with our definition in most cases.

>However, the obvious meaning for the expression “open source software”—and the one most people seem to think it means—is “You can look at the source code.” That criterion is much weaker than the free software definition, much weaker also than the official definition of open source. It includes many programs that are neither free nor open source.

>Since the obvious meaning for “open source” is not the meaning that its advocates intend, the result is that most people misunderstand the term.

So I think the disagreements come from not defining Open Source in the same way.

And for the record, I agree (using definition 2 from above) that adding a clause to the license to restrict who can use the software would make it no longer Open Source per OSI's definition [3]:

> 5. No Discrimination Against Persons or Groups

> The license must not discriminate against any person or group of persons.

> 6. No Discrimination Against Fields of Endeavor

>The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

[0] https://news.ycombinator.com/item?id=24882631

[1] https://opensource.org/licenses

[2] https://www.gnu.org/philosophy/open-source-misses-the-point....

[3] https://opensource.org/osd-annotated


Sounds like what you are looking for is closed source software where you get to dictate precisely who your licensees are and under what specific terms they must use your software.

This is a model I have started to seriously consider due to increasingly prolific IP theft concerns. There is software that is so capable that it could be considered a weapons platform from some perspectives. I really worry about this stuff in context of China/Russia/India/et.al. and our willingness to relinquish our various competitive advantages.


Some negative points highlighted below but I think this is right tract still. Maybe an updated GPL with prohibition against DMCA?


Look at the FSF, EFF...old MIT wizards went through the same...we should avoid centralised hosting for projects like these or be bullied into closing them by lobby groups


Great, now Imagemagick will receive a DMCA takedown notice! Can someone encode Imagemagick as audio using sox?


Sure, in Phil Zimmerman-style!

We can convert it to audio, maybe using dialup-like FSK/PSK, and we can even upload it to YouTube with a spiffy bit of 'cover-art!'

That way, whenever anyone needs a copy of ImageMagick, they can just download the vi-- Oh.


Back in middle school before I learned about youtube-dl I was ripping music from youtube by playing audio out of my headphone jack and routing that into the microphone jack, then capturing that with audacity. After that I would export to MP3. Clearly a terrible process (I could have at least recorded from the output device directly) but it worked.


Relevant - https://news.ycombinator.com/item?id=18342042\

JPEG image of Shakespeare which is also a zip file containing his complete works


no such item


Backslash got added at the end. Can't edit now. Sorry


Remove the trailing backslash.


Most countries are being pressured into converging on a global set of copyright laws (among others), so unless we demand and can realise changes in the law, this is going to be a perpetual battle of attrition, and the other side's job in done when it becomes inconvenient enough for widespread use. They don't need to wipe something out completely.


That and us, americans who keep on voting for incompetent fools...Is the FSF able to help in this case if it were a project in their organization? how can devs unite and fight against this type of bullying?...honestly, most of HN keeps on demonizing the FSF when they can be a legal force against cases like these...now we are all fragmented and weak


Copyright convergence is mathematically divergent: some nation extends copyright by a positive integer value, so must all the others. An infinite series of positive integer values cannot converge to an integer value. However, comfort may be found in that this is a process of countable infinity.


This recent takedown will only make more people know about YouTube-Dl and hopefully create more forks. When will these big companies learn!?


The takedown may spark new life to the project development, which severely slowed down in the last months because there are too few maintainers.


Plenty of people used and knew about youtube-dl already. It's made the front page of HN multiple times [0]. I've used it as a key example of why/how non-programmers should learn to use the command-line. People who weren't already aware or didn't care to learn aren't going to be significantly moved now.

[0] https://hn.algolia.com/?q=youtube-dl



It's still available from a bunch of Linux repositories. As it's completely written in Python, you can extract those packages and use the code even on Windows (or MACos, if you're into that sort of thing) https://www.archlinux.org/packages/community/any/youtube-dl/



We should start a political movement to stop this tyranny. Like the climate change movement it will take time but at least we will make some progress.


The NRA is your model organization. No one cares if the EFF has an opinion but the NRA carries weight in elections. We need an NRA for encryption and we need one for open source. They should not be the same organization because you need a single, one line focus.


There are movements such as the FSF and EFF. Why not join and get ur voice heard?...or perhaps start a new movement, not separate to those that already exist, but complementary and cooperative


Just for fun, I wrote a little Python script to convert the image files back into the original archive.

Use Pillow to read the pixels from each file, and write the RGB values to a new file. Then use the gzip library to uncompress that and create a TAR file. Then I just viewed the TAR file in The V File Viewer.

I stopped there because that was enough to show that it worked. I have ImageMagick installed somewhere, but this was more fun.


Original source code is still hosted on their website[1], for now.

[1]https://youtube-dl.org/.


... but none of the version control history, issues list, pull requests, branches, and whatnot.


Have to make an entire movie to fit that in... Maybe one can host it on Youtube, for maximum irony.


Perhaps we could use something like this? https://github.com/TheApeMachine/cloudtube


So... is there any 'official' mirror by now? I mean the one that the original author and maintainers are using, not just all possible mirrors created by the community, there are dozens of them of course.



Side Question : Is there a distributed alternative to github ?


I'm not sure if this is a joke, but I'll humor you. Yes - it's called git.


I’m not sure if this is a joke, but I’ll humor you. GitHub is way more than git.


Gitlab is working on federation, or they at least have an open issue about it.[1]

Meanwhile there is a federated git as a reference implementation called Forgefed.[2]

1. https://gitlab.com/gitlab-org/gitlab/-/issues/6468

2. https://forgefed.peers.community/


Is there a confusion in question ? GitHub is centralized, the Git protocol is decentralized. I dont fully understand your response.



+1 This is the first thing that came to mind. Like a torrent swarm of the repo where people can still make commits and pull requests so that development can continue.



How does it work anyhow? It must do more than `wget` the mp4


It also uses ffmpeg to combine various pieces, and I'm not sure what wget like program they use by default. It doesn't do much though.


That is essentially what it does: it uses Youtube's own API to formulate the correct URL, using all publicly known data that Google themselves publish so Youtube can function.


One thing many people are not aware of: youtube-dl actually does it's thing for a whole bunch of sites that aren't youtube.

Generally, it pulls down the HTML page for a site, parses it, and uses the results to pull down the video. The extractor for youtube itself is the most complex one, but there are plenty of others.

Last time I checked it had extractors for something like 700 different sites, along with a generic one that works on a bunch of sites. In general, you can just point it at any video page you see online and have a fairly high chance of it doing the right thing.


Now might be a good time to rename it to video-dl


Seems like this tweet was also taken down.


Nah, just "modern web". Tweeter always loads once in 10 times for me.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: