To my point of view, sharing this is irresponsible, modifying librespot to download song on your computer is fairly easy and is a good learning exercise to learn Rust. But by sharing this work publicly, you increase chances that librespot will be blacklisted by Spotify and that accounts using it will be terminated. It's a shame, because there is many alternatives to the bad Spotify UI that rely on librespot that will also become blacklisted. There are legitimate uses of librespot and its use should be restricted to those, for the best of users and developers that spent a lot of time making librespot great.
That is true, maybe I should delete the HN listing.
I actually would like to know how to modify librespot to do so, since I am not a developer or know any Rust at all. Thus this project seems useful to me.
Pedant here. Copyright violation is not theft. Piracy describes another act entirely, too.
The bible gives a green light to share words and song publicly, and to duplicate freely for the masses what is in arbitrarily short supply.
Even our modern, applicable laws do not mention theft, so you ought try to avoid strawmanning in the future and look up which millenium the DMCA was written for.
This is the exact kind of thing I was anticipating.
Regardless of terminology, you’re breaking rules set by someone else and doing something because you feel entitled to do it. Even if the original file doesn’t change you’re taking possession of something you don’t have the right to possess.
Go nuts. It doesn’t fundamentally matter at all. But don’t try to loophole your way out of a situation that is very clear.
That's interesting, because nowhere in Spotify's TOS are the words "theft" or "piracy" mentioned. And even if it was, I don't think basing morals or definitions of words on a single company's terms of service is a good idea. Sure, the TOS probably specifies somewhere that you're not allowed to rip music from their software, but whether doing so is theft has nothing to do with Spotify.
But fundamentally you and I both know that Spotify has made rules that say you can’t write a script to download all the songs as MP3s or OGGs or whatever.
If you want to break those rules, go nuts. But don’t hide behind terminology. You’re taking something somebody else doesn’t want you to have because you feel like you’re entitled to it.
You'd be correct if you didn't word it as "taking". Nothing is being taken from anyone, and this might seem like semantics to you but it's an important point when piracy is being discussed. When piracy happens, the net result is that there's more of it in the world, which is contradictory to theft.
If you think that's immoral or should be illegal, it's a separate discussion. The point here is that for that discussion to be had the distinction needs to be made.
You are taking possession of something you don’t have rights from the original owner to possess. This is true even when the original thing remains unchanged.
Again, I’m not interested in debating the definition of theft/piracy/copying/whatever. It’s a very tired argument made by people who want to validate their decisions and actions.
Just say, “I don’t care. I’ve talked myself into thinking there’s no issue with me doing this so I’m going to do it.” The lengths people will go to argue the semantics of this shows me how clear the issue really is.
I'm not surprised you're not interested in debating the definition of theft and piracy, considering that doing so would invalidate the inflammatory comment you made originally. It's very easy to keep the moral high ground when you refuse to engage with a subject in good faith while strawmanning every argument proposed, and that is something I'm not interested in engaging with.
"Streaming" is a transfer of data to the user's computer. The user is simply choosing to manually manage the data already being transferred. This is legal.
Haha - yeah, I'm (obviously) getting a pasting for it because this is after all HN, but I spotted it and it was a slight WTH moment, and I thought worthy of comment (somewhat justified given it's sparked a bit of discussion). I don't have an axe to grind with OP, and I don't tend to be Spotify's biggest fan (even though I'm also a premium subscriber because of the library they offer), but it simply struck me as quite an odd disconnect.
Also, how can they tell that it is librespot, and how can they block it? Isn't it basically simulating being one of the official Spotify clients? I really do not want them to get banned or blocked
This user agent could just be set to the official client's user agent and nobody would see a thing, this is a free text field basically.
Then it would be more of an exercise of finding clients behaving in an odd way that's not mapping to an official client. That's way harder to detect though.
Trying to pretend to be an official client was a game I never wanted to play. There's so many tiny differences in the way I've implemented the protocol it would be trivial for Spotify to notice this if they wanted to. It then becomes an whack a mole game between them and us.
Spotify is fully aware of librespot and has tolerated it so far. If they change their minds are try to block it it would be the end of the road for librespot. This is why, despite repeated requests from users, librespot has never supported free accounts nor downloading files in order to avoid pissing Spotify off. I always knew it would be trivial for anyone to implement this using the librespot source code, but it makes me a bit sad someone actually did it.
(That being said, I personally don't contribute or use librespot anymore, so really I don't care)
I wonder if this is somewhere it would make sense to use a non-free license which restricts how people use the code or what modifications they are allowed to redistribute. It wouldn’t stop anyone motivated from breaking the rules by themselves but it makes things like Oggify less likely to be distributed and so would mean librespot might be more likely to survive long-term.
This is the curse of open source - once you put the code out there, there's nothing you can do about it.
Currently dealing with this with a project of mine, it's hard to see people take and "abuse it", but there's nothing you can do really - licenses don't stop anyone.
Sorry these were meant as two separate points. People have asked repeatedly to use librespot on free accounts, and (other) people have asked to have librespot download files. I've pushed back on both, and Oggify does the later only.
can't you just use soundflower with some scripting to capture the audio directly at the uncompressed audio card level? There is NO way for spotify to block that.