[sword-devel] Licensing audit of SWORD for Fedora - sharing results with upstream
Aaron Rainbolt
arraybolt3 at gmail.com
Thu Oct 5 14:12:02 EDT 2023
On 10/5/23 13:06, Greg Hellings wrote:
> I've gone ahead and directly added you as an admin on the two projects.
Thank you so much!
>
> On Thu, Oct 5, 2023 at 1:00 PM Aaron Rainbolt <arraybolt3 at gmail.com>
> wrote:
>
> On 9/28/23 11:29, Greg Hellings wrote:
> >
> >
> > On Thu, Sep 28, 2023, 12:14 Aaron Rainbolt
> <arraybolt3 at gmail.com> 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&view=markup
> <https://svn.filezilla-project.org/filezilla/FileZilla3/trunk/src/engine/directorylistingparser.cpp?revision=10945&view=markup>
> >
> <https://svn.filezilla-project.org/filezilla/FileZilla3/trunk/src/engine/directorylistingparser.cpp?revision=10945&view=markup
> <https://svn.filezilla-project.org/filezilla/FileZilla3/trunk/src/engine/directorylistingparser.cpp?revision=10945&view=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.
> >
> >
> > 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.
>
> Thanks! If all of the comaintainers for Xiphos and BibleTime are
> also no
> longer available or interested, I think it would be helpful if you
> could
> go into https://src.fedoraproject.org/rpms/xiphos and
> https://src.fedoraproject.org/rpms/bibletime and click the "Orphan"
> button on those. I'll take them once that's done and should be
> able to
> help keep them maintained.
>
> Thanks for all your help, and God bless!
>
> Aaron
>
> >
> > --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 the MinGW build of sword in
> > Fedora,
> > > which was not retired as it was unaffected by the Python
> changes.
> > >
> > > ftpparse is a constant thorn in our side whenever people
> become
> > hung
> > > up on the commercial clause. While not strictly necessary to
> > SWORD, as
> > > HTTP and HTTPS are supported if the library is built with cURL
> > > support, it would be a huge loss of functionality for most
> > users. It
> > > probably is time to consider rewriting their functionality.
> > >
> > > The Android jar file is also unnecessary for your
> packaging and you
> > > can safely delete it. And the whole pqa folder for diatheke
> > should be
> > > tossed. Likely at the SVN level, as I'm sure we are not
> building
> > Palm
> > > binaries anymore.
> > >
> > > Hope that helps.
> > >
> > > --Greg
> > >
> > >
> > > On Thu, Sep 28, 2023, 01:06 Aaron Rainbolt
> > <arraybolt3 at gmail.com> wrote:
> > >
> > > Good morning/evening, and thanks for your time.
> > >
> > > Recently SWORD was removed from Fedora 39 because of a bug
> > > relating to
> > > the python bindings (it's still using distutils rather
> than
> > > setuptools,
> > > which needed to be fixed, but the maintainer didn't
> fix it in
> > > time). I'm
> > > attempting to get SWORD back into Fedora by fixing the
> > issue, but
> > > as the
> > > package was already retired, I'm preparing to
> reintroduce it
> > as if it
> > > were being added for the first time. For the sake of
> making
> > things go
> > > smoothly, I did a full licensing audit on the SWORD source
> > code to
> > > ensure that all licenses were compliant with Fedora's
> > requirements.
> > >
> > > Some of the results of this audit were
> less-than-ideal, so I
> > > thought I
> > > would share the results with you so that you can take any
> > measures
> > > you
> > > deem appropriate. I'm in the process of resolving these
> > issues in
> > > Fedora.
> > >
> > > * There are several files under sword-1.9.0/cmake that
> have
> > unclear
> > > licenses (referring to "the BSD license" but without
> > specifying which
> > > version, and telling the user to look at a file that
> doesn't
> > exist
> > > for
> > > the license details). I *believe* these files are
> licensed under
> > > BSD-3-Clause, as I found the original source for all
> but one
> > of them,
> > > however I could not find the original source for
> > > sword-1.9.0/cmake/FindXZ.cmake.
> > >
> > > * The gSOAP bindings contain a file,
> > > sword-1.9.0/bindings/gsoap/include/stdsoap.h, which has no
> > license
> > > and
> > > an "All rights reserved" notice.
> > >
> > > * The Objective-C bindings have a similar problem - the
> > following
> > > files
> > > under sword-1.9.0/bindings/objc all have no license
> and an "All
> > > rights
> > > reserved" notice:
> > > - ObjCSword.h
> > > - src/Notifications.h (yes I realize this file
> consists
> > > entirely of
> > > comments but this is still worrying)
> > > - src/SwordBibleBook.h
> > > - src/SwordBibleBook.m
> > > - src/SwordBibleChapter.h
> > > - src/SwordBibleChapter.m
> > > - src/SwordBibleTextEntry.h
> > > - src/SwordBibleTextEntry.m
> > > - src/SwordInstallSource.h
> > > - src/SwordInstallManager.h
> > > - src/SwordInstallManager.mm
> > > - src/SwordInstallSource.mm
> > > - src/SwordKey.h
> > > - src/SwordKey.m
> > > - src/SwordListKey.h
> > > - src/SwordListKey.mm
> > > - src/SwordLocaleManager.h
> > > - src/SwordLocaleManager.mm
> > > - src/SwordModuleIndex.h
> > > - src/SwordModuleIndex.m
> > > - src/SwordModuleTextEntry.h
> > > - src/SwordModuleTextEntry.m
> > > - src/SwordTreeEntry.h
> > > - src/SwordTreeEntry.m
> > > - src/SwordVerseKey.h
> > > - src/SwordVerseKey.mm
> > > - src/SwordVerseManager.h
> > > - src/SwordVerseManager.m
> > > - src/VerseEnumerator.h
> > > - src/VerseEnumerator.m
> > > - src/services/Configuration.h
> > > - src/services/Configuration.m
> > > - src/services/iOSConfiguration.h
> > > - src/services/iOSConfiguration.m
> > > - src/services/OSXConfiguration.h
> > > - src/services/OSXConfiguration.m
> > > - SWORD/SWORD/SWORD.h
> > > - SWORD/SWORD/SWORD.m
> > > - test/SwordListKeyTest.h
> > > - test/SwordListKeyTest.m
> > > - test/SwordModuleLongRunTest.h
> > > - test/SwordModuleLongRunTest.mm
> > > - test/SwordModuleTest.h
> > > - test/SwordModuleTest.m
> > >
> > > * Two files under sword-1.9.0/src/utilfuns/win32 are under
> > non-free
> > > licenses - they prohibit the sale of media containing
> those
> > files for
> > > anything greater than the cost of distribution.
> > >
> > > * The files sword-1.9.0/include/ftpparse.h and
> > > sword-1.9.0/src/utilfuns/ftpparse.c are under informal
> non-free
> > > licenses
> > > prohibiting commercial use unless the copyright owner is
> > informed of
> > > what program uses the files. This code appears to be
> critical to
> > > SWORD's
> > > functionality (as FTP is used for module downloading),
> so I have
> > > attempted to contact the author and ask that ftpparse be
> > > relicensed to
> > > 0BSD (which should be compatible with the licenses in
> SWORD).
> > >
> > > In addition to the above, I discovered some pre-built
> binary
> > files
> > > floating around:
> > > -
> > >
> >
> sword-1.9.0/bindings/Android/SWORD/gradle/wrapper/gradle-wrapper.jar
> > > - sword-1.9.0/utilities/diatheke/pqa/Diatheke.pqa
> > >
> > > While these aren't strictly a problem, they do have to be
> > removed in
> > > Fedora. You might consider removing them from your SVN
> repo if
> > > possible
> > > and not too inconvenient.
> > >
> > > I hope this message finds you all doing well! God
> bless, and
> > > thanks for
> > > all the work you've put into the SWORD Project!
> > >
> > > _______________________________________________
> > > sword-devel mailing list: sword-devel at crosswire.org
> > > http://crosswire.org/mailman/listinfo/sword-devel
> > > Instructions to unsubscribe/change your settings at
> above page
> > >
> > >
> > > _______________________________________________
> > > sword-devel mailing list: sword-devel at crosswire.org
> > > http://crosswire.org/mailman/listinfo/sword-devel
> > > Instructions to unsubscribe/change your settings at above page
> > _______________________________________________
> > sword-devel mailing list: sword-devel at crosswire.org
> > http://crosswire.org/mailman/listinfo/sword-devel
> > Instructions to unsubscribe/change your settings at above page
> >
> >
> > _______________________________________________
> > sword-devel mailing list: sword-devel at crosswire.org
> > http://crosswire.org/mailman/listinfo/sword-devel
> > Instructions to unsubscribe/change your settings at above page
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
>
>
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
More information about the sword-devel
mailing list