14:17:15 RRSAgent has joined #did 14:17:15 logging to https://www.w3.org/2020/05/19-did-irc 14:17:17 RRSAgent, make logs Public 14:17:18 please title this meeting ("meeting: ..."), ivan 14:17:51 Meeting: DID WG Telco 14:18:46 Chair: brent 14:18:46 Date: 2020-05-19 14:18:46 Agenda: https://www.w3.org/mid/00000000000024bcce05a5b03f76@google.com 14:18:46 ivan has changed the topic to: Meeting Agenda 2020-05-19: https://www.w3.org/mid/00000000000024bcce05a5b03f76@google.com0003.html0000.html 14:35:50 yofukami has joined #did 14:40:50 chaals has left #did 14:54:03 burn has joined #did 14:55:31 present+ 14:58:32 Justin_R has joined #did 15:00:03 present+ 15:00:27 yofukami has joined #did 15:00:35 regrets+ 15:00:40 jonathan_holt has joined #did 15:01:27 markus_sabadello has joined #did 15:01:38 dbuc has joined #did 15:02:22 present+ jonathan_holt 15:03:12 present+ 15:03:21 Orie has joined #did 15:03:24 present+ 15:03:34 present+ 15:04:56 present+ 15:05:14 present+ 15:05:16 manu has changed the topic to: Meeting Agenda 2020-05-19: https://lists.w3.org/Archives/Public/public-did-wg/2020May/0010.html 15:05:19 present+ 15:05:20 present+ identitywoman 15:05:25 brent has joined #did 15:05:29 present+ 15:05:33 identitywoman has joined #did 15:05:36 scribe+ 15:05:46 dmitriz has joined #did 15:05:52 present+ 15:05:52 present+ 15:05:53 present+ chriswinc 15:06:02 yoshiaki has joined #did 15:06:20 present+ 15:06:29 present+ kimhd 15:06:30 brent: I'm going to ask dmitriz to re-introduce 15:06:32 Eugeniu_Jolocom has joined #did 15:06:46 Topic: Agenda Review, Introductions, Re-introductions 15:06:58 dmitriz: I'm Dmitri Zagidulin, software developer at Digital Bazaar, I also worked with Solid. Currently one of the co-chairs of the Secure Data Storage Working Group at DIF/CCG. 15:07:02 present+ Eugeniu_Jolocom 15:07:08 dmitriz: I take a hands-on, development-orient approach to specs. 15:07:35 kimhd has joined #did 15:07:38 selfissued has joined #did 15:07:39 present+ 15:07:41 present+ 15:07:47 brent: Any proposed changes to the agenda? 15:07:51 present+ 15:07:57 Topic: Next Topic Call 15:08:02 present+ selfissued 15:08:03 present+ 15:08:04 present+ 15:08:14 burn: The next topic call will be at the regular Thursday time 15:08:15 https://github.com/w3c/did-core/labels/contract 15:08:24 burn: The topic is going to be the DID Resolution contract 15:08:48 burn: There's a relationship between DID Resolution and today's topic about testing 15:08:51 Topic: DID Parameters update 15:09:22 scribe+ chriswinc 15:10:04 markus_sabadello: The WG has been discussing DID parameter syntax as part of a DID URL 15:10:38 https://github.com/w3c/did-core/pull/285 15:10:48 ... Query parameters proposed. PR285, looking for feedback. 15:10:58 scribe+ 15:11:08 burn: manu can you give an update on spec structure? 15:11:14 Topic: spec structure 15:11:17 https://github.com/w3c/did-core/pull/288 15:11:27 manu: Drummond and rhiaro have been working on a rewrite of the front matter of the spec 15:11:43 manu: It has been reviewed by a subset of editors+chairs, we believe it improves the introduction 15:11:47 https://pr-preview.s3.amazonaws.com/w3c/did-core/pull/288.html#introduction 15:12:12 manu: Please review the PR, it basically consolidates some content in the Introduction 15:12:30 manu: We would really like to get this into the document so we can start Horizontal Review 15:12:57 Topic: Registries Repo Renaming Straw Poll 15:12:58 burn: We will then prepare for Horizontal Review (privacy review, TAG explainer, etc.) If you're familiar with this and would like to help, please let us know 15:13:46 burn: There has been some discussion about the name of the Github repo, it currently is "did-core-registries". There is a proposal to change it to "did-spec-registries". 15:13:54 q+ 15:13:58 burn: If there is anyone with a particular concern, please let us know 15:14:00 ack selfissued 15:14:28 selfissued: It should really just be "did-registries". I realize there is a conflicting term in the spec, but I think there is agreement to change that term 15:14:45 "did core spec" is not the same thing as "did spec" 15:14:47 selfissued: The registries will contain more than just things from our spec. It will contain entries from other specs. 15:14:58 there will be many specs that talk about DIDs 15:15:04 I am starting to agree with that, if we can get a shorter name that won't change 15:15:05 q+ 15:15:07 burn: Let's allow a bit of discussion now 15:15:09 ack Justin_R 15:15:09 thats better 15:15:19 zakim, what color is your bikeshed? 15:15:19 I think Prussian blue 15:15:29 q+ 15:15:39 Justin_R: First I agreed with selfissued that "did registries" is a more generic name, but I think there's a problem with that sounding like a "place for registering DIDs" 15:15:42 q? 15:15:59 Justin_R: "did-spec-registries" (spec = not just the core spec) does a better jobs 15:16:03 q+ to note we straw polled "DID Registries" 15:16:04 +1 to what Justin is saying, there will be many specs talking about DIDs beyond the did-core spec. 15:16:09 ack Orie 15:16:14 Justin_R: It's generally applicable 15:16:58 Orie: I agree with selfissued that there is a reputational issue. As the registry gets filled with information that's not necessarily reviewed by this WG; it's going to be filled with a lot of material, this may reflect on the reputation of the WG 15:17:19 "where do i go to find specs on DIDs" <-- "The DID spec registries" 15:17:24 ack manu 15:17:24 manu, you wanted to note we straw polled "DID Registries" 15:17:33 Orie: We should consider what this will look like a few years from now. Calling it "DID spec" may make it sound like "spec stuff", when in fact it's about extensions including method names, etc. 15:17:49 gannan has joined #did 15:17:49 manu: We did contemplate "DID registries", and there were multiple -1 during the special topic call. 15:18:41 manu: One of the important things to consider is that "registries" is plural. What the document does is, if you care about implementing, this document will give you links of all your options. You can look up items (properties, methods, extensions, etc.) in the registries documents. You will get a pointer to the specification. 15:18:50 drummond has joined #did 15:18:54 present+ 15:19:01 q? 15:19:11 zakim, close the queue 15:19:11 ok, burn, the speaker queue is closed 15:19:16 manu: All other names we have considered so far (e.g. "DID registries") are too generic, and people come to wrong conclusions on what the names mean 15:19:21 present+ 15:19:34 +1 to "DID Specification Registries" 15:20:00 burn: Which of the following options do you like the LEAST? 15:20:12 Please list which of these three options for the repo you like the **least**: did-core-registries, did-spec-registries, did-registries 15:20:22 did-core-registries 15:20:23 did-registries 15:20:24 did-registries the least 15:20:24 did-core-registries 15:20:27 -1 to did-core 15:20:27 did-registries 15:20:28 did-core-registries 15:20:34 did-core-registries 15:20:34 did-registries 15:20:35 did-core-registries 15:20:37 did-registries 15:20:37 did-core-registries 15:20:39 did-core-registries 15:20:42 did-core-registries 15:20:42 did-core-registries 15:20:52 0, I've already finished painting 15:21:06 burn: Winner for "least liked" seems to be did-core-registries 15:21:19 please list which you prefer of did-spec-registries or did-registries 15:21:21 did-spec-registries 15:21:21 did-spec-registries 15:21:22 did-registries 15:21:23 did-spec-registries 15:21:25 did-spec-registries 15:21:27 did-spec-registries 15:21:29 did-spec-registries 15:21:30 did-spec-registires 15:21:30 did-spec-registries 15:21:32 did-spec-registries 15:21:35 did-spec-registries 15:21:35 did-spec-registries 15:21:35 0 15:21:39 did-spec-registries 15:21:45 0 15:22:06 PROPOSED: Rename the did-core-registries GitHub repo to did-spec-registries 15:22:08 burn: There's a pattern here 15:22:19 +1 15:22:20 +1 15:22:22 +1 15:22:26 +1 15:22:26 +1 15:22:26 +1 15:22:29 +1 15:22:30 +1 15:22:32 +1 15:22:33 +1 15:22:35 0 15:22:45 +1 15:22:48 RESOLVED: Rename the did-core-registries GitHub repo to did-spec-registries 15:22:59 action ivan to rename the github registry 15:23:05 Topic: Testing 15:23:14 action: ivan to rename the github registry 15:23:30 burn: manu I think you wanted to talk about testing, we haven't had this discussion yet 15:23:54 manu: we're trying to figure out how we are going to test the specification going into CR phase 15:24:09 manu: we've had some assumptions about testing, but recent PRs suggest we needed to have a group discussion 15:24:22 manu: There are many ways to test a spec when going through W3C standardization; I'm going to talk about 2 ways 15:25:06 manu: We're trying to get WG feedback on what they would prefer; this isn't an A or B decision. There are many variations. We'd like to know what results the WG would like to see from testing. 15:25:18 q+ on what testing means for a W3C CR phase 15:25:26 manu: Once we have some feedback from the WG, it may make future discussions about testing easier; once we know what kinds of results we want. 15:25:32 zakim, open the queue 15:25:32 ok, burn, the speaker queue is open 15:25:44 manu: This will help the editors to determine if certain statements in the spec are testable. 15:25:47 q+ on what testing means for a W3C CR phase 15:26:01 manu: (going to share my screen, but will also share links in IRC) 15:26:17 ack ivan 15:26:17 ivan, you wanted to comment on what testing means for a W3C CR phase 15:26:38 I am and have problems 15:27:29 manu: The specification we have right now - We thought it will largely be a data model with concrete representations, and that we would test syntax and data formats. 15:27:50 manu: Since the WG started, there has been a desire to talk about the resolution process, and potentially testing against actual implementations. 15:28:41 manu: In the VC WG, there were a number of things that people were not happy about in the test suite. We tested the data model, but there was still a lot missing for real interop (as discovered during the recent DHS SVIP program) 15:28:55 manu: There were some gaps regarding concrete tooling. 15:29:16 manu: In W3C, there are many groups that only do vocabulary testing 15:29:28 https://w3c.github.io/wot-thing-description/testing/report.html#impl-ercim 15:29:42 manu: (showing Web of Things Implementation Report) 15:30:06 q? 15:30:26 manu: The WoT WG released this Implementation Report. Their spec is a data model called (Thing Description), which is a data model used by some corporations to express things in the world (dimmers, signs, etc.) 15:30:45 manu: It was a vocabulary spec, looked a bit like the DID Core spec, with an abstract data model, attributes, etc. 15:31:11 manu: In their report, the first thing they have are statements by companies on whether they support the specification (self reported; there is no test suite). 15:31:53 manu: Another thing they did is that for each normative statement in the specification, (e.g. "... the type of ... MUST be a JSON array") 15:32:14 manu: They had an automated test for each statement, e.g. to test if ... is indeed a JSON array 15:32:25 manu: They didn't run it against a live algorithm, they just tested static documents. 15:32:44 manu: There were both automatic and manual tests. 15:33:29 manu: E.g. "... each string MUST be processed independently". This was tested manually via self-reporting. Companies reported whether or not they did this. 15:34:23 burn: Just want to point out, if you look at some of these statements, not everyone reported as passing. If you're worried about cheating, this is typically not a big issue during spec development. 15:34:42 manu: There are tests that are only passed by a single company. 15:34:55 manu: Another example of testing is Activity Streams. 15:35:20 manu: Activity Streams is for decentralized social networking activity (articles, audios, likes, etc.) 15:35:44 manu: There is vocabulary of terms. 15:36:01 manu: There is a table with "P" (producing) and "C" (consuming) entries. 15:36:17 manu: (showing an Implementation Report) 15:36:35 manu: This is self-reported, there is only "y" (we implement this) or "n" 15:36:50 What self-reported tells you is whether the implementer cares about the feature 15:36:52 q+ 15:36:56 ack jonathan_holt 15:37:18 jonathan_holt: I suppose most of this is looking at the structure of the data model. Can this be automated with JSON schema and CDDL? 15:37:28 q+ 15:37:31 manu: Yes, there is a question do you want humans to determine this, or determine it automatically? 15:38:04 ack Justin_R 15:38:41 Justin_R: It's a bit of a false dichotomy that we have to choose between human reporting, and automatic testing. There are options to combine them. 15:39:12 manu: To underscore Justin_R 's point, WoT is an example of that. They have automated tests, and manual tests. They use JSON schema. 15:39:27 manu: They passed the W3C Recommendation Track. 15:40:17 manu: Another example is JSON-LD 1.1. This has a fairly brutal test suite. There are hundreds of tests, they are all programmatic. You need to implement an actual driver into the test suite, and you have to run every single test. 15:40:36 manu: Some tests pass, some fail (boolean yes/no result). 15:40:54 manu: You take your implementation, and the test suite runs every single one of the tests against your implementation. 15:41:14 manu: Everything in the spec is a testable statement that is reflected in the test suite. 15:41:47 q+ 15:41:48 q+ to talk about one such kind of hybrid approach used out there 15:42:04 manu: The question to the group is, do we want self-reporting only, do we want purely test-driven, or a hybrid, or something else? 15:42:10 Our actual minimum required goal for the specification to exit the Candidate Recommendation phase (later in our process) is to test the spec, not implementations. We need to at least see 2 implementations of each feature. Ideally we may also want to show some interop. 15:42:18 ack ivan 15:42:25 q+ 15:42:30 ivan: I think before making the choice we have to understand what testing really means and what its goal is in the process. 15:42:57 ivan: From a W3C PoV, the goal of CR testing is to test the specifications. It's not necessarily a tool to test or rank implementations. 15:43:26 ivan: Its goal is to test if the specification is correct, to test if it can be implemented independently. 15:43:34 forgot to put links in IRC 15:43:36 https://www.w3.org/2017/02/social/implementations/as2/ 15:43:40 https://github.com/w3c/activitystreams/blob/master/implementation-reports/pubstrate.md 15:43:44 https://w3c.github.io/json-ld-api/reports/ 15:43:47 ivan: The spec must be implemetable based on the spec text alone, without additional knowledge. 15:44:03 ivan: It has to be such that each feature based on the spec text is unambiguous. 15:44:07 q+ to note what we have today for the DID Test Suite. 15:44:12 ivan: This has to be reported back by the implementation. 15:44:23 2 independent implementations of the test suite? or of a did method? 15:44:32 ivan: We also have to prove that the feature we have there makes sense, and that implementations want to use it. 15:44:51 ivan: E.g. if a vocabulary has terms that nobody uses, then that doesn't make sense. 15:45:17 ivan: Looking as manu 's WoT example, this seems to say "yes we want to use these features and we plan to deploy them", and this has been done by more than one implementation 15:45:31 ivan: I was surprised to see an entry that was only supported by a single implementation. 15:45:47 yoshiaki has joined #did 15:46:11 ivan: In the procedural JSON-LD case, (I implemented RDFa a while ago) then this was a test suite that was useful for the implementation itself. 15:46:22 ivan: It's fine to have this, but it's not a requirement for a CR Phase testing. 15:46:43 Orie: 2 independent implementations of every normative statement in the spec(s) 15:47:05 ivan: So the voluntary reports are fine. We rely on the fact that implementations come in because they want to tell us that the specification is correct. We believe they are not motivated to "cheat". 15:47:24 What dlongley said 15:47:56 q? 15:47:59 dlongley: We need 2 implementations of each normative statement. 15:48:01 ack Justin_R 15:48:01 Justin_R, you wanted to talk about one such kind of hybrid approach used out there 15:48:02 ivan: Exactly 15:48:18 so ... thats a test suite for normative statements. 15:48:31 and thats 2 test suite implementations. 15:48:33 Justin_R: It's not necessarily obvious what is under test, when we say we need to test a statement. We are defining on either side of a process. 15:48:45 Justin_R: We are testing DIDs, DID URLs, DID document; potentially DID URL dereferencing 15:49:01 Justin_R: This does not imply that we have to test DID resolution implementations in any automatic way. 15:49:01 Orie: or self-asserted/manual claims from implementers that they implement the statements -- there's a wide range of acceptable "types of tests" -- it's up the WG to decide how to test 15:49:40 q+ to have opinions as an Editor... and then possibly have opinions as an implementer. :) 15:49:56 https://www.certification.openid.net/plans.html?public=true 15:49:57 Justin_R: This goes into the DID resolution contract discussion. We need to test that the contract definitions are defined correctly (what goes in, what comes out). But this doesn't mean we have to plug in an actual implementation. It can be a useful tool to do that, but that's not actually what we're testing. We're testing how well the specification is defined. 15:50:03 Orie: obviously many of us (including you and me) would want to see two independent implementations passing each test in the test suite (note that for each test, the two implementations could be different, so long as each test gets at least two) 15:50:35 Justin_R: These are OpenID Foundation tests. People have published these for their results. 15:50:42 Justin_R: You can view the logs and see details. 15:51:08 Justin_R: You can see in a lot of detail everything that has been automatically tested, plus results. 15:51:35 Justin_R: These are technically self-asserted, but there is a process for making the automatable portions available. This is a hybrid approach. 15:51:36 q? 15:51:40 ack jonathan_holt 15:51:53 jonathan_holt: I'm a big fan of test-driven (incl. behavior-driven) development. 15:52:39 q+ to explain what we are doing (not having tests drive spec at this point) 15:52:41 jonathan_holt: I'm worried we're chasing our tails. The VC spec was changing, the core architecture was changing (e.g. proofs, signatures). I think the challenge is if we start driving with tests, we have to finalize that first and then decide what is in Core, what is in registries. 15:52:46 zakim, close the queue 15:52:46 ok, burn, the speaker queue is closed 15:52:50 q- later 15:52:58 jonathan_holt: I think it would be valuable to automate validating proofs 15:52:59 ack manu 15:52:59 manu, you wanted to note what we have today for the DID Test Suite. and to have opinions as an Editor... and then possibly have opinions as an implementer. :) 15:53:09 ack burn 15:53:09 burn, you wanted to explain what we are doing (not having tests drive spec at this point) 15:53:14 q+ to say you wanted to note what we have today for the DID Test Suite. and to have opinions as an Editor... and then possibly have opinions as an implementer. :) 15:53:44 burn: jonathan_holt , right now we are not proposing test-driven development. In new specifications, it is common to do the work the way we have been doing it so far. 15:54:02 burn: There will come a point when we are going to require tests for any changes, but this is usually after feature freeze. 15:54:16 regrets+ 15:54:25 burn: We do need to be talking about testing in general. E.g. with the DID Resolution contract, it's important that the group understands what testing means. 15:54:36 present+ 15:54:48 manu: I wanted to highlight what we have today. We do have a DID test suite, many people don't realize this. It's out of date, but we do have one. 15:54:48 When is the next special topic call? 15:55:13 Next topic call is this Thursday at the regular noon ET / 9 PT time. 15:55:14 manu: We approached this by saying, this is a data model test suite, so we're going to have automated tests for syntax and data model. 15:55:35 manu: More recently, the DID resolution contract has come up. 15:55:36 https://w3c-ccg.github.io/did-test-suite/ 15:55:39 https://w3c-ccg.github.io/did-test-suite/implementations/ 15:56:12 manu: Another thing I wanted to mention, as an editor, at some point the editors will go through the document and determine the type of testing each normative statement is going to receive. 15:56:33 manu: You look at a normative statement and ask "How am I going to test this? In an automated way, or by self-reporting"? 15:56:50 manu: We did this for VC, and for JSON-LD, and we will do it for this spec. 15:57:19 The OpenID virtual workshop is at 9am Thursday. So I'll be skipping that one. 15:57:28 manu: Now as an implementor, I want to make sure we generate a test suite that generates yes/no results, whether or not an implementations supports a specific normative statement. 15:58:01 manu: When it comes to things like what Justin_R pointed out reg. hybrid models, fundamentally we want this type of testing 15:58:27 manu: We want people to use automatic test suite and demonstrate that they are 100% conformant with the spec. I want our group to aim for this. 15:58:56 manu: With VCs, we may have missed the mark, people wrote custom test code instead of testing their actual implementation. 15:59:29 manu: We have real DIDs, we have real DID documents, I would like our test suite to pulls in these real systems and test them; as opposed to a test suite that only tests the spec itself. 15:59:43 manu: I'd like to see broad testability for real interop. 15:59:45 q+ to describe tests at DIF / Regististries 15:59:47 q+ 16:00:05 Yes, I think we should do far more than what we're required to do. 16:00:10 burn: Reminder what ivan told us is what we're required to do, vs. what manu told us can be very good for the industry. 16:00:32 present+ 16:00:40 present+ 16:00:40 present+ 16:01:02 zakim, end meeting 16:01:02 As of this point the attendees have been burn, ivan, jonathan_holt, dlongley, Orie, manu, dbuc, chriswinc, markus_sabadello, identitywoman, David_Ezell_Conexxus, brent, dmitriz, 16:01:05 ... Justin_R, kimhd, Eugeniu_Jolocom, selfissued, dezell, drummond, gannan 16:01:05 RRSAgent, please draft minutes 16:01:05 I have made the request to generate https://www.w3.org/2020/05/19-did-minutes.html Zakim 16:01:07 I am happy to have been of service, ivan; please remember to excuse RRSAgent. Goodbye 16:01:11 Zakim has left #did 16:01:57 probably... 16:02:08 rrsagent, bye 16:02:08 I see 1 open action item saved in https://www.w3.org/2020/05/19-did-actions.rdf : 16:02:08 ACTION: ivan to rename the github registry [1] 16:02:08 recorded in https://www.w3.org/2020/05/19-did-irc#T15-23-14