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

On Duties and their Permissions #122

Closed
simonstey opened this issue Mar 30, 2017 · 5 comments
Closed

On Duties and their Permissions #122

simonstey opened this issue Mar 30, 2017 · 5 comments
Assignees

Comments

@simonstey
Copy link
Contributor

Throughout the entire spec the relationship between permissions and their duties is defined as follows:

A Permission entity MAY refer to a Duty entity that indicates a requirement that MUST be satisfied for Permissions to become valid.

Duty: An Action that must be performed as a requirement for the applicable Permission to become valid.

A Duty indicates that the Policy expresses an Action that MUST be performed (as a requirement to be granted a Permission).

The Permission entity MAY refer to one or more duty/ies. The Duty expresses an obligation that MUST be fulfilled in order for the Permission to be valid.

There are some duty actions, however, which are basically useless given that definition. e.g. an odrl:uninstall duty would require to uninstall/delete an asset before the permission to use respective asset could actually be granted.

4.18.11 Uninstall

Definition: The Assigner requires that the Assignees unload and delete the computer program Asset from a storage device and disable its readiness for operation.

Note: The Asset is no longer accessible to the Assignees.

and no:

Even though a Duty entity is mandatory, the ODRL model does not specify any conditions on WHEN the Duty Action MUST be performed. Such business rules MAY be expressed through additional Constraints. For example, a Policy may state that you can play a music file for a payment of $5.00. This does not indicate when the $5.00 should be paid, as different business rules may apply such as montly invoicing.

that paragraph doesn't do the trick (imo)..

@riannella
Copy link
Contributor

Yes that is true. If you have a duty to uninstall Asset X in order to play Asset X, then you have pretty bad policy ;-)

Another way to look at this is that the duty could be to uninstall some other asset (using a different target) that competes/conflicts with the permission target asset.

Should uninstall be deprecated? Others?

@riannella
Copy link
Contributor

update the duties to include "the requirement is agreed to satisfied/fulfilled"

@riannella
Copy link
Contributor

Updated duty narrative to include “agreed” as part of the semantics.
@simonstey please check you are ok with the changes

@simonstey
Copy link
Contributor Author

A Permission entity MAY refer to a Duty entity that indicates an agreed requirement that MUST be satisfied for Permissions to become valid.

->

A Permission MAY refer to one or more Duties which indicate obligations that MUST be fulfilled in order for the Permission to be valid.

also: (imo) you can only fulfill a duty, but not satisfy it.

fwiw: I found a paper discussing the differences between "pre-obligations" and "post-obligations".

@riannella
Copy link
Contributor

Change commited

@riannella riannella added this to Last Call in ODRL Deliverables Review Apr 29, 2017
@riannella riannella removed this from Last Call in ODRL Deliverables Review Apr 29, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants