bisq-network / roles

@bisq-network contributor roles
https://bisq.wiki/Roles
16 stars 16 forks source link

Exchange Maintainer #3

Closed cbeams closed 6 years ago

cbeams commented 7 years ago

This role is responsible for maintaining (esp. merging PRs into) and releasing the Bisq exchange client repository at https://github.com/bisq-network/exchange.

cbeams commented 6 years ago

2018.01 report

I didn't have myself listed as an exchange maintainer since creating this role in September, because even though I had maintainer-style admin rights to the repository, I wasn't actively working in the codebase, and @ManfredKarrer was really doing everything. That's changed somewhat this month, and I've begun to take a more active role there, so I've assigned myself to the issue, and will start doing monthly updates on it. @ManfredKarrer is welcome to do the same.

This won't be a comprehensive update by any means. Way too much goes on in the bisq-network/exchange repository now for probably anyone to give a comprehensive update (more on that below). Here are the highlights, though, from my perspective:

We shipped two releases this month, v0.6.3 and v0.6.4. Both centered primarily around fixing bugs introduced in earlier versions that caused Bitcoin transaction timeout errors and broadcast failures, resulting in failed trades and lost funds. Many thanks to @ManfredKarrer for the work he did to patch things up; I'm happy to report that we seem to be out of the woods on both of these issues now.

On the process side, we started getting serious about the C4 process in the exchange repository this month. Almost all branches other than master have been removed (see bisq-network/exchange#1190) and all work is moving into contributor forks where pull requests are then submitted from.

This change has led to a lot more reviews than we've ever done before. I've spent a considerable amount of time over the last week or so reviewing @ManfredKarrer's pull requests, and while it slows things down a bit, that process unquestionably increases quality and shared understanding. I'm really glad to be doing it, but I don't have much time to do a lot of it. We'll need to get more and more people ramped up doing these reviews. Everyone is welcome to participate in them. We're using Bitcoin Core's ACK/NACK/Nit-style commenting protocol; folks will want to get familiar with it.

Another significant change this month is that we removed the provider module from the exchange codebase, extracting it into its own bisq-network/pricenode repository. This work is almost complete now, and it marks the beginning of what will be an ongoing process of breaking up the monolithic bisq-network/exchange repository into smaller, more focused repositories where dedicated maintainers can really own their work and focus. This will help create better boundaries and increase our ability to work in parallel at scale. Much more to come on that front.

And those modularization efforts are getting more important by the day, as we have an increasing number of contributors getting involved. It's getting pretty exciting all the stuff that's going on, but the Slack #exchange channel is an early warning that there's too much stuff going on in that one repository for anyone to be able to keep up with it. That's why we see @ripcurlx folks splitting off into #ux (which has really become about all things #gui. That's all good, it just means that the architecture of our codebase should follow. The trend. I'm looking forward to seeing a dedicated gui repository separate from the core soon. Not sure when we can get there, but I want to start the conversation here and now.

I'm sure there's tons of other stuff I could touch on, but I'll leave it there for now. Exciting times!

/cc bisq-network/compensation#35

cbeams commented 6 years ago

2018.02 report

From this point forward, @ripcurlx and @cbeams are going to take point on all exchange maintenance activities, in order to relieve @ManfredKarrer of this duty so he can focus (with @sqrrm) on implementing missing DAO functionality. This will be a transition process for sure, but it's important to put a stake in the ground and say that Manfred is no longer first in line to respond to everything.

/cc bisq-network/compensation#40

cbeams commented 6 years ago

2018.03 report

As discussed in the comments above, we split up the bisq-network/exchange into a number of smaller repositories this month:

So this will be the last update for the the "Exchange Maintainer" per se, as there is no longer a single "exchange" repository.

In practice, it is me, @ManfredKarrer and @ripcurlx performing maintenance duties across all these repositories, but I will probably still break up different maintainer role issues for each repository sooner rather than later.

/cc bisq-network/compensation#57

cbeams commented 6 years ago

2018.03 report (continued)

Also, I ported all bisq- component builds from Maven to Gradle, and introduced the top-level https://github.com/bisq-network/bisq repository to organize all bisq- components into a single composite build in Gradle terms. How to work with all of this is described at https://github.com/bisq-network/bisq#readme.

ManfredKarrer commented 6 years ago

2018.04 report

Reviewing and merging PRs. Briefing and handover to @ripcurlx and @cbeams the release process and testing scenarios.

cbeams commented 6 years ago

2018.04 report (FINAL REPORT)

This is the final report for the Exchange Maintainer role, and I'm now closing it as essentially obsolete in light of the bisq-network/exchange repository having been broken up into multiple repositories over the last couple months.

I'll create dedicated maintainer roles for each of new repositories in time for the next voting / reporting round. Note that I've already renamed the JavaFX UI Developer role to Bisq Desktop Maintainer.

/cc bisq-network/compensation#68