W3C home > Mailing lists > Public > public-credentials@w3.org > June 2020

Re: New Work Item Proposal: Universal Wallet 2020

From: Leonard Rosenthol <lrosenth@adobe.com>
Date: Thu, 25 Jun 2020 00:51:34 +0000
To: Orie Steele <orie@transmute.industries>
CC: Wayne Chang <wyc@fastmail.fm>, Manu Sporny <msporny@digitalbazaar.com>, W3C Credentials CG <public-credentials@w3.org>
Message-ID: <2584405D-95C8-4D50-AE74-0E28D4E05942@adobe.com>
I had never looked at the Wikipedia definition – but I would agree completely with that definition.    And it also goes towards why I don’t believe that you’d end up with a “reference implementation” – mostly because of #2 and #4.

For some definition of “contribute” – yes.

Leonard

From: Orie Steele <orie@transmute.industries>
Date: Wednesday, June 24, 2020 at 8:05 PM
To: Leonard Rosenthol <lrosenth@adobe.com>
Cc: Wayne Chang <wyc@fastmail.fm>, Manu Sporny <msporny@digitalbazaar.com>, W3C Credentials CG <public-credentials@w3.org>
Subject: Re: New Work Item Proposal: Universal Wallet 2020

Everytime this comes up, I wonder why members of this community seem opposed to the wikipedia definition: https://en.wikipedia.org/wiki/Reference_implementation<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FReference_implementation&data=02%7C01%7Clrosenth%40adobe.com%7C3e1490699ab7494574d908d8189b7dd5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637286403399368234&sdata=Z749IwCQ27vDDd5B%2Byf%2BE5FbdoVHT7L4TWeBtMN6LEo%3D&reserved=0>

Characteristics of a Reference Implementation:
1.   Developed concurrently with the specification and test suite;
2.   Verifies that specification is implementable;
3.   Enables the test suite to be tested;
4.   Serves as a Gold Standard against which other implementations can be measured;
5.   Helps to clarify the intent of the specification in situations where conformance tests<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FConformance_testing&data=02%7C01%7Clrosenth%40adobe.com%7C3e1490699ab7494574d908d8189b7dd5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637286403399378226&sdata=O5qUJX0qLFNeqxASm1LGa4HfpP1EFBizDQJCRchx7BI%3D&reserved=0> are inadequate

Does W3C specifically discourage the use of the term "reference implementation".... I assumed this was a common practice: https://github.com/webofthings/webofthings.js<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fwebofthings%2Fwebofthings.js&data=02%7C01%7Clrosenth%40adobe.com%7C3e1490699ab7494574d908d8189b7dd5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637286403399378226&sdata=01gF8L3pFl%2FB2AFAVFYWDJgiHUSQmphCcId8X31MFRs%3D&reserved=0>

Regardless of the name, these are the characteristics I'm looking for. As wikipedia notes, "sample" or "model" implementation are less frequently used terms for the same thing.

There are some conformance tests, and I can see a lot of value in keeping them next to the spec and "sample implementation", I'm generally a fan of starting with a mono repo and splitting things up when it becomes obvious that it is the right thing to do because there is too much contribution for one repo to handle, or because sub components are getting consumed independently almost as frequently as they are getting consumed together.

If there is reason to believe there will be more contribution overall if the "sample implementation" is also in W3C CCG repos, I'm happy to do that... I saw splitting them up as a potential opportunity to engage multiple communities and AFAIK you can contribute to Apache 2.0 software regardless of the github organization that hosts it, for example: https://github.com/adobe/experience-platform-dsw-reference<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fadobe%2Fexperience-platform-dsw-reference&data=02%7C01%7Clrosenth%40adobe.com%7C3e1490699ab7494574d908d8189b7dd5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637286403399388230&sdata=S2LwBiCJCVdRe9UA%2FG2IcgMFBmkvoZNYuui%2Bigltahw%3D&reserved=0> is also Apache 2.0 with a CLA...

Leonard, should I interpret your strong desire that "an example implementation" stay in CCG as an indication of a strong desire / plan to contribute to it here?

