-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
proposal: using a central, searchable and open hub (matrix / mattermost) to use as a chat for Gno development #38
Comments
Note, I forgot to address reddit. I think it may be useful at one point to also understand whether for "forum-like" discussions we want to keep reddit, or want to additionally add a tool for StackOverflow-style QA (while we wait for us to be relevant enough to have our own SO tag!). Some options. I've only previously had experience with Question2Answer, although I found its UI/UX not that nice overall. This may be worth discussing in another issue; and maybe after we've figured out this first part of communications. |
@thehowl This would be a great topic to discuss during the offsite considering its significance and how this impacts our entire company's use of Signal. |
I understand the challenges involved and, based on my experience, I recommend against bridging chat applications for the following reasons:
To address these concerns, I propose the following:
|
Here's an updated version of the proposal, taking into account the feedback and what we discussed together at the Rouen retreat: For context, a link to the internal miro board, which also contains a link to the recording. Goals
Proposed solution
Next stepsBased on this, I'd like to re-open up the discussion with this new information for a new round of feedback, objections and other proposals before moving forward. After that, if the plan stays the same I'd like to work sometime around the last week of the month together with @leohhhn, @waymobetta to set-up GitHub discussions for Q&A and re-organising our resources to point to that; then work towards creating the Hub platform in February and starting a trial run once logs and some of the key items of the new hub are set-up. Please, provide any feedback you want on this proposal as well as any opinions or previous experiences you've had using Matrix/Mattermost. |
I have never had a positive experience with GitHub discussions. Could someone with a more positive experience explain what makes GitHub discussions combined with issues better than just using GH issues?
One thing I appreciate about Matrix is that, like Discord versus Slack, people can join using their existing account. However, on Mattermost, they will need to register. Can anyone justify why Mattermost is superior to Matrix for our needs?
Yes. One option is to store the logs regularly on GitHub.
Native support with Matrix.
THIS! |
For this, it just came up during the workshop. I personally don't have a strong preference, if not that I consider the fact that it integrates with GitHub issues as a plus. That said, what I'm looking to have is a place that is the closest equivalent to a Stack Overflow that we can use for as long as we don't have a tag on SO. I would still prefer something which works with the key features of SO. (Answers are sorted by reputation / accepted answer, not chronologically; users are encouraged to answer their own questions; discourse and chit-chat is avoided, providing "documentation" for anyone with the same problem on the internet is more important than interacting with other gnophers in the moment).
Yep, agreed. The way I personally see it: Matrix is the likely better option. I still think we should self-host (mostly because I see the matrix.org instance/homeserver as being very big, and resulting in unbearably slow server-side load times in my experience using it). But it is much more aligned philosophically on all fronts: an open protocol, many clients, can bring over your existing account, etc. Mattermost, at this point, is to me a "centralised fallback" if we find any reason for which Matrix cannot suit our needs. |
I have a different view on this (apart from my previous comments and conversations about the topic). It's important to talk about two kinds of information sharing: structured and unstructured. Structured information is stuff like documents, specifications, or databases. It’s organized and easy to search. This is the kind of information that’s really useful in the long run. Chat, on the other hand, is unstructured. It's great for quick, casual conversations, but it's not organized and it's hard to find information later on. Information in chats can be easily lost over time, making it not so great for keeping as a reference. Because of this, I’m not sure if indexing chats is the best idea for us. Chats are good for quick talks, but when we need reliable and easy-to-find information, it's better to have well-written documents and clear specifications. These are the types of information that last and are really helpful later. Indexing chats might help in the short term, but for long-term use and finding information easily, having structured information is much better. Maybe we could find a way to write down the important stuff from chats into documents or other organized formats. |
Of course. There is obviously a need to have information in structured and clear reference documents, which really serve in the long term as our documentation. I don't see the importance of chat logs as being authoritative documents, or as a substitute for doing the hard work of documenting stuff. I see the argument here as being a bit philosophical. Essentially, I see documenting our chats as part of a more general necessity to document all of our decision making when building the chain. There is an underlying assumption here which is that the project will grow at one point to be much beyond what we are doing today, and that people other than the core team today will be in charge of decision-making on crucial components of the chain and the DAOs. This assumption may turn out to be wrong (it's impossible to predict the future and thus tell if the project will succeed and be as big as we hope it will be). However, if it does succeed, it will be better if the Gno.land blockchain and central DAOs we're building today have the capacity to access all the conversations and discussions that lead to things being structured the way they are. That is, it will be important not only to know how things are structured on the DAOs and blockchain, but also to understand what in the past was considered as a solution and why it was not adopted. Under this principle, we are also recording and publishing the minutes of our meetings. In other words, the point I see to recording the meeting as being a form of "preventive archiving for posterity", and making it possible in the future for anyone to roll up their sleeves, and look through heaps of GitHub issues, meeting minutes and being able to fully research all of the context that lead to a certain decision. The full extent of all of the reasoning of a decision cannot always be documented in conversations and issue comments (for instance, even when discussing, two parties may already agreed on a given notion without need for discussion, so that notion will not be debated), but most of the "contentious" or "controversial" issues will pop up, be discussed and hopefully have a consensus reached. In the projects that don't do this, context that leads up to a decision remains within the authors and "those present in the room". If a project survives the test of time, the context of the decision is lost and the future governance is doomed to eventually repeat some debates already discussed, because they're unaware of anything that came before them. This conversation itself is an example of what I'm talking about. At this point, we may turn out to do either decision (not storing logs of our chats, or indeed storing logs of our chats, though you know which one I favour ;) ). Let's assume that this conversation instead happens on an internal, ephemeral medium like Signal, whereby new chat participants cannot read previous conversations. Let's also assume for a second that this project is continued being worked on for a long time to come. Eventually, even internally at AiB/NewTendermint, our current core team will change and be replaced (most of us will change jobs, and even assuming if we don't our ageing will eventually come around). Thus of this conversation there will be no trace in any future archive, and at some point, the future Gnophers will be doomed to ask again the question "Should we publish our conversations or not?". We would be stuck asking the same questions because the "collective conscience" cannot read and study what happened before its current participants, and be left to hope that the oral tradition and the team leaders properly instruct any newcomers on the context, history and principles of all decision-making that has been made. Most conversations do already happen in public mediums like GitHub. We did have some which were on Core-Contribs. We will have more as we welcome more developers to join us, develop on Gno.land, and ask questions. Ideally, most of these still happen on GitHub issues or the Q&A platform that I also talked about. I think there is no real way to ensure and enforce that all "serious conversations" happen off-chat, though. Sorry I got into a philosophical essay for this, but I care deeply about archiving and the job of historians. It is pretentious to assume that our project will have historians; but the way we're building it, we want to make sure that if they do eventually happen, they won't have a hard time figuring out the decisional origin of everything :) |
Nice thread. thanks @thehowl for the link. moul said:
As an old IRC user, I haven't used Matrix, but I can respect their philosophy, It would be awesome to connect from a text client. Anything with those characteristics is more than good to me:
A light GUI is also good. Text client make it much more likely for my computer to stay connected however. About the rest: simplicity precedes organization. A few channels is enough. As long as there are archives (or even bots), a search feature can always be done later. Anyway glad to see there are some discussions about this. Can't wait :) |
TODO(@moul): clarify our goal to transition to self-hosted Matrix soon and eliminate Slack internally + reduce Signal. Waiting for the new DevOps to join. |
Hey, this is something I've discussed a few times internally with @moul and @waymobetta but I realised currently exists only as a brief mention on #21 . I think it's time to make an issue because I'd like to kick-start this discussion, decide if this is a good idea or settle on a better approach, and get going on making this change because I'm tired of what we currently have.
Basically, we currently have our communication channels scattered in a few places:
#gno-core-tech
, formed by the team members.Gno-Tech-Staff
, which is the employee-specific discussion channel. This is however less useful in comparison to...Gno-Core-Contribs
signal group, which contains the core staff together with all of the core contributors.In order to attempt to tackle this, I've come up with a first proposal, which you can find by expanding the details box below. There is an updated proposal discussed with the team which incorporates various feedback further down this conversation which you should probably read instead.
Original proposal
I think this steers away from what I think are our actual requirements for communications:
As such, I propose the following solution:
build.gno.land
for the domain :) but otherwise,chat.gno.land
works too.#general
- equivalent of the current Gno-Core-Contribs#tech-staff
- equivalent of Gno-Tech-Staff and Slack's#gno-core-tech
#banter
(random, watercooler, ...) - a muted-by-default channel where everyone can go and post and have non-gno related discussions.gnoland-onbloc
andgnoland-teritori
#gno-core-tech
is two-way bridged over to Mattermost's#tech-staff
.#general
is bridged in a one-way bridge to Discord's#gno-builders
. On the Discord channel topic, we point to instructions to join through mattermost or IRC.#general
is bridged in a two-way bridge to an IRC channel to be created on libera.chat. The reason why I think it makes sense to have an IRC bridge like this is that many developers (especially old-school ones) use IRC for FOSS development communications. Knowing how to use IRC is also to me a reasonable barrier for entry which can be used in place of a 1mo-old GitHub account.DM's and small group chats can as always be where the participants deem them most useful to be. For instance, Mattermost does not guarantee the same amount of security as a platform like Signal does. However, I think self-hosting our communications is a crucial step towards being able to have public logs without causing more headaches than we need.
cc/ @jaekwon @albttx @leohhhn @Ticojohnny
Please comment on this issue with feedback/criticism and other alternative solutions we can explore. I'd like to converge on this issue as part of our Rouen retreat.
The text was updated successfully, but these errors were encountered: