We are thrilled to announce the public availability of Fairplayer for Faircamp, the first step in our vision of a #decentralized #music platform.

After a few months of building, and the generous help of artists who have participated in our trial period, https://fairplayer.band is open to the world. If you are an artist that has a #Faircamp site, or someone wanting to listen to music from independent artists, come and tell us what you think!

Special thanks to @radisolar @blankfosk @helenbellmusic @maciac @sofisoft @kidlightbulbs @aymanhamad @laribal @txels @james @Omar @choan who have already contributed their music in this very early stage!

Fairplayer

@fairplayer

Dear @mirlo, take a look! We've been creating a new member of the independent music distribution family. <3

Dear @fairplayer and Faircamp community, I love your work to giving back control to the artists, the musicians.

How can we as listeners give back, make a donation as a token of our appreciation? I mean beyond the Kofi/patron/liberapay links that some artists publish on their site. Ultimately the economics are important, so I'm curious what's your vision/plans for that. I guess it's different from the pay2own model from https://resonate.coop

Amazing what you are doing. This helps with the #boicotspotify

Play fair.

Resonate is the world’s first co-operative music streaming service — a multi-stakeholder platform co-operative, democratically governed by its members: artists, listeners and workers.

Resonate

@Wtebbens

Hi!

Thanks for your support! 🙂

Your question points to a very relevant aspect. We want to implement tools to reward artists in the next steps.

We are organizing our local ecosystem in order to generate debate between listeners and artists to reach a fair system. Our idea is to give the tools to adapt to the needs of each community.

Our vision is that, in the end, both control and responsibility of sustainability should be on artists but also listeners.

@fairplayer wow this looks amazing! Are you also working on Bandwagon support? cc @benpate

@liaizon @benpate

Hi! Thanks a lot!

We are not working on it specifically although we have them on the radar. Our idea is to work together with the decentralized musical ecosystem (some of it we are already in contact) towards standardized protocols.

We believe in cooperation rather than competition and we want to take special care on creator's consent.

@fairplayer @liaizon @benpate

there was talk of trying to do this on an @lorenzosmusic episode with @fluffy. yea working out some kind of open protocol seems key.

https://mastodon.social/@lorenzosmusic/115747719713086292

@wjmaggos @fairplayer @liaizon @benpate @lorenzosmusic Hello, yes! The referenced protocol spec is at https://github.com/PlaidWeb/Canimus and I know there’s interest from Simon Repp in adding it to Faircamp. I’ve got some prototype implementations of the protocol up on my own site https://sockpuppet.band/ as well as on https://songfight.org/
GitHub - PlaidWeb/Canimus: Federated music publishing protocol for decentralized streaming platforms

Federated music publishing protocol for decentralized streaming platforms - PlaidWeb/Canimus

GitHub
@fluffy thanks! Yes we are aware of this work! (I am one of the Fairplayer devs).
@txels Good to hear! I'd love to ensure that the spec is actually useful and easy to parse and use, so any feedback you have on it would be greatly appreciated.
@fluffy @wjmaggos @fairplayer @liaizon @benpate I didn't know about the song fight one, I like that concept 😀
@lorenzosmusic You should enter, we're always looking for new participants! And a new title cycle just started.
@fluffy I will! I'll take a look at it thanks 😀

@fluffy @wjmaggos @liaizon @benpate @lorenzosmusic

Thanks!

Some of our people were already aware of this protocol and take it into account 😃.

