Hello, Gossip community. Today I want to discuss our vision of Gossip project, its purpose and future steps. I think the main problem is that even I have not clear vision of our goals and future steps, I think all members of our small community - 5-10 members, have their our unique vision - it's illy. Are we just implementation of Gossip? Or do we want to implement much more algorithms and to solve more problems? If yes, what problems? Who is our user in both cases? I think without this understanding and obtaining first users quickly community can fall apart.
I think our goal now: 1. Formulate goals and principles of Apache Gossip 2. After that we'll understand who is our exemplary user, which problems we can solve for him 3. Then we'll understand the shortest path to a real adaptation. We'll get one real user and do all stuff to make Gossip decent for him. I'm GSoC participant, I have a lot of time now to work and I want to move Gossip to the new level. My tasks are CRDTs, SWIM and Consensus. For example, I can't understand which of these tasks will lead us to users and to what kind of users? CRDT umbrella task (GOSSIP-67) has a lot of CRDTs, I implemented almost all of them, two remaining Crdts are so rare and complicated that I think there is no need to implement them. I think even some of already implemented are not necessary. The same situation with SWIM. We have some algorithm now, but the system in general is not usable by anybody, we can't understand is this algorithm good or not? We mustn't fabricate needs of our users, we should analyze problems of real users. The same with Consensus. Is it in our plan and does it correspond to our vision? Is there anybody who is interested in it? "Features for features" is not our goal. "Features for solving users' pain" have sense. I want to bring you one example of strong community and successful company. It's Hashicorp. They have SWIM implemented and running in production on thousands of machines. And they not just implement the most modern algorithms. They do research and innovations. And it's not only due to their passion to algorithms, it's due to pain of their users, their clear vision and desire to solve users' problems. It's the only way to build big robust community (and company like Hashicorp) - formulate purpose and aim on obtaining users. So let's think about our understanding of Apache Gossip and decide whether SWIM or Consensus is highest priority to obtain first users or not? If we decide that it is, I'll do it with pleasure. If not, let's compose plan to first users and I'll bring them. Thanks, Maxim Rusak
