Hi Bill,

General Info below.

On 11/12/2014 02:36 PM, Bill Somerville wrote:
> Hi All,
> 
> This is an update on work in progress related to KVASD. Sorry it's yet 
> another long message but the KVASD situation is potentially toxic and is 
> long overdue for a good solution.
> 
> Firstly some background as I see it. KVASD is closed source and must be 
> dissociated from deployments of GPL licensed applications like WSJT-X. 
> This dissociation doesn't prevent cooperation between WSJT-X and KVASD 
> at run time so long as the interface between them is itself open. It 
> also doesn't preclude WSJT-X from deploying a tool or tools to 
> optionally install KVASD post installation. I view this as similar to an 
> open source GPL licensed web browser being used to download closed 
> source proprietary content, for example a plugin of some sort.
> 
> To this end the current arrangement of the WSJT-X build system bundling 
> KVASD in deployment packages and installers is not compatible with our 
> GPL license. Having a step in the build to inject KVASD for development 
> and testing purposes is, I believe, acceptable so long as it is 
> optional. This last capability is currently in place, but as it stands 
> the creation of installer packages for both Windows and Mac bundles a 
> KVASD executable and this is not compliant.
> 
> To move to proper compliance with the GPL licence there is currently 
> work in progress as follows:
> 
> Greg KI7MT is working on a non-free (as in not Free Open Source) Debian 
> package to install KVASD as a stand alone executable. I believe Richard 
> KF5OIM is looking at a similar package for RPM based systems. This is a 
> good solution for Linux systems because they already have all the 
> support libraries needed for KVASD, i.e. the LGPL licensed libgcc 
> libraries to support dynamically linked C and Fortran based executables 
> built using gcc/gfortran. Note that dynamic linking of LGPL libraries is 
> required by their license terms for closed source applications.

-The package itself, is available here:

https://launchpad.net/~ki7mt/+archive/ubuntu/kvasd-installer

>From Source: ./autogen.sh && make && sudo make install

-kvasd-installer is FOSS, licensed under GPL-v3. It installs, as a
package dependency, all the required packages needed to run itself, and
the KVASD Binary "IF" the users chooses to install it.

-kvasd-installer's group, by nature of activity, is contrib v.s. main.
This is the same as most restricted-extras, MS_Fonts, Flash Players,
Audio / Video Codecs, etc. Technically, it could reside in main, but to
keep the peace, I opted for contrib.

-The KVASD binary is restricted use, non-FOSS. As such, is not included
with the kvasd-installer package.

-Currently, it's working for Linux {i686,amd64,armel) but can easily be
updated to use most any CANONICAL_HOST / OS that config.guess/sub can
identify.


> 
> For Windows and Mac the provis ion of a standalone KVASD package is not 
> such a good solution because in both cases the above mentioned libgcc 
> support libraries are not available as standard system components and 
> thus would have to be bundled with the KVASD installer. Although such 
> bundling is possible, it does create a number of secondary issues including:
> 
> * On Windows use of a separately installed package would require the 
> system PATH to be modified to make the KVASD executable available to 
> WSJT-X, alternatively the WSJT-X installation would have to be made 
> aware of the location of the KVASD executable as some sort of post 
> installation step.
> 
> * On Mac there is no real mechanism for a command line executable to 
> include its own support libraries, that is more normally done as an 
> application bundle which is by definition not a command line application.
> 
> To address these and other issues I propose to develop and enhanced 
> installer for WSJT-X on Windows that optionally fetches the KVASD EULA 
> and executable and injects it into the WSJT-X install. This fetch is 
> done over the Internet at install time therefore not requiring any 
> closed source content to be bundled in the WSJT-X installer. By using 
> this process the KVASD executable ends up in the WSJT-X installation 
> binary folder and therefore shares the libgcc DLLs with WSJT-X itself.
> 
> On Mac life is a bit more complex as the installer we use has no 
> scripting or programmatic content, it simply uses standard OS X 
> facilities to present the user with a graphical Drag'N'Drop install step 
> to place the fully self contained WSJT-X application bundle into the 
> system /Applications folder, or elsewhere. This is a fairly normal and 
> very common Mac installation mechanism which is made possible by the 
> fully self contained Mac application bundle structure itself. This means 
> that on Mac a post installation step becomes necessary to "inject" KVASD 
> into the system. The best place by far for this "injection" is into the 
> WSJT-X bundle itself, this is because the KVASD application can then, 
> with a few adjustment commands on the executable, reference the libgcc 
> dylibs that are already bundled with WSJT-X. These references are 
> relative paths therefore including the KVASD executable inside the 
> WSJT-X application bundle allows the bundle to be moved around or copied 
> without issue just like any other application bundle.
> 
> There is one gotcha associated with this approach on Windows and Mac and 
> that is that we must ensure that the libgcc libraries KVASD is linked 
> against are either the same or at least very close to the ones that are 
> used to build WSJT-X and bundled with it. This is essential as KVASD 
> would be sharing the WSJT-X support dylibs. This should not be beyond 
> our capabilities given that we are largely in control of the building of 
> KVASD.
> 
> Another issue is the acceptance of the KVASD EULA by individual users, 
> on Linux this is built into the package install system so long as the 
> appropriate license text is included in the package itself. On Windows I 
> propose to add a custom page to the NSIS installer that fetches the 
> KVASD EULA and binary from the Internet and requests acceptance of the 
> EULA before KVASD installation can be completed. On Mac I propose to 
> write a small application that fetches the KVASD EULA and binary from 
> the Internet and requests agreement of the EULA before injecting KVASD 
> into a WSJT-X application bundle. This Mac only application would be 
> included on the WSJT-X installation disk image and would be invoked by 
> dragging the post installed WSJT-X application bundle back onto it.
> 
> I already have a proof of concept implementation for Windows and am part 
> way through developing a Mac application to install KVASD. Here is a 
> sample of the enhanced Windows installer:
> 
> https://dl.dropboxusercontent.com/u/4192709/wsjtx-1.4.0-rc3-win32-KVASD-installer.exe
> 
> The remaining issue is what we do if the user chooses not to install 
> KVASD, currently no KVASD executable will cause one missing KVASD 
> program message box per session and many "KV decoder missing" errors in 
> the "Rx Activity" window. In the past this has been limited to one error 
> per session (the code is still there but commented out) but was changed 
> to make it clear that running without KVASD is not optimal. I did 
> consider a dummy KVASD program to include in install packages but this 
> leads to more problems than it solves so I think I would prefer a 
> modification to make the missing KVASD executable message more explicit 
> perhaps with a link to a page that explains how to install it and no 
> error messages in the "Rx Activity" window at all.
> 
> Thoughts, comments and updates from the Linux packagers welcome.
> 
> 73
> Bill
> G4WJS.
> 
> ------------------------------------------------------------------------------
> Comprehensive Server Monitoring with Site24x7.
> Monitor 10 servers for $9/Month.
> Get alerted through email, SMS, voice calls or mobile push notifications.
> Take corrective actions from your mobile device.
> http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk
> _______________________________________________
> wsjt-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wsjt-devel
> 

------------------------------------------------------------------------------
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://pubads.g.doubleclick.net/gampad/clk?id=154624111&iu=/4140/ostg.clktrk
_______________________________________________
wsjt-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wsjt-devel

Reply via email to