@fluffy As with each of the many proposals for decentralized streaming popping up all around right now I'm definitely interested to understand, evaluate and discuss it eventually, but maybe let's not jump the gun here re. me adding it to faircamp, I've only had a first, brief glance at it in November. '^^ (https://post.lurk.org/@freebliss/115603679519233706)

@wjmaggos @fairplayer @liaizon @benpate @lorenzosmusic

Simon Repp (@freebliss@post.lurk.org)

@fluffy@plush.city coincidentally I ran into it just two days ago or so ;) (as well as https://beesbuzz.biz/blog/11155-A-fair-independent-streaming-platform). I will have another, closer look eventually, for the time being I'm unfortunately flooded with work. '^^

post.lurk.org

@freebliss @wjmaggos @fairplayer @liaizon @benpate @lorenzosmusic Fair! All I said was you’d expressed interest, not that you’d definitely be doing it. It does seem like Faircamp would be a good spot for something to emerge though, being a static site generator that a lot of people have gotten enamored with.

The main thing I care about is a static protocol that is discoverable. If something else catches on I’m happy to go with that instead.

@freebliss @wjmaggos @fairplayer @liaizon @benpate @lorenzosmusic Also I’ve been looking for an excuse to finally learn Rust and have been tempted to try implementing it for Faircamp myself, if that’s a thing you’d be willing to accept a patch for.
@fluffy In a few weeks from now (with the first 2.0 test build(s)) faircamp will officially expose its internal tree as a JSON file (on request via --export-tree flag), then you could easily implement this in a post-build hook even without having to touch rust! :) For direct integration (and potential PRs) I'd first like to take the time to properly evaluate and ponder this, but right now it's all about (the already packed agenda for) faircamp 2.0. :) Thanks for the offer though, I appreciate it!
@freebliss @fluffy ooh the JSON output and post-build hooks approach sounds like a great way to extend faircamp without taxing (you) the maintainer 👏
@freebliss Nice! Hopefully this is functionality that will lead to even more incredible integrations.
@freebliss for the sake of implementation, since I don’t run faircamp myself could I get an example file to build a converter against?
@freebliss Oh also is there a way to inject added HTML into the page output? Being able to add a <link> tag to the page header is important to make it so that players/receivers know whether and where to look for the feed URL in the first place. Or would it just be best to have the tag be injected by the feed builder and then make sure that the thing always gets run on every page build?
@fluffy For a site-wide feed the https://simonrepp.com/faircamp/manual/catalog-catalog-eno.html#site_metadata and https://simonrepp.com/faircamp/manual/catalog-catalog-eno.html#site_assets options will do the trick. You can then basically run "faircamp --export-tree tree.json", generate the feed from the json and write it somewhere, and then do another regular build (both builds reference the feed file from site_assets/site_metadata, but it's up-to-date only for the second build that actually renders the page). Alternatively there will also be the possibility to do "faircamp --render-tree tree.json" as the second step, and the site_asset stuff can be injected into the tree.json before running that. :)
Catalog (catalog.eno)

Catalog (catalog.eno)

@freebliss awesome, thank you so much!

@fluffy here's one: https://fdpl.io/tree.json

