Fedicamp: proposal for a Federated alternative to Bandcamp
first published: 2024-03-20
last updated: 2024-03-20

I prepared some rough slides to convene a session about this at the March 2024 Fediforum. This post is based on those slides.

My goal is to encourage developers to pursue a line of development that will lead to a Fediverse-connected self-hostable alternate to Bandcamp (let's call it "Fedicamp"). I have opinions about how this should be done, informed selfishly by what I want, but also the needs of the broad subcultural communities I am part of.

I invite questions or comments on this. I'm not a developer, but I really want to see this exist. If you are serious and on the same level maybe I can help, or collaborate! Get in touch.

TLDR

  1. Smash together Bandcamp and PeerTube.
    • Free + frictionless upload of music for bands
    • Decentralized instances
    • Instances host creators (bands), let the Fediverse handle the social side (fans, listeners, interactions with content)
  2. Don't worry about paid downloads.
    • Fediverse projects are not concerned with monetizing content, it's about sharing and building a community.
    • Why make this different
  3. If you gotta make money, build a distinct companion store service that integrates with Fedicamp
  4. Not Funkwhale.

What's my deal?

I have been playing in punk and hardcore bands for over 25 years. None of my bands have ever been "signed" to a label of any consequence, and we've never wanted to be. Despite staying in the non-mainstream underground, I have still toured all over the world and self-released dozens of cassettes and records. I've also been sharing my music online since the mp3 was invented. Myself and my bandmates have only ever cared about breaking even on gas money for tour and production costs for releasing music. I'll continue playing music like this for the rest of my life.

There are multiple huge and overlapping independent and underground DIY (Do It Yourself)-type communities who operate like this. They are the base of musicians I am trying to represent here. I won't pretend to represent all musicians, but I think these musicians represent a very big and important slice of people who make music.

Bandcamp's history and context

This will be very brief, but for those unfamiliar bandcamp was founded in 2007 and it quickly became a very popular place for independent musicians and small labels to distribute their music and sell (downloads and merch) directly to their fans. In my communities (punk and hardcore), Bandcamp is ubiquitous. More commercially ambitious musicians will go through a service that will get their music on Spotify and other streaming platforms, but by and large every punk with a new release will put it on Bandcamp. When I hear about a new band I go to Bandcamp.com where I enter the band name in the search bar and then I listen to their songs on Bandcamp.

In March 2022, Bandcamp was acquired by Epic Games (who make the very popular game fortnite). Many people saw this as a turning point, although I don't think there were any major changes to Bandcamp internally or for users at this time. In September 2023, Epic Games sold Bandcamp to Songtradr which is a company that specializes in B2B ("business to business") music and content licensing. Many people saw this as an obvious signal of a future downward turn or "enshittification" of Bandcamp. This acquisition was also followed by a massive layoff of Bandcamp staff, and a lot of shady union-busting behaviour towards the newly forming Bandcamp union.

These events have made people more and more aware and concerned about the problems with Bandcamp's dominance in this space, kicking off waves of interest in alternatives.

Remember Myspace?

tom from Myspace

I have been skeptical of Bandcamp since it rose to prominence among my peers, because I never trust such platforms to not eventually be sold and then change the deal on users. I'm old enough to remember Myspace, which was the de facto place for independent musicians (punk and hardcore bands included) to share their music online before Bandcamp. There were a few other places (mp3.com anyone?), but Myspace occupied the dominant position that Bandcamp now enjoys. Every high school screamo band and bedroom rap artist had a profile on Myspace with their music.

Surprisingly, Myspace still technically exists but the site was probably widely used from 2003-2009. After Bandcamp came along, most musicians transitioned there since it offered a much better and less bloated experience. By then, Myspace had become well and proper "enshittified" after being acquired by News Corp (and possibly being bought and sold multiple times - the details are not important). The end-stage of Myspace's betrayal of its musician-users was revealed in 2019: Myspace fucked up a server migration and lost all user content from 2003-2015. That included 50 million songs.

Obi Wan Kenobi in the Millenium Falcon showing a shocked expressionI felt a great disturbance in the Force, as if millions of songs suddenly cried out in terror and were suddenly silenced. I fear something terrible has happened.

This massive loss is what I worry about with Bandcamp. There's no real doubt that Bandcamp is on a downward spiral and service will degrade for musicians and fans as Songtradr or whoever tries to extract more and more profit out of the platform. Eventually the platform will become unusable, leaving new bands stranded with a place to host and share their own music that isn't Spotify or Youtube, and the potential of the back catalog of music on Bandcamp just going dark one day depresses me.

(If you want to build me a scraper to pull down entire tags/genres from Bandcamp let me know)

What does the new band need?

To outline the needs I want to prioritize, let's do a little thought experiment and put ourselves in the shoes of these 20 year olds with their first hardcore band.

a fourpiece band of young people posing in their practice space looking tough

We've just recorded our first demo!

What do we need?

We want to get our new demo online ASAP. We need a webpage:

What do we not need?

At this stage, there are lots of things we do not need:

We just need an easy way to share our music with our friends before our big gig this weekend so they can mosh and sing along!!

I'll touch on this later, but I want to highlight that a lot of bands and musicians either do not need these things when starting out, or will never need or care about these things.

Bonus needs

Ok, after the gig this weekend what else might our band need online?

Social features

Building and staying connected to a fan base is important, so maybe some social features are nice as a bonus:

Enter Bandcamp

Bandcamp currently does a really good job meeting all those needs, hence its popularity. Any band can sign up, upload their tracks, logo, and create a Bandcamp profile for their demo in minutes.

The resulting band profile and release pages are customizable and work great. Any fan can go to a Bandcamp page and easily check out a band for free. Just in case you are totally unfamiliar, here's an example band profile and release page on Bandcamp:

the Bandcamp page for the band G.L.O.S.S. showing their two releases, custom logo, background, colours, and sidebar with a short bio and band photo

the Bandcamp page for one of G.L.O.S.S.'s releases, with a nice player, tracklist and liner notes

It's simple and clear, and the band was able to customize the page in a fun individualized way.

Bandcamp also has most of the bonus social features mentioned above. Anyone can subscribe to a band and get put on a e-mail mailing list where they will be notified of new releases. Band pages have a "community" tab where bands can essentially make blog posts (though this feature isn't widely used in my experience).

Bandcamp also lets fans sign up for accounts. Fans can subscribe to bands, interact with community posts, display all the bands they support on their profile. Fans can even follow other fans and see when someone supports a new band. They've started building a little social network in there (imagine if they had just used ActivityPub lol).

Fedicamp

Where I am going should be somewhat obvious. The proposal for Fedicamp is a Bandcamp clone with the social features handled by the Fediverse. I'll explain how I see all the details working, but first I want to point out PeerTube.

the peertube mascot, an octopus with a peertube triangle logo in its head

PeerTube is a great model for this. PeerTube instances provide a home for video creators to create a profile and upload their videos. Anyone on the internet can view a profile and uploaded videos. In order to interact socially (comment, link, share) a viewer must have a Fediverse account elsewhere (eg on Mastodon). Anyone can interact with the profile and posts from the Fediverse. Hence the TLDR version of this pitch is combine Bandcamp and PeerTube.

The profiles

OK onto some details of what Fedicamp would look like and how it would work. Bands can sign up and create a profile just like on Bandcamp with all the crucial needs met I outlined above.

The essential features of each band's profile:

Social Fediverse

As with PeerTube, Fedicamp should not manage fan accounts. Instead, each band profile is a Fediverse account and anyone on the Fediverse can follow and interact with that band account via ActivityPub. If you follow a band, new releases show up in your feed and you can interact by liking, commenting and sharing/boosting from your Fediverse account.

All this as as bare minimum and would be quite powerful, but I think it is reasonable to build in some basic microblogging here too. Let bands post text updates, upcoming shows, photos, even video content. Bands will be able to broadcast to their followers without needing a redundant second presence elsewhere on the Fediverse. The microblog can be on a separate tab on their profile viewable on the web as well (the music/releases should be front and center).

Decentralized Fediverse

There should not be one centralized Fedicamp server. This is the Fediverse! There might be a flagship instance, but it should be reasonably easy for others to set up their own Fedicamp instances. I can envision a lot of interested parties setting up instances:

Basically any person or group with the technical skill and some resources. There are lots of parties interested in helping musicians share their music, they just need a tool that musicians will like!

The server

Some additional notes about instance-wide features:

Moderation

Some quick musings on moderation. I think the needs would be pretty small, but at least: - Admins can moderate content, ability to hide or take down content if needed - Admins can moderate Federated content (replies to posts coming from the Fediverse) - Perhaps bands can report comments and admins can delete them from showing up, or block instances - Perhaps artists can have their own ability to delete comments from showing up or blocking instances from interacting with their content

Varia

Some features that I think would be nice, but I didn't slot in above:

Paid downloads

You've probably noticed that so far I have avoided talking about paid downloads. One other central feature of Bandcamp is the ability for bands to sell downloads of lossless audio for the songs you can stream for free at a low-but-listenable bitrate. This can be free "Pay What You Want" or a set price.

Bandcamp's paid download dialogue

A lot of people (musicians and otherwise) look at Bandcamp and see a music store: a place to sell (digital) music where bands get paid fairly. I think this perspective is over-emphasized. Many think about music online and focus on how can artists get paid for their music rather than just how can artists share their music. Personally I care much more about the latter. There are lots of ways to get paid for music, and paid downloads or streams have never seemed particularly appealing or fruitful. But the Internet has proven to be an amazing way for artists to share their music.

Maybe because I'm an anarchist I just care less about monetizing my art... I'm not alone though! A LOT of bands look at Bandcamp and see a place to share their music for free where people can check them out and become a fan. Streaming is always free on Bandcamp and I don't have the stats (and I doubt Bandcamp would share them), but I'd bet there is far more music up on Bandcamp with the free/"Pay What You Want" download option vs a fixed price. I think this has always been the "killer-app" for Bandcamp, rather than the paid downloads. Napster and everything that came after made a lot of music industry people disgruntled, but being able to share your music on the internet for free? Priceless for bands. So so important.

Implementing payments is also a lot of work, headaches and liabilities! I think a lot of developers get involved in this space and get bogged down trying to implement paid downloads. I myself have trouble seeing how it could work technically for decentralized instances.

I'll also say that small independent bands don't make much money from paid downloads (or paid streams). Maybe you make a few bucks here and there, especially if you hustle your fans to support you that way. But small bands make way more money playing shows, selling merch and physical media. Cassettes are back. Vinyl is back. T-shirts never went away. COVID is real, but live music will always happen however it can.

We don't need another experiment in monetizing music online. We need easy powerful tools for musicians to share their music and spread their art and build a fan base. If they wanna make money, that will empower them to do it more effectively offline, where the real money is and has been all along!

Finally, consider the rest of the Fediverse. Pixelfed is for photographers. PeerTube is for video creators. Mastodon and countless others are for writers. None of these are concerned at all with implementing monetization of content. They are about creating an open decentralized social network where people can reach other with their creations and art. That's awesome. That's what the Fediverse is all about. It's somewhat anticapitalist in nature, structurally so in some ways, in the "information wants to be free" kind of way. It doesn't make a lot of sense to me to try to slap in monetization of content.

OK that's it for my ranting about this. I actually don't think it's a big deal if you want to implement paid downloads. Maybe just don't worry about it for your MVP though! Let's build this Fedicamp first. I am pretty confident that even without paid downloads something like will flourish for bands that are just trying to get their music heard and reach fans.

Other alternatives

I'll address some of the other alternatives out there or that people mention when I talk about this.

First, there's several broad categories of alternatives that I'm not interested in addressing in detail:

  1. Other centralized large corporate platforms. I want to break out of relying on services that follow the "enshittification" arc.
  2. Tools that require using the command line, setting up your own webserver, etc. It needs to be as easy as signing up for Bandcamp.
  3. Bandcamp clones that are just music stores closer to the old Bandcamp: less features, and maybe fairer conditions for artists. Some of these are cooperatives, or collectively owned and operated and I think that is cool, but I've already spent enough words explaining that I think the priority should be free streaming and integration with the Fediverse for the social component. None of these have implemented ActivityPub and only a few have expressed interest in it. I don't think the solution is a bunch of competing Bandcamp clones, even if they have better conditions and fees for bands.

Mirlo

a screenshot from mirlo's homepage. Directly support musicians. Buy their music, collectively owned and managed

Mirlo fits under no 3. above, but there is interest in adding ActivityPub in the future and the project is open-source so in theory someday anyone will be able to self-host an instance. I actually think mirlo is pretty promising, and maybe I'll even try putting some of my music there... but I still think it's not prioritizing the same things as me. Maybe the mirlo folks are reading this (hi!) and will take some ideas or inspiration from me. I hope so!

Funkwhale

The whale in the room! Have you been reading this whole time saying "why not Funkwhale?" I'll tell you why not Funkwhale.

Funkwhale was originally conceived as a a server for users to upload their music library and stream it from anywhere (similar to many other projects like SubSonic, Jellyfin, etc). Later it added ActivityPub support, joining the Fediverse and allowing Federation between servers, so your instance would show music libraries uploaded by local users as well as music libraries of users on other servers. So yes, it's about music, but it's not about musicians sharing their music with fans, it's about listeners sharing their collections. Very different.

Then, Funkwhale added Channels, which are intended for musicians (and podcasts) to share their own content. Users from the Fediverse can follow Channels of artists they like (or podcasts). This is sort of looking like the Fedicamp vision, but there are so many problems. Funkwhale is trying to do two different, fairly conflictual things (users share music libraries + artists share their own music), and consequently is kind of confusing for both, and has a lot of feature bloat if you only want to do one or the other.

For example, there is no way for me to set up a Funkwhale instance that is only for musicians to share there music, ie that is only for hosting Channels. Any musician signsing up would have to understand they should create a Channel and not a regular Funkwhale account for uploading their library, even though both involve uploading music. Funkwhale instances will have music uploaded by users from their library displayed alongside music uploaded by the musician in their Channel. What if my uploaded music library includes music from an musician that also has a Channel? It's a huge mess!

It doesn't look or work at all like Bandcamp, which I've explained is the ideal flow for a band that just wants to get their music online. There is a ton of friction and stuff in the way. The look and layout of the instance can't be configured (what if I want just a grid of artists with Channels on the home page and nothing else? what if artists want their Channel to show their music grouped by instance rather than a list of songs?) and it's just kind of ugly imo. Trying to set up a Funkwhale instance and then asking punk bands to wade through all this to share their music is a non-starter.

Funkwhale is trying to do too many things and none of them well. Funkwhale could perhaps try to follow my advice, and maybe create a "Channel-only" mode for instances who want to be a Fedicamp, but that seems like a lot more work than building something from scratch with this purpose in mind.

Sustainability

OK, I hear you. If I'm discouraging paid downloads how is any of this supposed to be paid for? Won't streaming music be really expensive? How will instances pay for this?

In the Fediverse, we already see a lot of community-run instances figuring out how to support their hosting and bandwidth costs. There are lots of strategies and approaches. Music streaming isn't free, but it won't be worse than video streaming and I don't think the question prevented framasoft from developing PeerTube.

I envision a lot of different solutions. For myself, I've said I would gladly run a Fedicamp instance for my local scene. I'll give accounts to bands here. I'll collect donations from bands and fans with a service like Liberapay and host occasional benefit shows to cover costs.

If any band I host blows up and bandwidth costs rise, I'll ask them for some extra donations, or ask them to move. Any band getting that big is going to understand. I also thing the server software should have some commonsense safeguards. Disable streams on a profile temporarily if a profile is getting too many hits and too prevent abuse, ban IPs that are abusing streams. Help instance admins avoid hosting bill surprises.

I also think institutions and orgs with a budget will jump in here. Universities, music school, artist collectives, labels.

But also lets talk about arts funding. I'm in Canada and arts funding is big. The same is true in Europe. This is an easy pitch for grants. Both for running instances with different niche interests (CanCon!) or for the actual software development project itself. This post could probably be reworked into a grant proposal!

And if you are set on having paid downloads, well that's easy. Let instances take a percentage for their costs, and maybe allow instances to opt-in and kick a percentage to the developers too. This is the best argument for implementing a paid downloads feature imo.

Make your silly money

If you still need some better cash incentives for this as a developer, here's some suggestions. You can have these for free! If you make a million dollars you can send me some but no worries if we get a free open-source Fedicamp that's thanks enough :)

Build an app

I am not an app expert, and I know making from apps is hard and maybe impossible. But it's an idea!

You build the store!

Instead of building Fedicamp with a paid download/merch store built-in, build a Fedicamp companion centralized store service that you run! Provide a solid infrastructure for paid downloads of lossless audio, and a physical merch store too if you feel like it. You can even steal Bandcamp's vinyl printing service! You can build this with a tight integration with Fedicamp because you build Fedicamp. Make it really easy and slick for bands to connect their Fedicamp profile to their page in the store. Nice integration. On the store side, bands can just enter their Fedicamp profile to pull in all their data and releases and then drop in their lossless audio. The store page refers to the Fedicamp page if shoppers want to preview the tracks or learn more about the band.

Maybe the store even kicks back a little % of fees to the instance operator for the "referral". Why not?

I've foolishly buried this pitch at the end of the post, but I think this is a really good idea.

You develop an open-source decentralized tool for bands to easily share their music and build a fanbase in a super progressive, open, resistant to "enshittification" way, and build a centralized closed store for selling lossless audio and merch that integrates nicely. This seems like a great model for getting everyone paid, but keeping the bits in the right place. The business side is centralized and closed, the art side is free, decentralized, and open.

Is this a business plan? You can have it? Just give me the Fedicamp!!

Conclusion

I don't have much to conclude, but thank you for reading this long post and caring about what I have to say about it. I hope it was useful!

Thanks to various people who have listened to me talk about this and given feedback or asked questions.

path: index / BLOG / Fedicamp: proposal for a Federated alternative to Bandcamp