decentralized-identity / keri

Key Event Receipt Infrastructure - the spec and implementation of the KERI protocol
Apache License 2.0
73 stars 21 forks source link

notice of concern DIF-TOIP #152

Open Joachim16 opened 3 years ago

Joachim16 commented 3 years ago

Dear Sam, dear Charles,

corresponding to the DIF KERI WG call of June 22nd, 2021 (and previous expression of concerns in the DIF KERI WG slack channel) I'd like to again list my concerns about the proposed move of the DIF KERI WG to TOIP.

starting point: as I understand, Sam proposed (with support from Drummond) to move the DIF KERI WG to TOIP for the following reasons:

note: moving a standard WG from one organization to another is rare, and would be easier to justify if there were concrete causes with significant limitations for a group such as the DIF KERI WG to continue their work under its current organization (in this case DIF). If such significant limitations are identified, it lies in the role of the co-chairs, of the DIF KERI WG in this case, to facilitate a transparent discussion with all stakeholders to resolve the issues at hand. A well documented course of action and possible resolution should follow from such a discussion.

critique:

concerns as a community member:

call to action:

SmithSamuelM commented 3 years ago

@Joachim16

Call to Action

I very much appreciate you detailing your concerns. I will start with your call to action. You are essentially proposing changing the rules for governance of the WG after the fact. This is problematic for many reasons, non the least of which is that it sets a precedent that any member could given they didn't like something initiate a call to action to change the rules retroactively. IMHO this would cause chaos and result in the opposite of what you wish. Working Groups in DIF and ToIP are identically governed by the JDF rules (https://github.com/decentralized-identity/org/blob/master/Org%20documents/Membership%20agreements/DIF%20Project%20Charter%20_4.0.2.pdf) The rule for decisions at WG meetings is that votes taken a regularly scheduled electronic conducted WG meetings require no advance notice but must remain open for 7 days. The vote is carried by a supermajority (which is not specified). The vote was unanimous amongst the attendees so it is valid and complies with good governance. Prior to the vote there was discussion about the change that went on amongst the attendees at the working group meeting. The fact that Jolocom has not been a regular attendee at the WG meeting is indicative of a low level of recent support and participation of Jolocom not indicative of any problem in the manner in which the decision was made . Such a vote may be overridden but it requires either a unanimous vote of the steering committee or a unanimous vote of all the members who attended at least 50% of the last four WG meetings. Because Jolocom due to lack of participation did not attend any of those meetings Jolocom is not not part of such a quorum and therefore may not contribute to an override vote. Your call to action seems at best ill placed and at worst an attempt to change the rules to favor those who do not participate. Following the well tested and well defined rules of the WG governance model that is DIFs (which is also identically ToIP WG governance) we made a decision. I would hope that in accordance with your assertion that DIF is a trusted organization with well respected governance, that you would respect that very same governance.

IPR concerns and Jolocom's investment

Early in the KERI development Jolocom was a frequent contributor to the Rust Stack. But that level of contribution essentially stopped some time ago and AFAIK Jolocom as not made any recent significant contributions to the Rust stack nor as Jolocom made any recent significant contributions the the WG discussions. The feature set of KERI at the time of Jolocom's last significant contribution does not include several months of hard work by the active participating members. The new features added since then are significant. This means that either Jolocom is not using any of the new features or Jolocom is benefitting from features contributed by the active members of late. Given that the KERI project in terms of code contribution has only been around for a few months, not participating for the two months or more is tantamount to not being a relatively significant contributor. If Jolocom is building a business on KERI that leverages the current code base with all the newly added features, then is is entirely fair to say that Jolocom is benefitting relatively more from the contributions of others.

A common ethic in the open source world is that code contributions win. Those who contribute code get to make the decisions those who sit on the sidelines don't. Recently Jolocom has been sitting on the sidelines. This is a hard reality that belies the vociferousness of your objections to the decision to move to ToIP.

As a long time contributor to Open Source, IMHO the most important contributions are coders. Not managers or steering committee members. A more open membership policy that enables more coders is better for everyone as it creates live active development. If Jolocom's recent participation is any guide, your concerns would be seen as anti-coder which would disincentives new features for Jolocom to leverage. To reinforce this point, many open source projects founder and die or become defunct without active ongoing contribution. We see this on many projects within the Linux foundation including projects at DIF. If we had waited upon Jolocom these last few weeks to advance the KeriOX code, nothing would have been done and that implementation of KERI would be effectively defunct.

