<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><div><div style="font-family: Calibri,sans-serif; font-size: 11pt;">Thank you, Jaak, for your good starting. I still hope that your knowledge in C++ development and Troy's experience in Sword development would unite in development of next major libsword iteration (reword libsword2). I think you both have many great ideas for that. <br><br>I also expect from libsword2 more convenient api. Since we managed to work with existing, it leave many questions and unobvious things (SWMgr that is actually iterator, Upper/Lower bound that do not say where is module beginning for new ones). A lot of code in Sword is hard to maintain, only few people knows how it actually works. It is not look like good C++ code. And it will never evolve if we will focus on elder devices.<br><br>So I suggest to not extinguish any kind of energy here but to support. It is so little here.<br><br>As for me, i like elder devices, and at this moment they are in my priority.<br><br><br>Blessings.</div></div><div dir="ltr"><hr><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">От: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;"><a href="mailto:jaak@ristioja.ee">Jaak Ristioja</a></span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">Отправлено: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;">25.09.2016 21:56</span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">Кому: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;"><a href="mailto:sword-devel@crosswire.org">SWORD Developers' Collaboration Forum</a></span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">Тема: </span><span style="font-family: Calibri,sans-serif; font-size: 11pt;">[sword-devel] Announcing Sword++</span><br><br></div>Hello!<br><br>Sometime in May this year my efforts to improve the Sword library as the<br>backend for BibleTime led me to create branch or fork of the Sword<br>codebase, which I eventually called Sword++. The main goals for this<br>were to (with respect to BibleTime development) improve the API, build<br>system and overall code quality, modernize, and to try to fix any bugs I<br>find when refactoring and reviewing the code. With experience as a C++<br>backend engineer and being no Sword expert, my refactoring effort also<br>serves the purpose of educating myself about Sword and its internals.<br>While I'm just starting out and have barely touched the amount of work<br>that needs to be done, I've already accumulated over 200 new commits to<br>the Sword++ repository so far. So this seems to be a more-or-less<br>reasonable time to publicly announce my publicly before the situation<br>gets too awkward.<br><br>Before I proceed, I want to emphasize that none of this is meant to<br>split or even stir up anything negative in the community. However,<br>Sword++ is an initiative to stop and reverse the current bit-rot; it is<br>more of a rescue effort and not a rebel event. Due to the sheer amount<br>of work that needs to and can be done to reach these goals, it is<br>evidently impractical for me to push and wait for every such change to<br>work its way through the issue tracker and/or sword-devel and reach SVN<br>trunk. To work around this costly threshold for contributing to the<br>Sword library, Sword++ is now here.<br><br>Sword++ is not officially related to CrossWire. The code currently lives<br>at https://github.com/swordxx/swordxx and as the initiator I'm currently<br>idling alone on the #sword++ channel on FreeNode IRC. Feel free to<br>contribute, file bug reports, pull requests etc. Also feel free to<br>cherry-pick or merge any fixes back to Sword. I don't think I will (or<br>have time to) flood sword-devel with emails about every bug (or<br>technical, design or architectural issue) I find. I will try to notify<br>about most severe security issues. Follow the git log if you're interested.<br><br>The code is in sync with enhancements in the Sword SVN trunk and for now<br>I'll try to keep it that way, although I've changed the layout of source<br>files etc extensively which makes merging harder. I'm currently<br>targeting standard C++14, POSIX and Linux, with everything else having<br>lower priority due to Sword++ currently having only one active<br>developer. I've also dropped all the language bindings (which I don't<br>intend on maintaining together with the Sword++ master branch), a bunch<br>of legacy and unused code, tools and utilities etc. MSVC project files<br>and autotools were dropped from the build system, which is now only<br>based on CMake. Ftplib support was also dropped, cURL, CLucene 2, bzip2,<br>xz and zlib are now unconditionally required by Sword++. There are also<br>some API changes so switching from Sword to Sword++ requires some<br>effort. See the git log for details and more.<br><br>There is a lot of uncertainty because this is just the beginning of the<br>process. Currently Sword++ must be considered unstable. I haven't tested<br>it much at runtime. I'm mostly doing code review, modernizing, fixing<br>bugs and compiler warnings and static analysis warnings,<br>despaghettification and deduplication of code, improving the API etc etc<br>etc. Sword++ will try to stay compatible with existing Sword modules,<br>but will probably propose amendments to the file formats and download<br>protocols (e.g. to get rid of parsing the potentially fragile HTML of<br>directory listings generated by the Apache HTTP server).<br><br>I hold in high respect both CrossWire and all who made the Sword library<br>possible and am grateful for ALL of you who have enabled or contributed<br>to Sword, and your work. I hope the Sword++ initiative will benefit our<br>developer community, the end-users and so on.<br><br>Glory be to God!<br><br>Thank you and many blessings,<br>Jaak Ristioja<br><br>_______________________________________________<br>sword-devel mailing list: sword-devel@crosswire.org<br>http://www.crosswire.org/mailman/listinfo/sword-devel<br>Instructions to unsubscribe/change your settings at above page<br></body></html>