The LDP specification defines three container types: Basic, Direct and Indirect, none of which is required for LDP conformance. Most Solid use cases require support for Basic containment. Will the Solid specification require (MUST) support for Basic containment? Will the Solid specification take any position on the other container types?
I'd be surprised if the current spec doesn't already make LDP Basic Container support a MUST, but I certainly assume the new version of the spec will. I don't see a strong need to say anything beyond that at the moment (i.e. I don't see a need to say a server MAY implement Direct or Indirect), at least not until we find good use-cases where Direct containment would be really useful (which there very well could be!).
I'd be surprised if the current spec doesn't already make LDP Basic Container support a MUST
The v0.x draft doesn't make any normative statements, so no 馃檪
That's precisely the reason why we need to go through this: use more exact language so it is unambiguous what needs to be implemented and what not.
LDP-BC probably covers majority of the applicable cases and the implementation experience to date.
Anecdotal evidence from the vicinity of Solid: I haven't seen any server implementation with LDP-DC and LDP-IC support or any Solid application making use of it.. or any major request to have them (minor: https://github.com/solid/node-solid-server/issues/399 ).
DC and IC impose a particular information model and management. We have considerations on Shapes to do that in a richer way. Less hidden magic by the server probably better. TSE doesn't need to forbid anything ie. takes no position: just let DC and BC support fallback to LDP.
I'd suggest that only MUST LDP-BC. If this is not a MUST, there is no strong interop among anything pertaining to writing and discovering a class of resources. (I'm assuming that it'd be odd to have DC and/or IC but not BC... or even just LDPC without specifics.) In fact, a number of other LDP-based features can also drop or don't say anything more than what LDP says.
TSE can revisit supporting DC and IC at a later date; starting with demand + implementation experience.
This seems like an issue we can have a "rough consensus" process around, doesn't it?
Proposal following F2F meeting of 2019-10-29:
LDP-BC should be the only required type of containment.
+1 to this. (MUST + only LDP-BC)
Clarified during call of 2019-12-04
Action: the specification will say:
Will revisit whether "other types MAY be supported" is needed in later drafts since it is currently not required for interop. It depends mostly on clarifying the relationships between Solid and LDP. My preference is to not mention it - more of an editorial call to first focus on what's essential for interop.
Most helpful comment
Will revisit whether "other types MAY be supported" is needed in later drafts since it is currently not required for interop. It depends mostly on clarifying the relationships between Solid and LDP. My preference is to not mention it - more of an editorial call to first focus on what's essential for interop.