Skip to content
/ vocab Public

Replace solid:inbox by ldp:inbox #31

Closed
@RubenVerborgh

Description

@RubenVerborgh
No description provided.

Activity

dmitrizagidulin

dmitrizagidulin commented on Oct 25, 2018

@dmitrizagidulin
Member

I'm pretty sure we've decided to replace solid:inbox with ldp:inbox last year (with @timbl's recommendation)?

melvincarvalho

melvincarvalho commented on Oct 25, 2018

@melvincarvalho
Member

@RubenVerborgh we never remove terms in use.

We can deprecate. But that entails what deprecate means, which I think is a valuable thing to do. Certainly it is a misunderstanding if deprecate is equated with deletion.

In this case, I think there's another issue. And that the two terms are not like for like. The common usage of ldp : inbox is as an HTTP header. The common (in fact only) usage of solid : inbox is as a predicate linking user to inbox. The issue arises in the common publisher pattern of adding an ldp : inbox to, say, a profile -- how does a user which is able to form CRUD operations on a file turn it off? They cant. This is an edge case but one that illustrates differences in user control.

melvincarvalho

melvincarvalho commented on Oct 25, 2018

@melvincarvalho
Member

My preferred solution is to add to the spec text saying that solid supports linked data notifications (which has already been done) and using ldn : inbox in the examples (which has already been done). It's possible also to add a note on solid : inbox vocab guiding the user in this regard too. Nothing urgent, at this point, imho.

akuckartz

akuckartz commented on Oct 25, 2018

@akuckartz

Should they be declared equal using owl:equivalentProperty as a first step?

kjetilk

kjetilk commented on Oct 25, 2018

@kjetilk
Member

We have a bunch of rather different issues here. One is what should happen to the solid:inbox property in the vocabulary if we decide to deprecate it. Another is if it should be deprecated. Another is what we do in code with a deprecated property.

My default position is that battles lost in standardization processes are battles lost decisively. However, @melvincarvalho has been arguing to me privately that solid:inbox and ldp:inbox are not the same, they are rather different and certainly not owl:equivalentProperty. Now, I say that we should give him time to make his case by writing up use cases where it is shown that they are different.

I think that it is inappropriate to remove a term from a vocabulary once it is included in running code. We can always say

solid:inbox owl:deprecated "true"^^xsd:boolean ;
  rdfs:comment "Old deprecated inbox property"@en .

which would leave no question as to its status. Removing in an open world does not mean deprecated, it means nothing. :-)

But it sounds like we should lend an ear to @melvincarvalho to derive the use cases that sets these two properties apart. It would be for 5.0.0 at the earliest anyway, which is still some time off.

melvincarvalho

melvincarvalho commented on Oct 25, 2018

@melvincarvalho
Member

@kjetilk well I learn something new every day, I didnt know about owl:deprecated, thanks for pointing it out!

That seems the route.

Indeed, solid : inbox and ldp : inbox are different, but that's quite a subtle point, based on the fact that the former is used as an http header, and the latter is used (only) as an RDF predicate. The difference being is that users that control their file space can turn off anything in RDF, but they cannot turn off headers.

rhiaro

rhiaro commented on Oct 25, 2018

@rhiaro

The difference being is that users that control their file space can turn off anything in RDF, but they cannot turn off headers.

If you don't trust your POD provider not to set headers you don't agree with, why do you trust them not to meddle with the contents of your RDF files?

(LDN by no means mandates or even encourages use of the inbox in a HTTP header. It simply opens it as an option, to cover the use cases where this is needed, to increase the possibility of adoption even further. We thought this through for months, and the decision is documented extensively in LDN issues and Social WG meeting minutes. To be clear, there is no requirement for Solid servers to implement this.)

dmitrizagidulin

dmitrizagidulin commented on Oct 25, 2018

@dmitrizagidulin
Member

Excellent points @kjetilk.

I think that it is inappropriate to remove a term from a vocabulary once it is included in running code.

This brings up the question - is there running code that uses solid:inbox? (And doesn't need to be updated/rewritten anyway?) I'm not aware of any.

melvincarvalho

melvincarvalho commented on Oct 25, 2018

@melvincarvalho
Member

If you don't trust your POD provider not to set headers you don't agree with, why do you trust them not to meddle with the contents of your RDF files?

@rhiaro these are different trust vectors. It can be explained through an example.

Consider a drupal CMS site that has a site wide inbox. I have been told site wise inboxes are a popular pattern in LDN (I could be wrong). Now let's say one day, a solid plugin in drupal becomes all the rage, and people install it for their users, so that people can have control over their data. Suddenly you end up advertising an inbox and routing messages to the wrong place. Additionally, there's fundamentally something different about headers and files. When a file is changed it's easier to notice, you can have a websocket watching it for example in solid. When a header is changed, it's largely undetectable. The LDN spec, understandably wanted to be many things, to many people and has had great success in that. The solid inbox does one thing well.

melvincarvalho

melvincarvalho commented on Oct 25, 2018

@melvincarvalho
Member

decision is documented extensively in LDN issues and Social WG meeting minutes.

Then you'll recall I raised this exact point! :)

rhiaro

rhiaro commented on Oct 25, 2018

@rhiaro

decision is documented extensively in LDN issues and Social WG meeting minutes.

Then you'll recall I raised this exact point! :)

Right, and we took this into account and updated the specification accordingly:
https://www.w3.org/TR/ldn/#target-ownership

melvincarvalho

melvincarvalho commented on Oct 25, 2018

@melvincarvalho
Member

@RubenVerborgh of course. You need to generalize. Long before LDN I intended to use inbox for payments (I might even have proposed it first, I dont recall). Now, payments must be secure. So imagine site wide attack vectors rerouting payment. It's a nightmare.

More of a nightmare still, is how you handle this with client side apps. You now have to keep track of not only the rdf graph, but also the headers at different times. Try building an app that is LDN compliant with headers and the graph, and get back to me -- you'll see how hard it is!

melvincarvalho

melvincarvalho commented on Oct 25, 2018

@melvincarvalho
Member

Right, and we took this into account and updated the specification accordingly:
w3.org/TR/ldn/#target-ownership

Thanks for pointing that out! I think we're agreeing. The two predicates are very similar but have different attack surfaces. That was my original point.

PS didnt know it was in the spec, thanks for adding it! :)

17 remaining items

melvincarvalho

melvincarvalho commented on Oct 29, 2018

@melvincarvalho
Member

@RubenVerborgh The technical concern is not addressed in the spec, but rather, it is validated. It's a known security vulnerability which does not exist with solid : inbox. It simply confirms my technical argument.

melvincarvalho

melvincarvalho commented on Nov 2, 2018

@melvincarvalho
Member

A couple of different conversations.

What is important to me is that @rhiaro is imho in breach of our code of conduct. I can say personally as a volunteer that this is a detriment to contribute further.

Let's think about it. Would the commenter talk to Timbl this way?

No apology has been forthcoming, and one is expected.

rhiaro

rhiaro commented on Nov 2, 2018

@rhiaro

I find your tone disrespectful

Melvin, I find it disrespectful that you waste peoples' time by resurfacing old issues that were discussed and resolved several times already. I find it disrespectful that you make claims with no basis, and post misleading information about technologies or projects publicly. I've lost count of the amount of times I've had to go through this with you, or watched others go through this. Your actions during the years I was taking part in work around Solid and the Social WG have caused me no end of distress and anxiety.

disincentive to participate

I have already quit working on this stuff because of your behaviour. Not really sure who or what you're threatening here.

I'm not interested in discussing this further, nor in taking part in any projects with which you are involved.

locked as off topic and limited conversation to collaborators on Nov 2, 2018
Mitzi-Laszlo

Mitzi-Laszlo commented on Nov 3, 2018

@Mitzi-Laszlo

Hi @rhiaro, Hi @melvincarvalho,
I've had a chance to speak to both of you personally and just wanted to mention that I am here to help talk about any differences in approach. Happy to talk this through together. Reach out to me on the gitter chat or via mitzil@inrupt.com at any point.
Mitzi

melvincarvalho

melvincarvalho commented on Nov 3, 2018

@melvincarvalho
Member

@Mitzi-Laszlo thanks for looking at this. Please let me know the outcome.

unlocked this conversation on Nov 5, 2018
melvincarvalho

melvincarvalho commented on Nov 5, 2018

@melvincarvalho
Member

Unlocking this thread. I'm keen for a response.

Unless it's unclear, I am keen to escalate.

@RubenVerborgh please dont lock this again

akuckartz

akuckartz commented on Nov 5, 2018

@akuckartz

I think that the original comment by @rhiaro was inappropriate and I appreciate that it was deleted. But I think that the reactions by @melvincarvalho are far more inappropriate and do not help to develop the community. Please stop.

Mitzi-Laszlo

Mitzi-Laszlo commented on Nov 5, 2018

@Mitzi-Laszlo

@melvincarvalho I'm here to help, best pick this up with me directly. We can discuss any differences in approach and how to go about resolving them.

melvincarvalho

melvincarvalho commented on Nov 10, 2018

@melvincarvalho
Member

I sense a willingness to close out this conversation, so I'll go ahead and do that.

https://github.com/solid/community/blob/master/code-of-conduct.md#code-of-conduct

  • Communicate and behave with respect, professionalism, fairness, and sensitivity.
  • Communicate constructively and avoid demeaning or insulting behavior or language.
  • Do not insult or put down other participants.

@rhiaro I would invite you to review the solid code of conduct. I do not feel you have met this standard, in this thread.

Volunteers make many sacrifices to contribute to solid, and are the life blood of open source projects. We strive to be a welcoming project for volunteers, of all kinds, and I personally will stand up for anyone that wishes to do so, always.

kjetilk

kjetilk commented on Nov 10, 2018

@kjetilk
Member

I feel the need to also point out:

Stay on topic. Remember others voices need to be heard as well as yours and you must allow the space for other members to participate (e.g.: don't monologue or respond to every comment.).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

    Participants

    @melvincarvalho@kjetilk@akuckartz@rhiaro@RubenVerborgh

    Issue actions

      Replace solid:inbox by ldp:inbox ยท Issue #31 ยท solid/vocab