Skip to content

Figure out appropriate licensing of ViPErLEED parts #23

@michele-riva

Description

@michele-riva

Before releasing v1.0.0 we have to make sure to have the licenses properly figured out.

The plan is to release the whole ViPErLEED package under "GPL v3 or later". We may also do dual licensing with some license (to be determined) that is compatible with GPL v3, as suggested here.

This copyleft licensing level is required as we use PyQt5, relased under GPL v3 (notice that Qt5 is released under LGPL v3, but GPL v3 subsumes it, so we should use GPL v3). See also the License FAQ from Riverbank.

Here are the parts that we are using, including their licenses (where known):

Python modules:

Modules currently used in the hardware part are not listed here. They should be checked and included after we have reworked the code.

Other components used in Python code:

Hardware:

  • Schematics with source: we own it. We can consider using CC-BY-SA. This is also a copyleft license that allows relicensing to GPL v3, so the whole package could still be under GPL v3. It would be great if @schmid-iap could upload pdfs and source of the schematics + breadbord into viperleed\hardware\schematics.
  • Arduino Command Line Interface: (useful to upgrade hardware firmware without having users do that manually via the Arduino IDE). GPL v3. Perhaps, it would be easier, rather than carrying over the whole source code, to have the binary downloaded automatically (after user confirmation). I have a stub of code already in hardware/arduino/upload-sketch.py.

Camera drivers:

  • The Imaging Source: they provide compiled, proprietary drivers for Windows (.dll) and Linux. I did not find anything for macOS, so we should ask (for now we haven't even tested the Linux drivers!). For Linux it seems the drivers are actually compiled from github [released under Apache 2.0, which is subsumed by GPL v3], so we may have a chance for macOS too. They say we have permission to redistribute the .dll, but the fact that we don't have the source makes it incompatible with GPL v3. A possible workaround would be to have a way (similar to the arduino-cli) to grab the drivers from the website (or an ftp server? we should ask; Linux stuff can be downloaded from github) upon explicit user request. Edit 2024-10-09: @schmid-iap has received written confirmation that we are allowed to distribute the .dlls. In order to comply with GPLv3, the best course of action is to distribute the files separately (a different repo), and have it auto-downloaded upon user confirmation, similar to what @FlorianDoerr has done for the arduino-cli. A long-term solution would be to depend on the python package recently developed by The Imaging Source (https://pypi.org/project/imagingcontrol4/). Edit: Dll from separate repository #468 fixes this by moving the DLLs to a dedicated repository. Eventually, when we will use imagingcontrol4, the repository will be removed, and the drivers for these cameras will be moved to a dedicated repository that will function as a plug-in.

Fortran code:

  • EEASiSSS: (Author: J. Rundgren) According to the header of eeasisss.f90 the version that we have is 'a beta' (from Nov 2006). We have permission to redistribute it from John, but we should ask him to give us a proper license for the new version.
  • atom_density_files: (Author: E. L. Shirley, according to the notice in atomic.f). It is unclear which kind of license this may be under. Perhaps John Rundgren knows better?
  • TensErLEED: (Original authors: Blum & Heinz) The original TensErLEED code (from Comput. Phys. Commun. 134, 392 (2001)) was licensed via a Computer Physics Communication license. This is incompatible with GPL v3, as it (1) does not allow to redistribute the code in original or modified form without written permission from the author(s); (2) explicitly requires citation; (3) does not allow commercial use without written permission from the author(s). We have to figure out how to do this!
  • beamgen3: even unclear who is the original author. There are two names for 'edits' (U.Loeffler 1991, and R.Doell 1992), but no notice whatsoever about licensing. Maybe @LutzHammer can shed some light on this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    GUIConcerns the Graphical User InterfacePRIORITYImportantcalcConcerns the viperleed.calccode styleedit just affects code, not functionalitydocumentationImprovements or additions to documentationimagej-pluginsConcerns the spot tracker / curve editor ImageJ pluginstensor leedConcerns the core TensErLEED/EEASiSSS code

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions