Honestly, it's not that hard to implement something like Roam compared to the aforementioned competitors. The value is in the idea, and even that isn't novel. It really is a mystery to me why an open source alternative doesn't exist / isn't more popular.