Re: [sword-devel] A replacement for ftpparse

2023-09-29 Thread Aaron Rainbolt
This is no longer necessary - the original ftpparse is now public-domain 
where possible, and truly open-source elsewhere. See 
https://cr.yp.to/distributors.html "What are the distribution terms for 
ftpparse?"


On 9/29/23 04:00, Aaron Rainbolt wrote:
For those who have read the earlier discussion about the license 
audit, I wanted to do something to help with the presence of the 
non-free ftpparse code in SWORD. This is my initial attempt:


https://github.com/ArrayBolt3/FreeFTPParser

While this parser only can handle UNIX LIST output, I believe this 
should be sufficient at least to begin with since I haven't been able 
to even find documentation on the other formats, or even publicly 
available servers that use those other formats (though admittedly my 
search wasn't too deep). I'm pretty sure ftp.crosswire.org uses the 
UNIX format (it sure looks like it if I browse around using BSD ftp, 
which shipped with my Kubuntu installation). FreeFTPParser is 
API-compatible with the original ftpparse - the idea is that the new 
ftpparse.h and ftpparse.c can be dropped in place of the old ones and 
everything should just work.


This library needs A LOT of testing before it can be deployed in 
actual use, but it seems to not instantly fall over and segfault if 
you feed it corrupted data. Consider it alpha-quality. I'll be doing 
more testing in the coming days Lord willing (I might even try to 
build it into SWORD and see what happens :D).


Anyway, hopefully this should provide a way to get ftpparse out of 
SWORD. I licensed it as 0BSD since that allows pretty much anyone to 
do anything with it (so it should be usable anywhere ftpparse is 
currently in use), but if the SWORD devs would prefer, I'd be happy to 
make it GPLv2 instead.


Hope this is useful! Have a blessed day!

Aaron


___
sword-devel mailing list: sword-devel@crosswire.org
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page


[sword-devel] Fwd: Licensing audit of SWORD for Fedora - sharing results with upstream

2023-09-29 Thread Aaron Rainbolt

Gah, forgot to use Reply List in Thunderbird.



 Forwarded Message 
Subject: 	Re: [sword-devel] Licensing audit of SWORD for Fedora - 
sharing results with upstream

Date:   Fri, 29 Sep 2023 11:01:12 -0500
From:   Aaron Rainbolt 
To: Greg Hellings 



On 9/28/23 11:29, Greg Hellings wrote:


On Thu, Sep 28, 2023, 12:14 Aaron Rainbolt  wrote:

Hey, thanks for your help!

I was able to just repack and remove most everything offending. I
figured I should share the info upstream so that if there was
anything
you wanted to do on your end, you could, but obviously if you're
comfortable keeping things as they are, I don't have a problem
with that :)


There are others who are pumpkin holders for separate parts and 
they'll need to decide on updating their pieces. I own CMake and the 
Swig bindings (Python and Perl for us).



I'll submit a patch for the Python bindings, the fix was fairly
simple.

As for ftpparse, I could potentially try writing a replacement myself
and license it as GPLv2. We already probably have a good starting
point
since the FileZilla project is under GPL-2.0-or-later, and appears to
have its own independently developed directory litsing parser
written in
C++ (see
https://svn.filezilla-project.org/filezilla/FileZilla3/trunk/src/engine/directorylistingparser.cpp?revision=10945=markup
).

We could port the logic from that into something SWORD-compatible
perhaps?


That would probably work. Part of the goal with SWORD is that it needs 
no hard external library dependencies. Thus why ftpparse has been 
included inline. A novel contribution that replaces those but is still 
highly portable C would likely be welcomed.


I wrote an implementation of ftpparse that worked for UNIX LIST output 
and seemed to work, but it looks like it will no longer be needed. I 
requested that D. J. Bernstein relicense it to something open-source, 
and this is the result: https://cr.yp.to/distributors.html (see the 
section "What are the distribution terms for ftpparse?") It's now 
public-domain and can be used under any of four different licenses, all 
of which are GPLv2 compatible and three of which are Fedora-compatible. 
So ftpparse is officially no longer a concern.


That was the last hurdle for getting SWORD back into Fedora :D

- Aaron




One more question about the CMake files, you mention that
FindXZ.cmake
is your original contribution and would be GPLv2, but it appears
to be
ported from the BSD-3-Clause FindBZIP2.cmake. Just to be clear,
since it
contains your modifications, it should be "upgraded" to GPLv2 as
it now
contains your GPLv2 contributions? If so, are there any other
files in
the CMake folder that should be similarly "upgraded"? Potentially
all of
them if they've all had to be modified for SWORD?


I don't believe I had to modify anything. They were simply pulled in 
so I could maintain support for old versions of CMake - like on CentOS 
6 and old Ubuntu LTS versions at the time - that had the core 
functionality needed but just lacked a file which newer CMake had 
bundled. Including most of them is likely a moot point by now as those 
versions are ancient. Yes, I undoubtedly modified it from FindBZIP2 as 
it was a later addition to the optional dependencies. The only reason 
to upgrade to GPL2 is that it's the exclusive license and version for 
SWORD contributions, in absence of compelling reasons to the contrary.



Thanks so much for your help! Also, did you also previously maintain
Xiphos and Bibletime? If so, I would love to take maintainership of
those too so I can keep everything SWORD-related from dropping out of
Fedora.


I'm fairly certain that I am. If not the owner I was the defacto 
maintainer. You are welcome to take over those packages, for sure. Let 
me know if you need me to do the needful for that. I don't think 
they've been officially orphaned for F39, but would be on the chopping 
block for F40 in the absence of sword making it back in.


--Greg


God bless, and thanks again.

Aaron

On 9/28/23 07:05, Greg Hellings wrote:
> Aaron,
>
> As the previous maintainer who dropped support, thank you for
picking
> it up. I have moved on from being a Fedora user (NixOS these
days) and
> was no longer maintaining those packages nor the apps that
depend on
> it. I am, however, the pumpkin holder for the Python and Perl
> bindings. If you want to submit a patch to us that gets those
working
> again I would be happy to include it upstream.
>
> Any files under the cmake folder were contributed by me. Those
noting
> a license were taken from later CMake versions and would match
> licenses there. The FindXZ file is my original contribution and is
> under the GPLv2 like all other original SWORD code.
>
> The gSOAP and Objective-C bindings should be safe to remove in
Fedora
> as there is no need for them there.
>
> The win32 files would only affect 

[sword-devel] A replacement for ftpparse

2023-09-29 Thread Aaron Rainbolt
For those who have read the earlier discussion about the license audit, 
I wanted to do something to help with the presence of the non-free 
ftpparse code in SWORD. This is my initial attempt:


https://github.com/ArrayBolt3/FreeFTPParser

While this parser only can handle UNIX LIST output, I believe this 
should be sufficient at least to begin with since I haven't been able to 
even find documentation on the other formats, or even publicly available 
servers that use those other formats (though admittedly my search wasn't 
too deep). I'm pretty sure ftp.crosswire.org uses the UNIX format (it 
sure looks like it if I browse around using BSD ftp, which shipped with 
my Kubuntu installation). FreeFTPParser is API-compatible with the 
original ftpparse - the idea is that the new ftpparse.h and ftpparse.c 
can be dropped in place of the old ones and everything should just work.


This library needs A LOT of testing before it can be deployed in actual 
use, but it seems to not instantly fall over and segfault if you feed it 
corrupted data. Consider it alpha-quality. I'll be doing more testing in 
the coming days Lord willing (I might even try to build it into SWORD 
and see what happens :D).


Anyway, hopefully this should provide a way to get ftpparse out of 
SWORD. I licensed it as 0BSD since that allows pretty much anyone to do 
anything with it (so it should be usable anywhere ftpparse is currently 
in use), but if the SWORD devs would prefer, I'd be happy to make it 
GPLv2 instead.


Hope this is useful! Have a blessed day!

Aaron

___
sword-devel mailing list: sword-devel@crosswire.org
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page