Skip to content

Instantly share code, notes, and snippets.

@ryanwwest
Last active July 11, 2018 21:26
Show Gist options
  • Save ryanwwest/ae620e7f324edc5a3e29df5f386abc83 to your computer and use it in GitHub Desktop.
Save ryanwwest/ae620e7f324edc5a3e29df5f386abc83 to your computer and use it in GitHub Desktop.
Communication Channels for Sovrin

Consolidating Communication Channels for Sovrin

There exist a large number of ways to collaborate between people in Sovrin's community. While each of these ways of communication was created with a purpose and with good intentions, it has become increasingly confusing to navigate through each of them and find what one needs. Newcomers are faced without a clear starting point, and even experienced contributors find themselves out of the loop from time to time. It has become necessary to consolidate, and if necessary, remove some channels, and provide a clear starting point for newcomers.

Necessary Channels (channels currently fulfilling this purpose in parentheses):

  1. Annoucements (Slack, Rocket.Chat, Hyperledger Lists, Telegram(ish)
  2. General Q&A and Discussion (Slack, Rocket.Chat, Hyperledger Lists)
  3. Developer team task organization (Hyperledger's JIRA)
  4. Sovrin Staff communication (Slack)
  5. Community Ideas Collaboration & Standardization (Google Docs, Rocket.chat, email lists, github HIPE repo)
  6. Source Code (github)
  7. Getting Started Info (github sdk (and node) repo, hyperledger wiki page, Sovrin.org)
  8. Developer Documentation (several github repo wikis and folders of markdown docs and top README.md files, Sovrin.org's whitepaper library, barrage of Google docs and videos, sometimes searching through Rocket.chat, Slack's #interesting-papers channel)
  9. General Documentation (Google Docs, Sovrin.org Library of Whitepapers)
  10. Blog / News (Sovrin.org blog, Hyperledger blog (somewhat), email list)

Goals:

  1. Remove as many unnecessary channels as possible, combine others
  2. Choose a single wiki location for all documentation and migrate everything there

Overview of Possible Solutions (see below for details):

  1. Migrate Sovrin's Slack to Rocket.Chat
  2. Perhaps remove Telegram
  3. More...

A list of major channels and their subchannels, as well as the pros, cons, and possible solutions for each, are given below.

Slack

  • sovrin-staff, sovrin_tech_staff, and sovrin_collaboration
  • general: used to post interesting articles from the community
  • interesting papers
  • us-utah

Pros

  • Highly used by Sovrin's staff
  • Well-known application, integrates well with others' Slack channels
  • integrates links and files well

Cons

  • Free version limits viewability to last 10000 messages; paid version is very expensive

Solutions

  • Maybe close down the Sovrin Slack channel and move everything to a new Rocket.chat server hosted by Sovrin. This would be separate from Hyperledger's Rocket.chat server. Rocket.chat supports public and private channels (called private groups) just like Slack
    • More investigation needed on the differencees between Slack and Rocket.chat, and if they will cause problems

Rocket.Chat

  • #indy-node, indy-agent, indy-sdk, crytpo-lib, many more

Pros

  • All of Hyperledger is on there; most widely used app for community discussion
  • 100% free and open-source

Cons

  • Not as feature-filled as Slack
  • Less documentation (but there still is good documentation)

Solutions

  • Continue to use Rocket.chat—Hyperledger is based there and the community is most active there.
  • Perhaps migrate all Slack channels over to rocketchat so it's open-source and free.

Github

  • Hyperledger:
    • indy-agent, indy-node, indy-sdk, indy-plenum
    • indy-anoncreds, indy-crypto (soon to be crypto-lib in hyperledger-labs), ...
    • indy-hipe: Purpose of agreeing on and standardizing things for the community, meant to be used to propose ideas only after they have been discussed elsewhere and are somewhat agreed upon.
  • Sovrin:
    • ssi-protocol: Not really used, not sure of the purpose, seems like same thing as HIPEs?
    • sovrin-sip?
    • website code, etc...
  • Pull request discussion
  • Gists
  • Issues
  • Wikis for some repos

Pros

  • All code repositories are here
  • HIPEs are publicly viewable and anyone can comment or add their own
  • Within Github, pull requests show if the proposed changes passed/failed ci tests, lets others comment about specific lines of code. Integrates well with code repos
  • Same URLs and repos

Cons

  • "Issues" has a very similar purpose to JIRA in logging bugs and other problems
  • Multiple locations for wikis exist, including for each repository and the Hyperledger Indy one-page wiki (see below).
  • Lots of old repos still exist that can be confusing (indy-client, old-sovrin, etc)

Solutions

  • Remove the "Issues" tab on all repositories associated with Sovrin, and make it clear on each repo's top README that issues are to be logged in JIRA or asked about in Rocket.chat
  • Gists are occasionally used (such as this gist); should we use them more or stick with Google Docs?
  • Remove (or permanently archive, if we must keep them) old repos

Google Drive

  • Many different documents with various purposes such as white and yellow papers, ideas documents (ex. Indy Agents Ideas Doc)
  • Notes from scheduled Zoom calls
  • Sovrin's files are all located on Google Drive
  • It's likely here to stay

Pros

  • Easy to collaborate and see realtime edits and comments
  • can share large files
  • Printable / PDF document format

Cons

  • Hard to share and keep track of which documents one has access to
  • Sometimes not everyone should have edit access

Solutions

  • Need a way to keep track of all documents, and only use Google Docs when they aren't appropriate anywhere else
    • Official papers should reside only in Sovrin's Library of Whitepapers
    • Documentation should reside in one unified wiki

Sovrin.org

Pros

  • On Sovrin's official website; these channels will be the first ones that new people come into contact with
  • Forums are highly organizable (can use categories, new discussions, admin controls, etc)
  • Blog is pretty unique, with interesting news articles for the nontechnical crowd
  • Whitepapers are very high-quality and can be understood by many

Cons

  • Forums seems to have more-or-less the same purpose that Slack or Rocket.chat has. Many forum questions have answers that simply redirect users to one of the above apps.
  • Blog needs to be updated more often

Solution

  • Not sure yet but figure out how the forums differ from Slack/Rocket.chat and why we need them
  • Keep blog and whitepapers updated, use the library as a final location to publish high-level content

Hyperledger

  • JIRA: This is where developer teams for all of hyperledger collaborate their efforts to improve the code, add features, and fix bugs
  • Wiki: One of the starting points for developers for Indy.
  • Lists: Used for announcements, also has unused calendar, wiki, file sharing functions
  • Managed by the Linux Foundation

Pros

  • High-quality site that hosts all of Hyperledger
  • JIRA is used by lots of developers and can be very effective

Cons

  • Lists is redundant and most things posted there are cross-posted elsewhere as well.
  • The wiki basically just contains info to direct you to the right places; not an actual wiki.

Solutions

  • We don't have control over this site so it's there to stay, but we can discourage people from using Lists. Post a permanent note that this site isn't being used anymore? Bottom line is, we shouldn't have multiple channels for the same purpose.
  • Hyperledger is another entry point for potential developers for Indy/Sovrin — it may be worth publishing things on its Blog or website which get them interested, and them direct them to the getting started README on Github from there.
  • The Hyperledger wiki for Sovrin could be used to post all documentation

Telegram

  • Sovrin (News) and Sovrin Official

Pros

  • ?

Cons

  • Channel is spammed by people wanting info on an ICO, doesn't seem to be used for anything else

Solutions

  • Why do we even need this channel if we have several others? I don't see its purpose
  • This could be repurposed to something else and used more frequently, but that would add another channel for people to pay attention to. Perhaps remove this altogether unless there are compelling arguments to keep it.

HackerOne

  • I don't know enough about this to make a statement
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment