Closed probonopd closed 3 years ago
zsync-curl is not actively used. zsync2 is written in C++ with the legacy code because of time constrains, as to make source of zsync a maintainable code base. But zsync2 does not solve everything. (Multi-threading, Concurrent Networking, Async I/O, etc...)
A while ago I chatted with @TheAssassin in IRC and decided that we should write a clean version of zsync with modern C++ with no legacy code for a much better performance, maintainability of the source and making it future proof. See https://github.com/AppImage/zsync3
The official updater library is not getting much development because of re-inventions like my library and your go implementation of zsync.
So the plan is to make a good AppImageUpdate library and create bindings for other languages which would be hopefully adapted by everyone.
As for my Qt version of the library, Once the new major version of AppImageUpdate is finished, My library will only act as a wrapper so to bring contributions to the official project. But it will have unofficial features to experiment with the community and get feedback like in case with BitTorrent for decentralized updates.
As for the status of Zsync3, The zsync meta file parsing is somewhat done and the internal legacy structures are replaced with C++ standard structures which makes the source even more maintainable and helps bring more contribution instead of patching legacy code which is very hard to understand and has serious security vulnerabilities.
So I'd say move this project out of the AppImage organization and let's focus on zsync3 then.
So I'd say move this project out of the AppImage organization and let's focus on zsync3 then.
Well. Let's wait for @TheAssassin for a response on this subject. For me yes, zsync-curl is not really needed since we have zsync2. And zsync3 is in the making and really need a lot of time to replace a stable code base like zsync2.
Already did the move. Can move it back if @TheAssassin thinks it's still needed in AppImage.
I'm fine with moving. It's not a dependency of AppImageUpdate. zsync2 and in the future, zsync3, should remain here.
By the way, I just planned to archive this repository.
Is this code still being used by AppImage tools somewhere? If not, I'd move it back into the probonopd account so that the AppImage GitHub organization is less cluttered with code that is no longer used there. @TheAssassin @antony-jr