Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

By the time you grind to get that 100% perfect solution, the number of requirements the business has put on you in your backlog has extended well beyond what you can keep up with. It's not like software engineers are the only actors in a software system. They are reactive to the needs of product development who are reactive to the needs of customers. You have to balance your limited development resources against a constantly changing set of requirements.

So you make trade-offs.



I was gonna say that!

curl and ffmpeg are definitely commendable "100%" FOSS projects, but they aren't chasing new features. HTTP3 is big, but it's not like curl had to break HTTP 1.1 compatibility to add it. AV1 is big, but it's not like MPEG1 will ever change. Both projects deal in protocols, which means most of their requirements are literally set in stone, or silicon.

Whereas youtube-dl is constantly breaking _only_ because YouTube is constantly breaking, probably on purpose to thwart youtube-dl.

Why spend the other 80% of my time adding armor plating and documentation to a feature that will either be gone or half rewritten next week?


> YouTube is constantly breaking, probably on purpose to thwart youtube-dl.

I don't think they're trying to thwart youtube-dl, because there's so many low-hanging-fruit countermeasures that they don't employ. youtube-dl can download a playlist with hundreds of videos at 1000x playback speed. You can't tell me that's not distinguishable from regular users going through the website.

What's more likely IMO is that the constant changes that ytdl is catching up with are caused by good old CADT (Cascade of Attention-Deficit Teenagers) inside Google, driven by their infamous "build over maintain" culture.


Yeah agreed. There's a big difference between the base layer utilities and the application layer interfaces.




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

Search: