Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider redefining Invite to NOT extend from Offer #619

Open
1 of 5 tasks
trwnh opened this issue Oct 11, 2024 · 7 comments
Open
1 of 5 tasks

Consider redefining Invite to NOT extend from Offer #619

trwnh opened this issue Oct 11, 2024 · 7 comments
Labels
Needs primer page Need to add a page at https://www.w3.org/wiki/Activity_Streams/Primer on this topic needs-fep Needs a FEP Next version Things that should probably be resolved in a next version of AS2

Comments

@trwnh
Copy link

trwnh commented Oct 11, 2024

Please Indicate One:

  • Editorial
  • Question
  • Feedback
  • Blocking Issue
  • Non-Blocking Issue

Please Describe the Issue:

Offer is described as such:

Indicates that the actor is offering the object. If specified, the target indicates the entity to which the object is being offered.

In plain English, you can translate this to "actor Offered object to target" or "actor Offered object"

Invite is described as such:

A specialization of Offer in which the actor is extending an invitation for the object to the target.

However, this violates the grammatical constructs of object and target as they are used in every other Activity. The plain English formulation ought to be "actor Invited object to target", but it is instead formulated as "actor Invited target to object", which is contradicting what "to" means. As far as I'm aware, Invite is the ONLY activity which is inverted like this.

It might make sense to consider un-inverting the Invite activity so that it works in the exact same way as every other activity. There's no conceptual or technical reason that Invite should inherit or extend from Offer, just a lot of weirdness.

@evanp
Copy link
Collaborator

evanp commented Oct 11, 2024

I think this is an interesting topic. First, I agree that the language is incorrect. I also don't think there's a tonne of value in the inheritance structure of these particular activities.

That said, this would be a non-backwards-compatible change; that would require a non-backwards-compatible change to the spec. I wouldn't say it's impossible, but wow, what a lot of trouble for making something work better in English.

@evanp evanp added Next version Things that should probably be resolved in a next version of AS2 Waiting for Commenter labels Oct 11, 2024
@trwnh
Copy link
Author

trwnh commented Oct 11, 2024 via email

@evanp
Copy link
Collaborator

evanp commented Oct 25, 2024

I think the problem with any redefinition of Invite is that it's not backwards compatible. Any existing software that uses this definition would be looking in the wrong place for the invitee and the thing they are invited to. We think (in issue triage) that this is a small number of implementations, but just in the principle of backwards compatibility, it would be a problem.

One possibility here is to define an extension that defines an activity where the person being invited is the object and the thing they're being invited to is the target. The problem here is that the very natural term Invite has already been used, so you'd need to find a good synonym, or deal with namespacing, which would be a problem as you head towards including the extension in the default context document.

So, again, three outcomes:

  1. Deal with it.
  2. Change it, but non-backwards-compatible.
  3. Create an extension.

@evanp evanp added needs-fep Needs a FEP and removed Waiting for Commenter labels Nov 1, 2024
Copy link

github-actions bot commented Nov 1, 2024

This issue has been labelled as potentially needing a FEP, and contributors are welcome to submit a FEP on the topic.
Note that issues may be closed without the FEP being created; that does not mean that the FEP is no longer needed.

@evanp evanp closed this as completed Nov 1, 2024
@evanp evanp added the Needs primer page Need to add a page at https://www.w3.org/wiki/Activity_Streams/Primer on this topic label Nov 1, 2024
@evanp evanp reopened this Nov 1, 2024
@bumblefudge
Copy link

Discussed on today's Triage call, I think making the Invitation an OBJECT (that uses the offer verb instead of varying it) makes more sense.

@bumblefudge
Copy link

bumblefudge commented Nov 1, 2024

@bobwyman points out that "Invitation" sounds like an Authorization (implies rights, authentication of a token, etc), which feels to me like a good argument for next-version AP/AS including Invitation in objects and removing Invite as a verb

@bobwyman
Copy link

bobwyman commented Nov 1, 2024

@bobwyman points out that "Invitation" sounds like an Authorization (implies rights, authentication of a token, etc), which feels to me like a good argument for next-version AP/AS including Invitation in objects and removing Invite as a verb

Yes. An "invitation" is different from a mere announcement of an event. One may announce an event even to those who are not permitted to attend. (For instance, the President might announce a meeting with some foreign leader.) Those who are "invited to an event" are "offered an invitation to the event." That invitation grants them a right to attend, not merely to know that the event is happening. In the old, pre-online world, one would carry a paper invitation as a proof of the right to attend the event. My expectation is that we must eventually include an RLE (Rights Expression Language) in Activity*. Once that is done, I expect that an invitation object would often include some description of the specific rights granted by the invitation.

It is also important to understand that an invitation, like other offers, can be accepted, declined, ignored, etc. It is even often appropriate to reply to the offer of an invitation with a counter-offer. For instance, if you offer to me an invitation to "Have coffee on Monday," I may counter-offer with an invitation to "Have coffee on Tuesday." (Note: "Offer" is currently under-specified in Activity*. However, we should anticipate that in some future decade it will, in fact, be more fully elaborated.)

The point here is that the semantics of invitations are very much those of offers. We should avoid making arbitrary distinctions between things that are essentially the same.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs primer page Need to add a page at https://www.w3.org/wiki/Activity_Streams/Primer on this topic needs-fep Needs a FEP Next version Things that should probably be resolved in a next version of AS2
Projects
None yet
Development

No branches or pull requests

4 participants