wesql / wescale

WeScale is a Modern MySQL proxy that supports read-write-split, read-after-write-consistency, load balancing and OnlineDDL.
https://wesql.io
Apache License 2.0
199 stars 8 forks source link

[Question] Why not work with upstream Vitess? #399

Closed derekperkins closed 10 months ago

derekperkins commented 10 months ago

Question

As a Vitess maintainer, I just learned about this project. Lots of cool features that you added. Is there anything preventing you from collaborating upstream?

earayu commented 10 months ago

Hi @derekperkins , Thank you for reaching out. I've asked myself the same question several times over the past six months.

The Vitess community indeed seems fantastic, with a welcoming and open atmosphere, as well as being extremely productive.

In the WeScale project, I've introduced some features such as Read-Write-Split and Read-After-Write-Consistency, which I would be more than happy to contribute back upstream. In fact, I've made attempts in this direction as can be seen in these threads: #12571 and #12570.

However, the architecture of WeScale diverges from that of Vitess in certain aspects—particularly the removal of the Sharding Layer—which means that designs from WeScale might not port directly back into Vitess. Moreover, my commitments to the WeScale project (and others) have left me with little time to undertake the careful work that such integration would require.

I've also noted with interest the new features added to Vitess in the last six months, such as parameter management with viper, which are indeed excellent.

In summary, there are no real barriers preventing collaboration with upstream, just a lack of time and energy on my part to do justice to this process in the past months. I am eager to contribute my code back to upstream and would also look forward to cherry-picking some features to bring back to our project.

Best Regards, earayu