Another way I've seen it put:
dPOS: elect N witnesses, each witness produces 1 block on their own.
dBFT: elect N bookkeepers, 2/3 of all bookkeepers agree on what goes in every block.
dBFT sacrificing slightly more resources to be un-forkable.
So therefore Semux, with 100 elected validators and 2/3rd consensus, would be called pure dBFT, correct?
As I understand Semux is clear dBFT. You must accept the block if approve votes count > 2/3.
There are no such rule in the POS/dPOS. There are more freedom : you can build your own chain or join to a smaller chain (if there are any problems on the network).
One of the main and greatest features of Semux is transaction finality after ONE confirmation.
This is achieved via BFT in which there is no forking. Just think about it what it means and how amazing this is.
Semux and BFT forever!