Skip to content

License of the project as a whole is GPL-3+ #2752

@jasp00

Description

@jasp00
Member

The following files are licensed under GPL-3+:

plugins/flp_import/unrtf/*

Files are included in plugins/flp_import/unrtf.cpp. This commit changed the license: 98371cb

plugins/LadspaEffect/swh/vocoder_1337.c

This one is being handled in #2366.

plugins/zynaddsubfx/zynaddsubfx/src/Nio/AlsaEngine.cpp
plugins/zynaddsubfx/zynaddsubfx/src/Nio/AlsaEngine.h
plugins/zynaddsubfx/zynaddsubfx/src/Nio/JackEngine.cpp
plugins/zynaddsubfx/zynaddsubfx/src/Nio/JackEngine.h

These files are not enabled.

Activity

tresf

tresf commented on May 3, 2016

@tresf
Member

Good find.

Albeit obvious, stating that we should switch them to GPL2 to match the source license would put more definition around this task (and then explain who we have to contact to do so, etc.)

jasp00

jasp00 commented on May 4, 2016

@jasp00
MemberAuthor

Regarding unrtf, the first to contact is Dave Davey daved@physiol.usyd.edu.au. It looks like LMMS is using version 0.20.5, from 2008 (ftp://ftp.gnu.org/pub/gnu/unrtf/). Then, there is David Santinoli without contact information.

softrabbit

softrabbit commented on May 4, 2016

@softrabbit
Member

It looks like LMMS is using version 0.20.5, from 2008

And 0.20.3 (7 months earlier) is the last GPL2 version. Looks little only 4 of the files had real changes between 0.20.3 and 0.20.5, so downgrading might be feasible, too.

jasp00

jasp00 commented on May 5, 2016

@jasp00
MemberAuthor

According to plugins/zynaddsubfx/zynaddsubfx/README.txt, ZynAddSubFX is under GPL-2 only. In version 2.5.2, the four files listed above are under GPL-2 only. This would make LMMS undistributable as a whole; it could be distributed separately from the affected plugins.

fundamental

fundamental commented on May 5, 2016

@fundamental
Contributor

@jasp00 that file is out-of-date and the issue has been resolved upstream. I can dig up the mailing list post where the license was changed to GPLv2+ if you need me to.

jasp00

jasp00 commented on May 6, 2016

@jasp00
MemberAuthor

I see that version 2.5.4 is under GPLv2+. I am curious about the mailing list post; I have found this one from 2007, which makes little sense. But if upstream has gathered the necessary permissions, then it is all right.

fundamental

fundamental commented on May 6, 2016

@fundamental
Contributor

That's the post. At that stage in the project's history all commits were done by that author.

jasp00

jasp00 commented on May 6, 2016

@jasp00
MemberAuthor

Why later versions were released under GPLv2 only? In Debian, there is this information about ZynAddSubFX:

Files: *
Copyright:
 2002-2009 Nasca Octavian Paul <zynaddsubfx@yahoo.com>
 2006-2009 Lars Luthman
 2009-2010 Ryan Billing
 2009-2010 Mark McCurry
 2009 Harald Hvaal
License: GPL-2

(GPL-2 means GPLv2 only.) Did Lars Luthman, Ryan Billing and Harald Hvaal consent to the license change?

fundamental

fundamental commented on May 6, 2016

@fundamental
Contributor

Debian had the wrong license. After the license change to GPLv2+ there was some confusion due to how the license was changed within individual files and as such debian mislabeled the project.

jonassmedegaard

jonassmedegaard commented on May 6, 2016

@jonassmedegaard

Ignore the Debian info, then - that's just a reflection of actual copyright and licensing statements withing sourcecode itself.

The following files, in the sourcecode of zynaddsubfx as redistributed by Debian, has GPL-2 (without "...or later") as license:

src/DSP/AnalogFilter.cpp
src/DSP/AnalogFilter.h
src/DSP/FFTwrapper.cpp
src/DSP/FFTwrapper.h
src/DSP/Filter.cpp
src/DSP/Filter.h
src/DSP/FormantFilter.cpp
src/DSP/FormantFilter.h
src/DSP/SVFilter.cpp
src/DSP/SVFilter.h
src/DSP/Unison.cpp
src/DSP/Unison.h
src/Effects/Alienwah.cpp
src/Effects/Alienwah.h
src/Effects/Chorus.cpp
src/Effects/Chorus.h
src/Effects/Distorsion.cpp
src/Effects/Distorsion.h
src/Effects/DynamicFilter.cpp
src/Effects/DynamicFilter.h
src/Effects/Echo.cpp
src/Effects/Echo.h
src/Effects/Effect.cpp
src/Effects/Effect.h
src/Effects/EffectLFO.cpp
src/Effects/EffectLFO.h
src/Effects/EffectMgr.cpp
src/Effects/EffectMgr.h
src/Effects/EQ.cpp
src/Effects/EQ.h
src/Effects/Phaser.cpp
src/Effects/Phaser.h
src/Effects/Reverb.cpp
src/Effects/Reverb.h
src/globals.cpp
src/globals.h
src/main.cpp
src/Misc/Bank.cpp
src/Misc/Bank.h
src/Misc/Config.cpp
src/Misc/Config.h
src/Misc/Control.h
src/Misc/LASHClient.cpp
src/Misc/LASHClient.h
src/Misc/Master.cpp
src/Misc/Master.h
src/Misc/Microtonal.cpp
src/Misc/Microtonal.h
src/Misc/Part.cpp
src/Misc/Part.h
src/Misc/Recorder.cpp
src/Misc/Recorder.h
src/Misc/Stereo.cpp
src/Misc/Stereo.h
src/Misc/Util.cpp
src/Misc/Util.h
src/Misc/WaveShapeSmps.cpp
src/Misc/WaveShapeSmps.h
src/Misc/WavFile.cpp
src/Misc/WavFile.h
src/Misc/XMLwrapper.cpp
src/Misc/XMLwrapper.h
src/Nio/AlsaEngine.cpp
src/Nio/AlsaEngine.h
src/Nio/AudioOut.cpp
src/Nio/AudioOut.h
src/Nio/Engine.cpp
src/Nio/Engine.h
src/Nio/JackEngine.cpp
src/Nio/JackEngine.h
src/Nio/JackMultiEngine.cpp
src/Nio/JackMultiEngine.h
src/Nio/MidiIn.cpp
src/Nio/MidiIn.h
src/Nio/NulEngine.cpp
src/Nio/NulEngine.h
src/Nio/OssEngine.cpp
src/Nio/OssEngine.h
src/Nio/OssMultiEngine.cpp
src/Nio/OssMultiEngine.h
src/Nio/PaEngine.cpp
src/Nio/PaEngine.h
src/Nio/WavEngine.cpp
src/Nio/WavEngine.h
src/Output/DSSIaudiooutput.cpp
src/Output/DSSIaudiooutput.h
src/Params/ADnoteParameters.cpp
src/Params/ADnoteParameters.h
src/Params/Controller.cpp
src/Params/Controller.h
src/Params/EnvelopeParams.cpp
src/Params/EnvelopeParams.h
src/Params/FilterParams.cpp
src/Params/FilterParams.h
src/Params/LFOParams.cpp
src/Params/LFOParams.h
src/Params/PADnoteParameters.cpp
src/Params/PADnoteParameters.h
src/Params/PresetsArray.cpp
src/Params/PresetsArray.h
src/Params/Presets.cpp
src/Params/Presets.h
src/Params/PresetsStore.cpp
src/Params/PresetsStore.h
src/Params/SUBnoteParameters.cpp
src/Params/SUBnoteParameters.h
src/Synth/ADnote.cpp
src/Synth/ADnote.h
src/Synth/Envelope.cpp
src/Synth/Envelope.h
src/Synth/LFO.cpp
src/Synth/LFO.h
src/Synth/OscilGen.cpp
src/Synth/OscilGen.h
src/Synth/PADnote.cpp
src/Synth/PADnote.h
src/Synth/Resonance.cpp
src/Synth/Resonance.h
src/Synth/SUBnote.cpp
src/Synth/SUBnote.h
src/Synth/SynthNote.h
src/Tests/AdNoteTest.h
src/Tests/AllocatorTest.h
src/Tests/ControllerTest.h
src/Tests/EchoTest.h
src/Tests/MessageTest.h
src/Tests/MicrotonalTest.h
src/Tests/MiddlewareTest.h
src/Tests/MqTest.h
src/Tests/OscilGenTest.h
src/Tests/PadNoteTest.h
src/Tests/PluginTest.h
src/Tests/RandTest.h
src/Tests/RtAllocTest.h
src/Tests/SubNoteTest.h
src/Tests/UnisonTest.h
src/Tests/XMLwrapperTest.h
src/UI/guimain.cpp

fundamental

fundamental commented on May 6, 2016

@fundamental
Contributor

@jonassmedegaard Please notice the copyright and author fields associated with those files. This is nothing more than a collection of typos that originated at the original GPLv2->GPLv2+ change.

jonassmedegaard

jonassmedegaard commented on May 6, 2016

@jonassmedegaard

Quoting Mark McCurry (2016-05-06 04:05:40)

@jonassmedegaard Please notice the copyright and author fields
associated with those files. This is nothing more than a collection of
typos that originated at the original GPLv2->GPLv2+ change.

Please elaborate: What in particular should I notice about those
copyright holders, which makes the licenses of same files ignorable?

  • Jonas

  • Jonas Smedegaard - idealist & Internet-arkitekt

  • Tlf.: +45 40843136 Website: http://dr.jones.dk/

    [x] quote me freely [ ] ask before reusing [ ] keep private

fundamental

fundamental commented on May 6, 2016

@fundamental
Contributor

@jonassmedegaard The majority of those files have the copyright and author field assigned to Nasca Octavian Paul, i.e. the individual who performed the relicensing to GPLv2+ in 2007. This issue has been resolved upstream.

jonassmedegaard

jonassmedegaard commented on May 6, 2016

@jonassmedegaard

Quoting Mark McCurry (2016-05-06 14:18:34)

@jonassmedegaard The majority of those files have the copyright and
author field assigned to Nasca Octavian Paul, i.e. the individual who
performed the relicensing to GPLv2+ in 2007. This issue has been
resolved upstream.

URLs supporting that, please.

  • Jonas

  • Jonas Smedegaard - idealist & Internet-arkitekt

  • Tlf.: +45 40843136 Website: http://dr.jones.dk/

    [x] quote me freely [ ] ask before reusing [ ] keep private

fundamental

fundamental commented on May 6, 2016

@fundamental
Contributor

zynaddsubfx/zynaddsubfx@8a403ab

The license is GPLv2+.
Anything stating otherwise was an omission erroneously done at this commit, or a result of result of incorrect refactoring which occurred due to a transfer of maintainership years after this transition.
If you want to see the email to the public mailing list corresponding with this commit, please just look at the previous post in this issue's thread. At that point all license holders agreed on this change.

8 remaining items

tresf

tresf commented on May 8, 2016

@tresf
Member

The GPL2 requires that the interactive notice (About dialog) point to GPL2; the GPL3, to GPL3.

Then I vote we simply do that.

tresf

tresf commented on May 8, 2016

@tresf
Member

daved at physiol.usyd.edu.au now forwards to an unrelated email address, so no luck at all contacting the authors of the FL-import plugin.

tresf

tresf commented on May 9, 2016

@tresf
Member

daved at physiol.usyd.edu.au now forwards to an unrelated email address, so no luck at all contacting the authors of the FL-import plugin.

This statement is slightly incorrect, it's him, he's just not an LMMS author. How did this happen? It appears it was the cherry-picking of unrtf code which placed him in the codebase as an author. The unrtf project uses GPL3, so it was most likely the motivation of the change.

What does this mean for LMMS? We can choose to distribute with a mixed license, strip out the plugin entirely, or try to use the upstream library. Here's Dave's email response...

"I am certainly not an expert on licensing matters. I know that the current
sources are released under GPL v3. I don't think I have any ability to
give (or not) permission to use the code. My understanding is that the
license says it all."

"At first glance it does not look to me like that code is the most recent
release. There was quite a bit of work on unrtf last year with many
improvements and bug fixes. Since that time the code seems to have been
very stable. I've not seen a bug report for many months."

grejppi

grejppi commented on May 9, 2016

@grejppi
Contributor

I just tried importing NewStuff.flp from FL Studio 12.

The result looks nothing like it should.

  • Velocity of notes is zero or very close to it
  • Steps are completely jumbled
  • The import code does not support the new playlist
  • Instrument names are blank
  • Pattern names are only one letter long
  • There is no support for audio clips and automation clips in LMMS (they work in a different way in FL Studio anyway)

kuvakaappaus 2016-05-09 03-52-32

It is fine for projects made with old enough versions of FL Studio, but as the format evolves at Image-Line's whim, this feature is going to be less and less useful in the future.

In fact, if you ask me, I would be in favour of removing the FLP import feature altogether. The fewer unmaintained incomplete features, the better.

(Same goes for sample tracks tbqh)

tresf

tresf commented on May 9, 2016

@tresf
Member

@grejppi thanks, terrific feedback, much appreciated. 👍 from me.

liushuyu

liushuyu commented on May 9, 2016

@liushuyu
Member

In fact, if you ask me, I would be in favour of removing the FLP import feature altogether. The fewer unmaintained incomplete features, the better.

Or we can replace the implementation with a new one.

BTW, It should be noticed that MuseScore really does a good job at importing non-native project files.

jasp00

jasp00 commented on May 11, 2016

@jasp00
MemberAuthor

Perhaps unrtf is only used for comments (FLP_Text_CommentRTF) to set the project notes. That item could be removed or refactored to use the external unrtf application.

paulnasca

paulnasca commented on May 15, 2016

@paulnasca

Hi.
I feel that there are needed some clarification from me regarding ZynAddSubFX.
Initially, in 2002, I have decided to release it under "GPL v2" and only under that version.

But, by request, I have changed the license of ZynAddSubFX to "GPL v2 or later" (including GPL v3, of course) in 2007 (more exactly, in 9 sep 2007, GIT commit on sourceforge 8a403abf9b80484efcd3253f3e04f5697f5742d0). I forgot to update license on some files by then, sorry, my bad. Please consider my part of ZynAddSubFX as being under "GPL version 2 or later", which includes GPL version 3+.
Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @jonassmedegaard@paulnasca@fundamental@grejppi@Umcaruje

        Issue actions

          License of the project as a whole is GPL-3+ · Issue #2752 · LMMS/lmms