OS


On Wed, Jun 24, 2020 at 5:23 PM Leonard Rosenthol <lrosenth@adobe.com<mailto:lrosenth@adobe.com>> wrote:
"Reference Implementation" means that it is the "blessed/approved " implementation which implements 100% of a specification to the agreement of all parties involved.

"Conforming" implies that (a) the specification has normative requirements to which the software can conform and that (b) someone(s) have all agreed that it meets 100% of the requirements.

Example implementation is probably best.

Leonard

On 6/24/20, 4:47 PM, "Wayne Chang" <wyc@fastmail.fm<mailto:wyc@fastmail.fm>> wrote:

    Manu, could you please elaborate on your concerns about calling certain code a "reference implementation"? What drawbacks are there, and what else could we call it? "Example implementation"? "Conforming implementation"?

    On Wed, Jun 24, 2020, at 4:26 PM, Manu Sporny wrote:
    > On 6/24/20 3:31 PM, Orie Steele wrote:
    > > We're looking for additional organizations to co-edit / sponsor the
    > > development of the specification in the W3C CCG.
    >
    > Digital Bazaar is supportive of this specification and hosting it in the
    > W3C CCG.
    >
    > We have no strong opinion on hosting an implementation at DIF as long as
    > doing so wouldn't create IPR issues that would restrict anyone from
    > contributing to the work. We continue to be skeptical of calling it a
    > "reference implementation".
    >
    > While we do not have the spare cycles to be a co-editor on the
    > specification, we do expect to be heavily involved in discussion related
    > to the specification as we expect that the outcome will have a direct
    > impact on our product offerings.
    >
    > Finally, thank you to Orie, Margo, and Guillaume from Transmute for
    > putting this together and kicking off the work. It's a critical piece
    > that the industry will need in order to interoperate at the application
    > layer.
    >
    > -- manu
    >
    > --
    > Manu Sporny - https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linkedin.com%2Fin%2Fmanusporny%2F&amp;data=02%7C01%7Clrosenth%40adobe.com%7C54db72b34f034e36a6cb08d8187fbe4f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637286284216262630&amp;sdata=nGVOqadvTWe01uCzQIDa715%2BpTZeqEouewEEF9aXYoA%3D&amp;reserved=0<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.linkedin.com%2Fin%2Fmanusporny%2F&data=02%7C01%7Clrosenth%40adobe.com%7C3e1490699ab7494574d908d8189b7dd5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637286403399388230&sdata=XrfSQ2sHt9JQxNwOy9s7YMH6p0xeqwIbRLskwOO99oo%3D&reserved=0>
    > Founder/CEO - Digital Bazaar, Inc.
    > blog: Veres One Decentralized Identifier Blockchain Launches
    > https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftinyurl.com%2Fveres-one-launches&amp;data=02%7C01%7Clrosenth%40adobe.com%7C54db72b34f034e36a6cb08d8187fbe4f%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637286284216262630&amp;sdata=u%2F66e1Uy8HbOvk58Sf3i8RsUKFzdpltLbtSxsNaXnVI%3D&amp;reserved=0<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftinyurl.com%2Fveres-one-launches&data=02%7C01%7Clrosenth%40adobe.com%7C3e1490699ab7494574d908d8189b7dd5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637286403399398217&sdata=cO9aFSg02WsU5wofFr%2BFXi7ow1ZdI5HB%2BziNet2vZW4%3D&reserved=0>
    >
    >



--
ORIE STEELE
Chief Technical Officer
www.transmute.industries

[Image removed by sender.]<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.transmute.industries%2F&data=02%7C01%7Clrosenth%40adobe.com%7C3e1490699ab7494574d908d8189b7dd5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637286403399398217&sdata=kNCMPPSDpCYo1F3N2HZeIXwaGfB7%2BLLAQUqZLY1Mrzo%3D&reserved=0>
Received on Thursday, 25 June 2020 00:51:49 UTC

This archive was generated by hypermail 2.4.0 : Thursday, 25 June 2020 00:51:50 UTC