Where is the Muse Sampler source code?

• Dec 28, 2022 - 01:18

The MuseScore 4 license says that the source code of all components must be distributed along with the software, but I can't find the source code of MuseSamplerCoreLib in the git repository. Can I receive a copy of the source code?


In reply to by oskarsveinsen

Sorry, I don't know who to contact, maybe Martin aka Tantatcrul would be able to point you in the correct direction. But I also know, you don't need Muse Sampler to run MuseScore. It's really completely separate, and that library is only needed for playback using Muse Sounds. If you don't download Muse Sounds, there is no libMuseSamplerCoreLib installed (well, maybe some sort of empty stub within the AppImage, that I cannot say).

In reply to by Marc Sabatella

Sorry, not true as stated. It all depends what you mean with MuseSampler. If you mean the part of MuseScore that talks to the MuseSounds libraries, that is certainly covered by the GPL version 3 that MuseScore adheres to. It is an extension to MuseScore that makes it possible to play MuseSounds. The Free Software Foundation, which is the creator of the GPL license, has the following to say on their Frequently Asked Questions page (https://www.gnu.org/licenses/gpl-faq.html#ModifiedJustBinary):

I want to distribute an extended version of a GPL-covered program in binary form. Is it enough to distribute the source for the original version? (#DistributeExtendedBinary)
No, you must supply the source code that corresponds to the binary. Corresponding source means the source from which users can rebuild the same binary.
Part of the idea of free software is that users should have access to the source code for the programs they use. Those using your version should have access to the source code for your version.

The missing part on GitHub the OP is referring to falls certainly under this category. Therefore upon request the source code must be made available. Not doing so would be a violation of the GPL license.

Note: this only regards the part of MuseScore that is talking to the MuseSounds component, not the MuseSounds component itself. If that was developed independently, the company has the right to keep it confidential.

In reply to by johnweigand

Not sure which statement you are referring to when you say something isn't true, but keep in mind, there are no lawyers present here, also no employees of Muse Group here. We're just ordinary users discussing things amongst ourselves. I do know that the Muse Group has researched this pretty thoroughly and knows much more about the specifics of the situation than anyone here.

I think what you might be misunderstanding is that Muse Sampler is a totally separate application (implemented as shared library, with an API that is open source). So, Muse Sampler is not an "extended version" of MuseScore. The code in MuseScore that interacts with the API is open source, but Muse Sampler itself is not.

In reply to by Marc Sabatella

Marc, it appears that we're on the same page regarding the open source character of the interface code to MuseSampler within MuseScore. Happy to hear it.

The problem is that, according to the OP, the code in MuseScore that interacts with the API is not present on the GitHub archive. There is a "hook", but it is left empty. The code itself is not there.

For clarity: I am only talking about the interface code to the API within MuseScore, not about Muse Sampler itself, which as you say is a separate application, not covered by the GPL. With "extended version" I meant MuseScore + interface code, not MuseScore + Muse Sampler.

Based on the above, would you agree that the interface code indeed belongs on the GitHub repository?

In reply to by johnweigand

It is simply false to state that "the code in MuseScore that interacts with the API is not present on the GitHub archive". Of course it is; the MuseScore binary couldn't be compiled from GitHub source otherwise. Again, Muse Sampler itself is not part of that, but the code that interacts with most certainly is. See for instance the files in https://github.com/musescore/MuseScore/tree/master/src/framework/musesa…, but also the various other files through the source tree that reference the Muse Sampler interfaces.

So, there is no such thing as "MuseScore + interface code". MuseScore contains the interface code, plain and simple. There is no separate version of MuseScore without that code, although it does appear that it can possibly be ifdef'ed out for those who wish to build a version incapable of interfacing with Muse Sampler. The quoted passage from the GPL isn't relevant here, since the interface code is not some sort of add-on - it's right there.

Do you still have an unanswered question? Please log in first to post your question.