taskSavannah Administration - Tasks: task #14528, Submission of relax

 
 

task #14528: Submission of relax

Submitted by:  Edward d'Auvergne <bugman>
Submitted on:  Mon 29 May 2017 09:28:33 AM UTC  
 
Should Start On: Sun 28 May 2017 02:00:00 PM UTCShould be Finished on: Wed 07 Jun 2017 02:00:00 PM UTC
Category: Project ApprovalPriority: 5 - Normal
Status: In ProgressPrivacy: Public
Percent Complete: 0%Assigned to: Ineiev <ineiev>
Open/Closed: OpenEffort: 0.00

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Wed 25 Oct 2017 08:02:52 AM UTC, comment #18:

>> The files already contain notices, but these are actually placed as comments
>> after every single function, e.g.:
>> https://sourceforge.net/p/nmr-relax/code/ci/master/tree/extern/sobol/sobol_lib.py
>
>
> There are no copyright notices after functions, there are information
> about the authors; the license notice is too ambiguous: it doesn't
> mention the allowed versions of the LGPL.


I have now noticed that this has changed over time. When I originally bundled the Sobol Python package, the text after each function was for example:

# Licensing:
#
# This code is distributed under the GNU LGPL license.
#
# Modified:
#
# 22 February 2011
#
# Author:
#
# Original MATLAB version by John Burkardt.
# PYTHON version by Corrado Chisari

I see now that the licence has changed:

# Licensing:
#
# This code is distributed under the MIT license.
#
# Modified:
#
# 22 February 2011
#
# Author:
#
# Original MATLAB version by John Burkardt.
# PYTHON version by Corrado Chisari

The original MATLAB code from John Burkardt is still LGPL licensed. From memory, there was also previously text on the source webpage or a linked page that the GNU LGPL licence was the current version. For 2011 that would be version 3. However I cannot find that text any more, either on the webpage or on the Internet Archive Wayback Machine.

>> I have nevertheless added FSF recommended notices to the top of all of the
>> files
>
>
> Is that copyright notice valid? It only list one copyright holder, though
> there are much more authors. Did they assign their copyright to one
> person?


It looks like Corrado Chisari wrote the LGPL Python code. The original MATLAB version by J. Burkardt was LGPL licensed. Looking at the code side-by-side:

http://people.sc.fsu.edu/~jburkardt/m_src/sobol/
http://people.sc.fsu.edu/~jburkardt/py_src/sobol/

There should clearly be the copyright notice dates from the .m files in the .py files. Looking at all of the code on the webpages there, the history of the code appears to be:

FORTRAN77 version by Bennett Fox
FORTRAN90 version by John Burkardt
MATLAB version by John Burkardt
Python version by Corrado Chisari

None of the original FORTRAN77 code referenced in some functions appears in the FORTRAN90 code. So the history looks is FORTRAN90 -> MATLAB -> Python. I have never encountered a mention of copyright transfers, so I would assume that both John Burkardt and Corrado Chisari have copyright ownership. Though Chisari's MATLAB -> Python language translation would not have produced much new copyrightable material.

>> (excluding the auto-generated output files which remain in the README file).
>
>
>Those are text files. They should themselves contain the notices.


I have updated the Sobol package in relax to the newest MIT licensed version, changed the licence from LGPLv3 to MIT, and tracked down all of the dates throughout the FORTRAN90 -> MATLAB -> Python chain to create the copyright notices. See:

https://sourceforge.net/p/nmr-relax/code/ci/master/tree/extern/sobol/
https://sourceforge.net/p/nmr-relax/code/ci/master/tree/extern/sobol/sobol_lib.py

Edward d'Auvergne <bugman>
Wed 11 Oct 2017 01:47:17 PM UTC, comment #17:

> The files already contain notices, but these are actually placed as comments
> after every single function, e.g.:
> https://sourceforge.net/p/nmr-relax/code/ci/master/tree/extern/sobol/sobol_lib.py


There are no copyright notices after functions, there are information
about the authors; the license notice is too ambiguous: it doesn't
mention the allowed versions of the LGPL.

> I have nevertheless added FSF recommended notices to the top of all of the
> files


Is that copyright notice valid? It only list one copyright holder, though
there are much more authors. Did they assign their copyright to one
person?

> (excluding the auto-generated output files which remain in the README file).


Those are text files. They should themselves contain the notices.

Ineiev <ineiev>
Site AdministratorIn charge of this item.
Fri 22 Sep 2017 01:52:14 PM UTC, comment #16:

I have added the LGPLv3 licence text to the extern/sobol package:

https://sourceforge.net/p/nmr-relax/code/ci/master/tree/extern/sobol/COPYING.LESSER

For the copyrights in the README, I simply added these for clarification. The files already contain notices, but these are actually placed as comments after every single function, e.g.:

https://sourceforge.net/p/nmr-relax/code/ci/master/tree/extern/sobol/sobol_lib.py

I have nevertheless added FSF recommended notices to the top of all of the files (excluding the auto-generated output files which remain in the README file). The new code can be downloaded from one of the following mirrors:

https://gitlab.com/nmr-relax/relax/repository/master/archive.tar.bz2
https://github.com/nmr-relax/relax/archive/master.zip
https://bitbucket.org/nmr-relax/relax/get/master.tar.bz2
https://sourceforge.net/p/nmr-relax/code/ci/master/tarball

Edward d'Auvergne <bugman>
Wed 13 Sep 2017 01:02:37 PM UTC, comment #15:

Thank you!

Format of files in extern/sobol allow comments; copyright and license notices should be put in the files directly rather than in README.

Then, README says that some of those files are under the LGPLv3+, but no license text is provided.

Ineiev <ineiev>
Site AdministratorIn charge of this item.
Mon 11 Sep 2017 08:34:59 AM UTC, comment #14:

As numdifftools is now quite easy to install on Python using pip, I have simply removed the extern/numdifftools package from relax:

https://sourceforge.net/p/nmr-relax/code/ci/174fd5a42b54c08202eb8306be828f9125f86a95/

This was only bundled in relax for stability with the early numdifftools packages, and to ensure that relax always had the ability to use this code. Note that numdifftools is not a relax dependency, but rather an extremely useful tool for testing new code. Hopefully the relax sources mirrored in zip/tar form at one of:

https://github.com/nmr-relax/relax/archive/master.zip
https://sourceforge.net/p/nmr-relax/code/ci/master/tarball

or in source form at one of:

https://sourceforge.net/p/nmr-relax/code/ci/master/tree/
https://github.com/nmr-relax/relax
https://gitlab.com/nmr-relax/relax

will now meet the requirements for a non-GNU project.

Cheers,
Edward

Edward d'Auvergne <bugman>
Fri 08 Sep 2017 08:14:43 AM UTC, comment #13:

I have submitted an issue for numdifftools for licence clarity:

https://github.com/pbrod/numdifftools/issues/34

And for downloads, another automatically created archive is:

https://github.com/nmr-relax/relax/archive/master.zip

This interface is a little simpler.

Edward d'Auvergne <bugman>
Tue 05 Sep 2017 05:07:38 AM UTC, comment #12:

> The <ORGANIZATION> part seems to be there because they copied the boiler plate ...
> We cannot judge their intent.


Probably we can't; I think this means that you should ask them to explain their intent (preferably in a public statement). In corner cases the interpretation may render their package nonfree (for example, if they prohibit using names of users' organizations to endorse users' own products).

> This link should always have the newest changes:
>
> https://sourceforge.net/p/nmr-relax/code/ci/master/tarball


This doesn't work for me very well: first, it says "we have problems with finding this tarball" and shows a button "request a snapshot again", when I push it, it says "Generating snapshot..." without any further result.

Ineiev <ineiev>
Site AdministratorIn charge of this item.
Sun 03 Sep 2017 01:33:21 PM UTC, comment #11:

Note the latest relax code is mirrored - for backup purposes - in three different locations:

https://sourceforge.net/p/nmr-relax/code/ci/master/tree/
https://github.com/nmr-relax/relax
https://gitlab.com/nmr-relax/relax

The main branch from which all releases are tagged is 'master'.

Edward d'Auvergne <bugman>
Sun 03 Sep 2017 01:28:30 PM UTC, comment #10:

>> ... a numdifftools README added.


> This is not sufficient, all files should have notices (and the license isn't clear itself: what is <ORGANIZATION>?)


README files have now been placed in all directories listing the copyrights. Note this is a direct bundling of the numdifftools package from:

https://pypi.python.org/pypi/Numdifftools

Specifically the old 0.6 version which we have extensively tested. We may update this in the future, hence the placement into README files and not in the source files themselves. The <ORGANIZATION> part seems to be there because they copied the boiler plate 3-clause new BSD licence and didn't change this text:

https://en.wikipedia.org/wiki/BSD_licenses#3-clause_license_.28.22BSD_License_2.0.22.2C_.22Revised_BSD_License.22.2C_.22New_BSD_License.22.2C_or_.22Modified_BSD_License.22.29

This text is still in their newest version:

https://github.com/pbrod/numdifftools/blob/05fd7d190837ba78b415338eb5b0f0bae411960b/LICENSE.txt

I do not believe we have the right to change their licencing text, even though this is clearly an 'error'? We cannot judge their intent.

> Also, could you provide the resulting tarball?


This link should always have the newest changes:

https://sourceforge.net/p/nmr-relax/code/ci/master/tarball

Edward d'Auvergne <bugman>
Sun 03 Sep 2017 11:36:35 AM UTC, comment #9:

> ... a numdifftools README added.


This is not sufficient, all files should have notices (and the license isn't clear itself: what is <ORGANIZATION>?)

Also, could you provide the resulting tarball?

Thank you!

Ineiev <ineiev>
Site AdministratorIn charge of this item.
Thu 31 Aug 2017 09:44:55 AM UTC, comment #8:

&gt; Thank you, great work!
&gt;
&gt; Unfortunately, some issues still need resolving.
&gt;
&gt; Licensing of some files in extern/ is not very clear,
&gt; for example, extern/sobol/sobol_lib.py has no copyright notices,
&gt; and it could have more unambiguous license notice;
&gt; extern/sobol/test.py has no notices at all.

The Sobol package is fixed and a numdifftools README added.

&gt; Images like graphics/screenshots/dispersion_analysis/disp_64_N.eps.gz
&gt; and docs/latex/images/pec_diag.eps suggest they were exported from GIMP
&gt; or created with gnuplot, so your users would have to provide
&gt; the source code for those files.

These are mostly found in the test_suite/shared_data directories, and pointed to in the manual as these are used for student tutorials. For example disp_64_N.eps.gz is used at:

http://www.nmr-relax.com/manual/Dispersion_GUI_mode_inspection_of_the_results.html

This is a section from:

http://www.nmr-relax.com/manual/The_relaxation_dispersion_auto_analysis_in_the_GUI.html

And the data, distributed with relax, to load and auto-generate this graph is referenced at:

http://www.nmr-relax.com/manual/Dispersion_GUI_mode_loading_the_data.html

where it says &quot;In this tutorial, the Sparky formatted peak lists in the test_suite/shared_data/dispersion/Hansen/500_MHz and test_suite/shared_data/dispersion/Hansen/800_MHz directories will be loaded.&quot; This is the base data for relax for generating the plots.

The docs/latex/images/pec_diag.eps diagram is different in that it was plotted in Mathematica. The base data generation was considered so trivial that the ~5 line script and 1-2 line Mathematica notebook was not kept. I have recreated a small relax script to quickly regenerate the data.

&gt; Likewise, graphics/screenshots/noe_analysis/grace.svg seems generated
&gt; from a different source.

Such plots should have had the base plotting files added. I'm not sure why some were missed. This example is now included.

In addition, the Xmgrace plot file for graphics/screenshots/xmgrace_peak_intensities.agr has been added as well. As far as I can tell, everything else is either in test_suite/shared_data/ or the original sources are there. Since the start of the project, we have made a lot of effort to obtain all original sources to include within the relax distribution. Any discrepancies are by accident.

&gt; Then, the documentation has some terminological inconsistencies:
&gt; in files like docs/latex/develop.tex the operating system sometimes is
&gt; called &quot;Linux&quot; rather than &quot;GNU/Linux&quot;; also, some TeX files speak
&gt; about &quot;open source&quot;; Savannah supports
&gt; free software.

Our intent was to use &quot;GNU/Linux&quot;, and most references use this. This is now updated. All other references are either non-mutable quotes, old commit messages, or the index reference back to &quot;GNU/Linux&quot;.

We have also switched all &quot;open source&quot; references, excluding the non-mutable ones, with &quot;free sofware&quot;.

Edward d'Auvergne <bugman>
Thu 31 Aug 2017 07:36:06 AM UTC, comment #7:

Thank you, great work!

Unfortunately, some issues still need resolving.

Licensing of some files in extern/ is not very clear,
for example, extern/sobol/sobol_lib.py has no copyright notices,
and it could have more unambiguous license notice;
extern/sobol/test.py has no notices at all.

Images like graphics/screenshots/dispersion_analysis/disp_64_N.eps.gz
and docs/latex/images/pec_diag.eps suggest they were exported from GIMP
or created with gnuplot, so your users would have to provide
the source code for those files.

Likewise, graphics/screenshots/noe_analysis/grace.svg seems generated
from a different source.

Then, the documentation has some terminological inconsistencies:
in files like docs/latex/develop.tex the operating system sometimes is
called "Linux" rather than "GNU/Linux"; also, some TeX files speak
about "open source"; Savannah supports
free software.

Ineiev <ineiev>
Site AdministratorIn charge of this item.
Mon 28 Aug 2017 09:36:28 AM UTC, comment #6:

After a lot of work - the svn to git migration while preserving all branch and non-standard trunk history, as well as the process of adding valid license and copyright notices to all files was brutal - this is now ready:

https://sourceforge.net/p/nmr-relax/code/ci/master/tarball

Cheers! For the copyrights, I developed a FSF copyright notice compliance checking script to check all files tracked in the repository. This script should help keep all copyright notices compliant in the future.

Edward d'Auvergne <bugman>
Thu 01 Jun 2017 07:50:33 AM UTC, comment #5:

Please let us know when a fixed tarball is ready.

Ineiev <ineiev>
Site AdministratorIn charge of this item.
Wed 31 May 2017 08:05:19 PM UTC, comment #4:

No problem. I'm in the process of trying to convert the old svn repository to git, preserving history, and if successful I'll make the changes in the new git repository (which will hopefully be hosted here).

Edward d'Auvergne <bugman>
Wed 31 May 2017 03:22:36 PM UTC, comment #3:

All nontrivial files, including changelogs and images, should have valid license and copyright notices; some files e.g. in docs/ and graphics/ have not.

Could you fix that?

Ineiev <ineiev>
Site AdministratorIn charge of this item.
Tue 30 May 2017 08:53:27 AM UTC, comment #2:

We are in the process of looking at a svn to git migration, or uploading the last good backup of the svn backend before the unfortunate Gna! shutdown. We will probably post an archive of the SVN repository to https://sourceforge.net/projects/nmr-relax/, as the Gna! servers, where the files were attached, are gone for good. We also have mirrors of our distribution files, for example the last release at https://sourceforge.net/projects/nmr-relax/files/4.0.3/.

Edward d'Auvergne <bugman>
Tue 30 May 2017 08:43:57 AM UTC, comment #1:

I can't download the tarball; could you attach it in a comment?

Ineiev <ineiev>
Site AdministratorIn charge of this item.
Mon 29 May 2017 09:28:33 AM UTC, original submission:

A new project has been registered at Savannah
This project account will remain inactive until a site admin approves or discards the registration.

Registration Administration

While this item will be useful to track the registration process, approving or discarding the registration must be done using the specific Group Administration page, accessible only to site administrators, effectively logged as site administrators (superuser):

Registration Details

  • Name: relax
  • System Name: relax
  • Type: non-GNU software and documentation
  • License: GNU General Public License v3 or later

Description:

The software package 'relax' is designed for the study of molecular dynamics through the analysis of experimental NMR data. Organic molecules, proteins, RNA, DNA, sugars, and other biomolecules are all supported. It supports exponential curve fitting for the calculation of the R1 and R2 relaxation rates, calculation of the NOE, reduced spectral density mapping, the Lipari and Szabo model-free analysis, study of domain motions via the N-state model and frame order dynamics theories using anisotropic NMR parameters such as RDCs and PCSs, the investigation of stereochemistry in dynamic ensembles, and the analysis of relaxation dispersion data.

Other Software Required:

Python, Python Software Foundation License, https://www.python.org/

numpy, BSD licence, http://www.numpy.org/

Optional dependencies listed at https://web.archive.org/web/20161104044122/http://www.nmr-relax.com:80/download.html#Dependencies

Other Comments:

This is an attempt to migrate from http://gna.org/projects/relax :S

Tarball URL:

http://download.gna.org/relax/relax-4.0.3.src.tar.bz2

Edward d'Auvergne <bugman>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by ineiev (Posted a comment)
  • -unavailable- added by bugman (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 3 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Wed 31 May 2017 03:22:36 PM UTCineievStatusNeed Info=>In Progress
    Tue 30 May 2017 08:43:57 AM UTCineievStatusNone=>Need Info
      Assigned toNone=>ineiev

    Back to the top


    Powered by Savane 3.1-cleanup1