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
