Re: draft data format for Opentabs

Hi Manu,

Thanks for your post!

On Sat, May 26, 2012 at 5:56 AM, Manu Sporny <msporny@digitalbazaar.com> wrote:
> The best documentation of what should be supplied to a
> Linked Data property should be in the application or vocabulary
> documentation.

yes, i agree Hungarian notation is not the way to go.

>> https://github.com/unhosted/website/wiki/opentabs-data-format
[...]

> The concept of a 'deal' looks very close to something that becomes a
> contract after the verbal agreement in PaySwarm, which is a Contract:
>
> http://purl.org/payswarm#Contract

i'll see if we can reuse that!

> Also, keep in mind that verbal contracts are contracts in the eyes of
> most legal systems. So, you need to be very careful with terminology
> here as your Deals could easily become legally enforceable documents.
> That is, the data fields make them more than what you purport them to be
> in the documentation - they are legally enforce-able contracts.

yes, IMO we want to purport a real social interaction between real
humans, not a role playing game. This means normal society rules will
apply, like peer pressure, sense of obligation, etc. If the law
applies to what we're doing, then I think that's good, not bad.

> 'transfers'
>
> Why didn't you just re-use:
>
> http://purl.org/commerce#transfer

OK! I'll have a look at that.

>
> 'implicit transfers'
>
> This sounds like a bad idea... a level of abstraction that is only being
> created because of the state of financial systems today. Just because
> you note that money is moving back and forth doesn't mean you need to
> physically move the money. Better to have the full transaction and
> monetary flow instead of unnecessarily breaking transfers into two
> different types.

OK, so I see that this is obviously confusing and needs improvement.
My idea with 'implicit' was that they are neither described nor
prescribed, but they do change the debt and credit that each of the
participants has with other participating peers. The important thing
is to make clear that they are not actual transactions in the sense of
trade where money and/or goods change owner. They are not, and it's
important not to describe them as such because that would make them
taxable.

Think about a bank account. I put in 100 euros. I take out 100 euros.
Now the bank owes me the 100 euros I put in, and I owe the bank the
100 euros I took out. Solution: 100-100=0, so let's call it quids. One
way to do this is to determine for each pair of peers who is the
debtor and who is the creditor. If you say the bank is the debtor,
then me taking out 100 euros could have been modeled all along as me
putting in -100 euros, and we don't need the "100-100=0" settlement.

I understand this is quite vague so I'll think about it some more, and
try to come up with an easier way to explain it. maybe a drawing could
help.

>
> 'Balances'
>
> Why can't you just query the account to get the current balance.

indeed "querying the account" as you call it would i think be the
action of asking one of the parties involved in a transaction history
what they think the current balance is. Is there a sense of "querying
accounts" which you are doing and i'm not? You ask a peer "how much do
i owe you?", they answer "the current balance between us is now ...".
Isn't that what we both mean by account query and by balance?

> If necessary, you could have a different field 'settledAmount' vs.
> 'availableAmount' vs. 'amount'.

yes. it's important to define what all these things mean exactly, so
that people can express "yes, i borrowed money from you, but with the
purpose of using it, so i can't pay you back until it frees up again,
which may be next month, depending on ..." etcetera. A lot of this
should be out-of-band though i think. it should be understood that you
need to coordinate with people first and both be a bit flexible if you
want to collect debt from a peer.


>
> 'Agreements'
>
> This seems to either overlap with a Contract or a License or both. It's
> kinda vague what an Agreement is supposed to accomplish from a legal
> standpoint and what differentiates it from a deal.

i 'agree' ;) it's confusing, and should probably be renamed. i didn't
even instantly understand it myself now that i read it back. :(

what i meant is the speech act of agreeing with the contents of a
proposed contract. So the way we write emails on this list for
instance, the person who writes the first email describes a proposal,
and implicitly agrees with it. other people can reply to the message
by writing "I agree" or "+1". Or by clicking "Like" or "Amen" or
"Retweet". ;) what would be a better word for such a "positive
reaction" message?

>
> Have you thought about how these pieces of data would be used in a court
> of law?

yes, the way i see it, people use messaging tools like email for their
interactions. We help to create more specific tools like data formats
on top of that. If someone emails a json-ld document then its legal
status should be no different from emailing a natural language
message. In both cases, the meaning depends on what the author meant,
and even on what each party could reasonably expect the other party to
mean and do.

If you hang up a poster in a shop window that announces a price, then
that's legally binding, except if there's an obvious typo. Whenever
the law is surprising (compared to common sense), it's the law that is
broken. And a judge will use common sense to apply a law.

I think the first thing we need to do is study how people act, and how
they interpret other people's actions, and provide tools that make it
easier for everybody to understand what their peers mean. If we do
that then the law should always be working in our favour, to settle
disagreements where they occur. If you use json-ld to do business,
then that has no influence on your obligation to pay taxes and not
steal from your peers. I'm definitely not "against the system" in that
sense. ;)

Received on Saturday, 26 May 2012 07:38:42 UTC