Recently, there are some discussions about shadowsocks and its forks. Unfortunately, most of them are meaningless arguments. So, here I'd like to share some of my thoughts.
First of all, I want to thank every developer that has forked our projects. I appreciate your effort on reading, reviewing and modifying our source code. It's a great honor to have so many forks on GitHub.
One major debate here is: Is it good to have so many forks for one open source project? My answer is yes.
We developed shadowsocks years ago as a very simple (or broken) secured socks5 proxy. It worked so well that we just needed to fix minor bugs in the following years. Now, shadowsocks has attracted more than thousands of developers to join the community. Dozens of popular forks are developed based on our projects. And almost every known platforms and devices are supported now.
As a result, it's obvious that we should welcome every fork of shadowsocks under a correct open source license. Actually, these forks help to improve the whole shadowsocks project.
Then, what about fragmentation? Nope, I don't think it's a real problem for shadowsocks.
If one fork can do its job well, it's great! If not, it's still a valuable try. Actually, it's important to let forks keep evolving. These "fragmentations" make any attack to the shadowsocks protocol is meaningless, as users can always move to any other design among all these forks.
In the end, I want to share my object for shadowsocks again: We keep maintaining shadowsocks to show you that it's possible to solve a big problem with minimal effort. I also believe that's the soul of shadowsocks project.
So, don't hesitate to fork our projects and design your own protocols. Happy Hacking!