Yesterday, another big show — The Joe Rogan Experience — also asked to be withdrawn, making it appear that opting out of Luminary might be a trend for the most popular shows.
Then, after that story ran, Barstool CEO Erika Nardini tweeted that her company’s podcasts would be pulled too.
Add @barstoolsports to the list. Luminary’s rough launch continues as another high-profile podcast asks to be removed from its app https://t.co/T2VqEbQQlf via @NiemanLab
— Erika K Nardini (@EKANardini) April 24, 2019
[Update, 3:45 p.m.: PodcastOne has now done the same.]
I’m no Luminary stan, but I confess that I found these actions by podcast publishers a little unnerving. A podcast like The Daily or The Joe Rogan Experience is just an RSS feed with audio files attached; it lives on the open web, available for any computer to download and access. For instance, here’s The Daily’s RSS feed; here’s the MP3 file of today’s episode. Luminary’s controversial, but it’s also just another podcast app, and they all work by downloading that RSS file and then that MP3 file. This interoperability is baked into the open web; it’s just like how every webpage can be accessed by every web browser. Imagine a world where, if you wanted to build a new web browser, you then had to negotiate a license with every site on the Internet? If podcast apps had always been held to this standard, podcasting would’ve never taken off.
Maybe I'm just an open-web romantic, but a podcast — publicly available to all via an open RSS feed — saying that a specific app can't use that RSS feed is a bad thing.
It's like a website saying "Firefox doesn't have a license to show this site, pay up"https://t.co/8CPq61JSdr
— Joshua Benton (@jbenton) April 24, 2019
If you want to make a podcast exclusive to your platform — as Spotify does, as Stitcher does, as Luminary does — that’s fine; keep it off the open web and just serve it to your app. But to take a show that already exists out in the open, for every other person and device in the world to access, and arbitrarily block it violates the norms of the open web, for me.
But…we learned a bit more this morning that seemed to indicate Luminary isn’t actually acting like every other podcast app. Instead of just accessing those open RSS feeds and MP3 files, Luminary appears to be pulling in copies of both, saving them on their own servers, and then serving their own copies to listeners instead of the originals. (You can see an example of the code here.)
@marcoarment @atpfm Luminary is caching 3rd party podcast MP3s on their CDN. Their iOS app doesn’t even go to the ATP RSS feed. How do you feel about Luminary redistributing ATP without permission? https://t.co/V0ZYZS09qh
— Jack (@_jakcron) April 25, 2019
Can anyone confirm this? It sure looks like it if this is an API dictionary.
Is @hearluminary re-hosting podcasts without permission on a https://t.co/csXjX7a16q CDN, thereby bypassing our servers for most downloads and robbing us of stats?
If so, that’s copyright infringement. https://t.co/8keeTRfTjw
— Marco Arment (@marcoarment) April 25, 2019
Because when I go here, I hear our @atpfm episode being re-served by a @hearluminary CDN without our permission.https://t.co/Pec0sNNMIn
— Marco Arment (@marcoarment) April 25, 2019
If keeping cached copies of MP3 files doesn’t sound bad to you, it should. Podcasts use data generated by downloads of their own MP3 files to figure out how many listeners they have, which then allows them to sell advertising and sponsorships. If, say, 10 percent of a show’s listens came through Luminary, that 10 percent would be invisible to the podcast’s makers and thus unsellable to advertisers. It’s really bad!
Yep, that's bad, @hearluminary.
Also, it's dumb? You really think a speed gain from a CDN is going to offset (a) the hassle of running your own caching system (b) violating copyright (c) pissing off the industry by wrecking its analytics?https://t.co/OqMtHCK0nU
— Joshua Benton (@jbenton) April 25, 2019
Yup. The podcast economy works on download counts, not RSS subscribers.
Re-hosting platforms (Spotify, Google, formerly Stitcher) prevent each download from being counted properly by the publisher, under-reporting their audience size.
That’s why re-hosting requires opt-ins. https://t.co/WCgLHLruiz
— Marco Arment (@marcoarment) April 25, 2019
When I wrote about Luminary on Tuesday, I was under the impression they were simply leveraging the open nature of podcasts (I.e. pointing to hosts). I had no objection to Exponent being there in that case (although I understood the objections of others)https://t.co/PVygOTNFmi
— Ben Thompson (@benthompson) April 25, 2019
But…maybe it’s not so bad after all? Luminary responded by saying that it actually wasn’t caching MP3s and was instead using the internal URLs to point to the original ones for technical reasons.
Luminary is not caching any audio content for any open feed podcast. The Luminary audio link is simply a reference link that is marking audio metadata as the file is called through our proxy.
— Luminary (@hearluminary) April 25, 2019
This ensures that all requests go directly to the original media file’s RSS feed and properly credit the RSS feed for listens, activity, and traffic.
— Luminary (@hearluminary) April 25, 2019
We mark the audio metadata to say it's being requested by Luminary user agents (instead of a generic iOS, Android, or Web browser user agent which would have no mark that it’s Luminary).
— Luminary (@hearluminary) April 25, 2019
In other words, Luminary says that every time the internal URL is called, the original MP3 at the original source gets downloaded. Move along, nothing to see here.
That still screws up podcasters’ statistics, since all of those calls will appear to be coming from the same device and most podcast analytics platforms would consider that to be the same person downloading an episode more than once and not add it to the episode’s total audience. But it’s also something that can be addressed.
Luminary’s responding in this thread, claiming (I think) that they’re proxying, not caching — still re-serving, but making a new request to the publishers’ servers for each request.
If so, that’s still a copyright issue and still breaks most stats, which de-dupe by request IP. https://t.co/bHdG8Duobg
— Marco Arment (@marcoarment) April 25, 2019
I can’t think of a good reason to proxy all downloads 1:1 like this.
It won’t add any speed in practice — most downloads will actually be slower — and adds significant costs, will be interpreted as copyright infringement by many lawyers, and makes podcasters want to opt out.
— Marco Arment (@marcoarment) April 25, 2019
I wouldn’t advise that podcasters pull out of @hearluminary over their proxying yet — I’m giving them a short window to change it.
Pulling your show out of a podcast player (which may end up a significant one) shouldn’t be a rash decision.
But if they don’t change? Screw ‘em.
— Marco Arment (@marcoarment) April 25, 2019
Some testing appears to confirm @hearluminary’s claims of 1:1 proxying.
So this should be easy for them to fix: change it to an HTTP redirect, and these problems immediately disappear.
— Marco Arment (@marcoarment) April 25, 2019
But not everyone was satisfied with the response.
No, you'll be following up with a notification that you have removed my podcast.
— Ben Thompson (@benthompson) April 25, 2019
@hearluminary Remove all podcasts produced by Enchanted Sky Media, LLC from your service immediately. Your company does not have our permission to distribute them. This includes the shows "Code 3," "Bullying, Life, and Stuff with Rhonda Orr, and "Living with Parkinson's Disease."
— Scott Orr (@Code3Podcast) April 25, 2019
There’s a new podcast app called @hearluminary that’s getting some press. Note that they scrub show notes of all links (including Patreon/sponsorship) and rehost our original files on their own CDN for tracking purposes. We’ll be considering opting out if they don’t change.
— Chris White (@stoneymonster) April 25, 2019
I will be requesting that @hearluminary removes @bento_fm from their service. I don't want them to profit from the hard work that @pezki
and I put into our show by rehosting not only our podcast but others from independent content creators without permission.— Toniohead (@tondog) April 25, 2019
At this point, I’m broadly satisfied with the proxying response from Luminary and think, assuming they fix the stats hiccup, what they’re doing isn’t problematic. But the larger lesson of l’affaire Luminary is that when you come into an established space — one that, culturally speaking, still likes to think of itself as having that ragtag DIY DNA from the early days and that is suspicious of big-money outsiders — try not to gratuitously piss people off. There are rules and there are norms, and if you’re seen as violating the norms, the community you’ll need in order to succeed is unlikely to rally around you.
Probably would have added our show to Luminary if they had just asked, but instead I'm here making a takedown request—great way to make a good impression in the podcasting community! pic.twitter.com/fIj7CIW2CF
— Owen Williams ⚡ (@ow) April 25, 2019