I finally read through your paper (yeah, I know, it took me a while). I have a lot of comments that I think would help you improve the paper, a few questions, especially about membership changes, and a few items that would probably lead to interesting discussions. I'll say a few things here, but let's try to chat in real time.
It's clear that you put a lot of time and effort into polishing the paper, and I appreciate that. I think there may be interesting design points for "sequential Raft" (like FAB) and "register Raft" (full current state overwritten in every round). However, I'm still not sure that this paper in its current form meets its goals: is it significantly simpler than Raft, and can it be understood independently of Raft? I also wonder about some of the design choices (for example, the overloading of RequestVote).
Is it significantly simpler than Raft? I think FAB has to be a lot simpler than Raft to make it worthwhile. For example, if FAB has 90% of the complexity of Raft, but Raft has a much larger ecosystem (talks, papers, proofs, implementations, developers), I think we'd both agree that it's not worth it. On the other hand, if FAB has 50% of the complexity of Raft, then I think we'd both agree that FAB is a good choice for some systems. Actually, I'm really curious to hear the number in your gut right now. Mine is about 85% right now, but that may drop after getting some clarification from you (the unresolved ambiguities in my head increase perceived complexity).
Can it be understood independently of Raft? I'm actually not sure whether this was a goal of yours or not, but I think the paper is probably neither here nor there right now. If it IS a goal, I'm too tainted to say with confidence, but I think it's missing some important explanations (e.g., why do we want a log? What do we do with it? Why do we care about majorities? What about snapshots? Client interaction?). The way to work though these is to find fresh people and make them read it (we did that a ton with the Raft paper). If it's NOT a goal, then you might try to explain (some) things in terms of Raft more, building down from Raft rather than building up from scratch. Either way, this paper is crying out for a section that compares explicitly with Raft, assuming familiarity of Raft. What's different, how does that help understandability, how does correctness still hold, and what does FAB give up in terms of features/performance?
BTW, any progress on releasing the source code?
I'll send a follow-up privately to arrange a chat.
Best,
Diego