FediPay: beating Mata at marketing micropayments with free software

Hey fediverse, Mata is Threatening our way of life. Let’s show them how the #FreeSoftware community works… Bring effective #micropayments to the #ActivityPub protocols! #GoTALER!

FEP-0837 already exists.

1 Like

How would you express a donation using ValueFlows?

1 Like

With Valueflows / FEP-0837 the sequence would be:

Recipient publishes a Proposal. This object expresses the ability to receive donations.
Donor sends an Offer(Agreement) activity.
Recipient sends an Accept(Agreement) activity containing the payment details (e.g. a unique invoice ID for this donor).
Donor makes a payment.
Recipient sees the payment and links it to the donor (e.g. via unique invoice ID).
Recipient sends a confirmation to the donor (optional).

Here is an example of a Proposal object indicating that actor accepts donations in Euro:
{
“type”: “Proposal”,
“id”: “https://social.example/proposals/ddde9d6f-6f3b-4770-a966-3a18ef006930”,
“purpose”: “request”,
“attributedTo”: “https://social.example/users/alice”,
“publishes”: {
“type”: “Intent”,
“id”: “https://social.example/proposals/ddde9d6f-6f3b-4770-a966-3a18ef006930#primary”,
“action”: “transfer”,
“resourceConformsTo”: “Euro - Wikidata”,
“resourceQuantity”: {
“hasUnit”: “one”,
“hasNumericalValue”: “0.01”
}
},
“unitBased”: true,
“to”: “ActivityStreams 2.0 Terms
}

Alternatively, one can add a donation link to the profile. It can be a FEP-0ea0 link or even a PropertyValue object. But in this case donations can not be associated with a specific ActivityPub actor.

1 Like

I’m not 100% sure if my example is a correct representation of “pay as much as you want”.
@lynnfoster Could you take a look?

1 Like

silverpill:

I’m not 100% sure if my example is a correct representation of “pay as much as you want”.

What do you think about just leaving off the resourceQuantity and unitBased (keep it simple)? Assuming the requester wants to accept donations in any amount. Then it would also fit with micropayments of less than .01 euro. But I’m also thinking somewhere it should be more explicit that it is a donation, will give that some thought.
I’m also missing saying what the donation is for, it is probably for the actor’s work or open contribution of some sort? Could just be a note or description maybe. The donation thing could fit in with that too, “Accepting donations for my work as FEP admin”. Or it could be a reciprocal Intent, but that might be overkill, depending on the situation.

With Valueflows / FEP-0837 the sequence would be:

That feels like a lot of back and forth for a donation, but I think I see why you did it.

Bring effective #micropayments to the #activitypub::category protocols!

That would be amazing! I’m missing some context between that and the donation question though. I need to study TALER and the Web Monitization FEP. Also think about how FEP Payment Links might be more tightly integrated with Marketplace, although that seems easier than integrating Fediverse with actual payment mechanisms. But I’m probably behind, will do some homework.

3 Likes

Thank you @lynnfoster, this is exactly the kind of discussion I wanted to trigger. One thing is to have a FEP or two, another thing is to actually make it work for all at protocol level, and this is why we need such a discussion to happen.

#GoTALER!

3 Likes

lynnfoster:

What do you think about just leaving off the resourceQuantity and unitBased (keep it simple)? Assuming the requester wants to accept donations in any amount. Then it would also fit with micropayments of less than .01 euro.

I think it makes sense. FEP-0837 says that resourceQuantity and unitBased are REQUIRED, I’ll make them RECOMMENDED (or maybe even OPTIONAL).

lynnfoster:

I’m also missing saying what the donation is for, it is probably for the actor’s work or open contribution of some sort?

It could be anything. Often the purpose is implied, for example people who work on FOSS sometimes add donation links to their social media profiles.
FEP-0837 specifies name and content properties on Proposal, but they are not required.

lynnfoster:

That feels like a lot of back and forth for a donation, but I think I see why you did it.

This is only necessary if donations need to be tracked. Offer → Accept flow is used to generate unique payment ID.

2 Likes

With regards to more general considerations, beyond the technical aspects, I think we should have thorough discussion on socio-cultural impacts of introducing (micro)payment to the fedi, find pros and cons and anticipate externalities.
For instance @how mentioned in another thread taking example from WeChat Pay. While as a payment system it may work perfectly, WeChat has also been named in the past in experiments where financial credit scoring and social credit systems are combined. According to this MIT report much of the dystopic stories spread in the West about “China’s Social Credit System” aren’t based on actual fact, but the article also does not make me feel very comfortable for the future. In China it is local governments and commercial entities doing experiments (for the latter think e.g. TikTok Lite).
To me at this stage it seems unavoidable we see a corporate takeover of the Fediverse. On one hand introducing micropayment at protocol level will empower these corporations to roll out their commercial services faster. OTOH not introducing micropayments will likely mean that some commercial enterprise will take the reign in defining how this shall work. And then we have an opportunity lost for the commons to stay in control there, at least for a while.

1 Like

aschrijver:

OTOH not introducing micropayments will likely mean that some commercial enterprise will take the reign in defining how this shall work. And then we have an opportunity lost for the commons to stay in control there, at least for a while.

Yes, exactly. ActivityPub/Fediverse is on its way to become as ubiquitous as Email. People will build all kinds of things there, and no one can stop them from introducing payments. Without standards we may end up in a situation where ad-hoc solutions favor big players.
I think Valueflows is a good foundation because it is neutral. It gives developers only a set of abstract concepts not tied to any particular software or economic system.

2 Likes

The good aspect of Taler in comparison to WeChat Pay, is that is guarantees anonymity of the buyer among the anonymity set of all buyers at a given store. Contrary to the credit scoring paradigm, Taler will not let you down: your employer nor your insurance company won’t be able to tell what you buy, so they won’t be able to target you for tailored advertising, nor to change your contract based on the probabilities you have cancer.

The merchant though may be scored, but isn’t this something valuable for society to have corporations held socially responsible for paying their taxes on their actual revenue? This won’t like it, so it’s our responsibility to… make them pay.

1 Like

The Monetization on ActivityPub topic is now federated! Follow @federated@ich.taler.net on the Fediverse.

2 Likes