Note that this is just whatever currently comes out of faircamp (I'm rather surprised anything came out just now :D). It will probably be a while until this stuff stabilizes even after 2.0 as well, we'll see what works and doesn't work about this, and adjust accordingly. :)

@fairplayer @radisolar @blankfosk @helenbellmusic @maciac @sofisoft @kidlightbulbs @aymanhamad @laribal @txels @james @Omar @choan

I've been dying to see this vision take off. decentralized Spotify where the music comes from artists' websites and some version of your friends' boosts replace their algorithm. then maybe we can support them via a monthly donation that gets automatically and directly paid to them based on the percentage of our time we spend with their work. #PublicPatron

@wjmaggos @fairplayer @radisolar @blankfosk @helenbellmusic @maciac @sofisoft @aymanhamad @laribal @txels @james @Omar I love that. I started building out https://auxpack.club to help on the patronage side, by enabling artists to band together and reduce exposure to processing fees
Auxpack

Patron subscriptions for indie creator collectives.

Auxpack

@kidlightbulbs @wjmaggos @fairplayer

That is very interesting! Personally, I think that individual patronage can drive to dangerous dynamics on the artists and I am more for a "community" of artists patronage.

@fairplayer Looks great! Is there an API?

@dmd

Hi! Thanks!

For now, we are focusing in maturing a responsive web app. So an API is not in the early road, although new features will arise from the community needs.

@dmd @fairplayer what kind of API are you thinking about, and do you have a specific usage in mind?

@txels I make a music player app – @Radiccio – and I thought it might be interesting if people could browse, follow, and listen to Faircamp artists they like directly in the app. Similar to what Fairplayer does, only in a native Mac app instead of a web app.

I can see that Faircamp sites have RSS feeds, but it doesn’t look like they contain enough information to enumerate albums and songs, find stream URLs to play, etc. So I was curious how Fairplayer is doing this.

@dmd @fairplayer

My short answer is, I don't think we will be putting effort into such a "music consumption API" in the near future, because we have more important problems to solve first, the main one around creator consent.

@dmd @fairplayer

The longer answer is, the kinds of APIs or protocols I think we should be focusing on solving are those around content federation - among tools that share a vision of a decentralized platform, built as a digital commons (libre or freedom-enhancing software). Parties that set up explicit federation agreements, where they recognise each other as peers, and have the explicit consent of creators - they establish a bond of mutual trust.

@dmd @fairplayer

This may include explicit licensing or compensation agreements that are acceptable to all parties (not just the platform admins but the content creators as well).

@dmd @fairplayer

fairplayer.band (the instance) will play music that the #faircamp site owners have explicitly entrusted us to play (they have done this by signing up and providing a proof of website/faircamp ownership). We can make no implicit assumption about what other things we can do with their music, so we won't, until we can formalise some sort of consent mechanism.

@dmd @fairplayer

Although not yet formalised as such, for me fairplayer.band the instance is co-owned by all contributors (those who contribute to the tool, those that bring in the content, those that do community building and communication, whoever pays the hosting bills, etc...). We share the work, we should share the decision making as well.

@dmd @fairplayer

Building trust is really hard and losing it can be very easy. In our case we have gained the trust of early participants by having direct conversations (in person, via videoconference or email) and explaining more of our vision going forward. These early participants help spread the word and let others trust us, with fewer context.

@dmd @fairplayer

We are aware we need to spend more time explaining what the project is, what it is not, and what it aims to be. That is also a high priority for us, probably higher than building any features, at the moment.

@txels @fairplayer Thank you for the explanation. I love to see more tools that can put power in the hands of the artists. I would be happy to be a part of this too in some way, but only if it’s done in such a way that everyone feels comfortable with, and which would substantially benefit the artists. Please feel free to get in touch if you’d like to discuss further at any point!

@fbulow Hi!

There has not been a debate on that, but there is not any plan in the roadmap to support audio files DRM from the player.

@fairplayer glad to see projects like this! To echo others, some kind of artist payment is critical before being adopted by most artists.

I've long been thinking about an open source, decentralized Spotify alternative that pays the artists the vast majority of all revenue, maybe metered by the minute rather than per stream, up to a maximum monthly payment from the user.

Another option is Bandcamp-style purchasing of music. Artists I know like the Bandcamp model. Purchased music would go into one's local library, and would be playable by the streaming app for free, integrated seamlessly with the non-owned (metered) content.

Good luck with this project!

@jamesmarshall Thank you!

We are in close contact with both listeners and musicians in our local area (in fact, we have both in our development team). Our vision is to let them decide which should be the best payment equilibrium and provide the tools to do it.

The ability of purchase music to download is something that we have already discussed, although we are in a very early stage of the development and it will be shaped by the needs of the community!

@fairplayer @jamesmarshall
Isn’t this already handled somewhat through the individual faircamp site of each artist?
You can look there if they have an option for support. And concerning the streaming part on fairplayer, everybody can decide themselves if they want their work on your site or not.
@fairplayer great! I hope you're also getting input from musicians who aren't developers and need to make a living with their music alone. :) At least in the US, that's a huge challenge for professional musicians-- they are far underpaid, and we don't really have a safety net here.

@jamesmarshall

We are! Here in Spain, musicians face a similar challenge. That is why we are part of a movement trying to organize musicians, in addition to provide them with the appropriate tools.

@fairplayer @jamesmarshall why?!
faircamp IS our download and soft paycurtain method already. Doing an opt-in unified player with some maybe kinda potential for discovery is nice but your website is quite unclear on copying or pushing potential resource strain down to artists' hosting.

For the things that if not already in the thread will pop up from the "now do this" dogpile:

Folks need to just keep getting better at directly supporting artists if they actually care. Middlemen are an infinite harassment, annoyance and barrier for artists.

Also crawl before sprinting, there is no ethical payment gateway, grouping or middlemanning payments is a liability speed run to shutdown. Go to artists' faircamps where download and support is zero clicks away instead of up levels and onlynin one spot.

There will never be a streaming or discovery platform for indie artists where you can also stream corpo catalogues and support rhianna's lawyers' yachts.

@controlfreak @jamesmarshall

Hi! Thanks for answering!

I'll try to address some of your points, but take into account that ours is a project in its early steps and many of the future paths will be defined by both listeners and musicians community.

>your website is quite unclear on copying or pushing potential resource strain down to artists' hosting.

For now, audio files are listened directly from the catalog source. We think this design distributes better the power, but is true that artists with more reproductions might need a hosting with more resources.

>Folks need to just keep getting better at directly supporting artists if they actually care. Middlemen are an infinite harassment, annoyance and barrier for artists.

We will keep this option (a direct url, as it is now) for the people that want it this way. However, as our team includes musicians, we will listen to their particular needs, too.

@jamesmarshall @fairplayer definitely agree with you that pay per listen should be compensated "by the minute" not "by song".

I ask myself whether "pay by song" encourages cutting up integral works into smaller pieces. The mechanics of compensation shouldn't condition the creative process and integrity of the artwork.