Closed PeterCxy closed 5 years ago
Interesting.
I am no expert in License. But I doubt if this project is ever worth trying. For example, why still use Cygwin to build the project, as we have a much better, highly efficient (IOCP-based), plugin-enabled full Windows port? Why contain the Cygwin dll binaries but not other pre-built third party apps? Why not use Git submodule but directly copy the source code? This is more like a project created by a group of unprofessional developers but not a Google-based company.
Hopefully it means that "Jigsaw" will work to improve the code and contribute back to the community...
Generally, I'm happy to see more forks from our project. I described the detailed reason in an old post: https://maxlv.net/open-source-and-forking/
As long as Outline runs shadowsocks-libev in a separate process, I don't think there is any serious violation of GPL. However, the current code structure of their project doesn't follow GPL well.
Hope we'll see more direct contributions from them in the future.
Apache 2.0 is compatible with GPL v3, see https://www.gnu.org/licenses/license-list.en.html#apache2.
@anthonywong It is not compatible the other way round, i.e. you COULD use Apache 2 projects as dependencies of a GPLv3 project, but you CAN'T use GPLv3 code in an Apache 2 project
@anthonywong But GPL v3 is not compatible with Apache 2.0,so you can't fork this project then change license to Apache 2.0.
@PeterCxy @xiuluo Right, both of you are correct. Looks like Outline does not fork and change the license, but includes shadowsocks-libev and runs it as a separate process (https://github.com/Jigsaw-Code/outline-client/blob/master/cordova-plugin-outline/android/java/org/outline/shadowsocks/Shadowsocks.java#L40. Not saying this is okay, but just wants to point out how Outline works with shadowsocks-libev is debatable.
@anthonywong Outline‘s maintainer says they are contacting their legal counsel to verify that they are complying or not. See https://github.com/Jigsaw-Code/outline-client/issues/14#issuecomment-375728834
@linusyang
we have a much better, highly efficient (IOCP-based), plugin-enabled full Windows port?
Do you mean the code that was merged into the forked libev and reverted again last week? I don't know the reasons for that but libev's paradigm is not really compatible with IOCP ... but libev is needed for Linux with its messy and broken polling and event mechanisms.
@xnoreq We recently re-add MinGW support (w/ TCP Fast Open). See #1962 #1965.
We use wepoll to provide epoll-like backend for libev on Windows. The patched libev doesn't go upstream yet and is in the customized mingw
branch, not the master branch (which was a mistake when merging the wepoll patches).
Please refer to the latest readme document on building the MinGW port.
Is there currently an advantage to using Outline compared to shadowsocks-libev ?
@Per0x Server side or client side? They're optimized for different scenario.
I'm regular shadowsocks(-libev) user. I'm wondering whether we can use shadowsocks-libev on server side, and use outline as client side.
If it's feasible, could anyone kindly share the detailed steps? Thank you!
@rogers0 You need generate access key from ss-libev config by yourself.
@studentmain Thanks so much! I think we need to add a script to generate the access key automatically, in shadowsocks-libev package.
Any volunteer to do the work? :-P
@rogers0 Maybe also QRCode. Maybe I'll write one, but probably in C...
@Per0x Server side or client side? They're optimized for different scenario.
Both. There are several projects emerging, and I don't think I'm the only one who's a little lost on each other's directions.
@Per0x
Outline Client:
Outline Server:
IMO, Outline is optimized for bussiness scenario, their target user is not IT professional, just like their website said. Shadowsocks is designed for personal use (when it born, there is only one user, that's why ss haven't "user name").
@studentmain Thank you !
@rogers0 a little works, still a prototype, will be open source when it ready 一点微小的工作,还在修,修好了会开源
@studentmain thanks for letting us know. No need to be perfect, please kindly submit your code by pull request. Open source code evolves when the community is able to review and patch it.
@rogers0 FYI https://github.com/studentmain/ss-share , need improve, but should work.
@studentmain nice comparison!
A few things I'd like to clarify:
Dear contributors of shadowsocks-libev,
Recently a team at Google published a new "VPN" tool called "Outline" (https://getoutline.org/en/home). As it turned out, it was only another GUI wrapper around shadowsocks, and specifically, shadowsocks-libev. The client side of their software (https://github.com/Jigsaw-Code/outline-client) directly included source code from shadowsocks-libev and other related projects, some of which licensed under GNU General Public License version 3. However, the
outline-client
was licensed under Apache 2.0, which is not a compatible license with GPLv3.Since the source code are directly included to the repository, I'm afraid that this could be a copyright offence. However, I haven't looked into whether it could actually be a derivative work of the Shadowsocks project. I am writing here for attention of you, the Shadowsocks contributors, who have done great work on fighting censorship, in case that further action should be taken on this issue.
Regards.