Furthermore, many, in the KERI project, myself included, have donated significant amounts of their personal time to KERI. I respect those contributions as much as if not more than membership fees. Without those personal contributions the project would founder.

The main reason for the move to ToIP is because of how sensitive the long term success of many open source development projects is on the contributions of individual contributors. KERI started as a one man project and continues to attract individual contributors. When you look at the composition of each of the projects you can see how sensitive KERI development is to individual contributors. Until recently there was only one developer contributing to the Keripy repor. There was only one and then two contributing to the Kerigo repos but it is back to only one and that is an individual contributor. There is only one contributing to the Kerijs and only one contributor (individual) to the Kerijava repos. There is only one contributor (individual) for the KeriDHT repo. The Keriox repo started with only one contributor, Jolocom, but for some time has been carried by a small team of part time contributors from HCF. So even one additional contributor on any one of these implementation can make a huge difference. Two is light years of difference Three would be amazing.

So realistically, any policy that dissuades or prevents even one additional contributor could make or break a given project. This is why its important to move to ToIP. IMHO, DIF is better suited to projects with significant corporate sponsorship like Microsoft or Consensus or others members who have projects where they want to leverage open source adoption but are willing to pay teams of developers . Whereas ToIP's policy is much more welcoming of individual contributors who are passionate about a project and are willing to spend personal time to make it happen regardless of wether or not they are full time employees. In some cases the passion eventually results in their employer converting and joining and supporting the project, but without the early personal contribution and evangelism, that company would never have committed or joined or increased their level of participation. This seemingly minute advantage, in my mind is extremely important to making KERI successful. It started as an individual project and benefits greatly from the early passion of individual contributors.

Specifically, given how dependent and fragile the open source coder community, I hope you can better appreciate my concerns when several would be individual contributors were turned away from KERI because they ran afoul of DIFs more restrictive individual contributor policy. Even one more full time coder over the course of several weeks would have made a huge difference in the level of effort and speed of development. One fewer is one fewer too many.

Rarity of the Move

It is only recently in the evolution of open source software development that its development happens within the aegis of an organization such as DIF or ToIP. As I frankly admitted, I did not appreciate the differences in policy until after KERI was significantly negatively impacted by those minor differences. So as a leader and creator of KERI and easily its most dedicated and passionate advocate, do I refrain from doing what's best for KERI because it is rare? I think not. That would be unethical.

So I should do what's I think is best even if it hurts. Even it subjects me to your criticism. Otherwise I would be a poor leader of KERI.

I would hope that you would respect the efforts of all those in the KERI community and appreciate how much their efforts will benefit Jolocom in the long run. That means respecting the decision of that community to move to ToIP which is better suited to KERI for all the reasons listed above. This is not an anti-DIF stance. Other open source projects are a better match for DIF but some projects like KERI are a better match for ToIP. The delta of moving checkins from one Github repo at DIF to another at ToIP is minimal. It would be the same participants with same governance structure but more welcoming to individual contributors. This seems like a minor hit to Jolocom. Your influence at the steering committee level has or should have little impact on working group behavior. This is as it should be and is supported by the JDF rules. Steering committees that get too involved in the day to day activities of WG would kill WGs and be antithetical to open source development.

Code wins and those who contribute code should be celebrated. I hope to see Jolocom resume its old ways of being an active contributor after we move to ToIP. That would be the best outcome.

Joachim16 commented 3 years ago

Hi Sam, your response opens many questions, but mainly how informed you are about who contributes to Keriox?

SmithSamuelM commented 3 years ago

I admit I asked Charles what level of contribution Jolocom was making and he was not aware of any recent significant contributions I also looked at pull requests and meeting attendance and it was not apparent that Jolocom was still actively participating. I stand corrected in that Ivan was making pull requests in collaboration with Edita. Jolocom was contributing more on the code side than was apparent, mainly because Ivan was not identified by name on his pull requests. As far as meeting participation I don't believe you are disagreeing with me that a Jolocom representative was not attending meetings. This is vital to conducting the business of the working group. I also did not see any comments from Jolocom on the open issues during that last couple of months. An important part of contribution to code is engaging in discussions about the issues and the spec and the design of that code in the community. I welcome Jolocom more fully participating and my apologies for not recognizing Ivan's pull requests (they are identified by a number not a name)