Dark Theme Rack (Legal Fundamental Module Fork possible?)

Hi @Vortico,

after I’ve been patching rack-v1 and the fundamentals modules for my personal usage of a dark theme I discovered https://github.com/VCVRack/Rack/issues/1663 where I also posted a comment. I understand your reasoning to reject this proposal. Nevertheless, I really love the dark theme stuff and I’m going to maintain a public fork for this of Rack https://github.com/schuster-rainer/Rack/tree/dark-theme.

I’m aware of the licensing and the non-derivative work on the graphics provided by Grayscale. At the moment I have a private mirror of the fundamentals where I pushed the changes you find in the screenshots.

My question is: What is necessary to legally maintain a dark-themed fork of fundamentals, where other users also can clone and build themselves or download releases? I don’t want to infringe … so I’ll do whatever is necessary to make it public if we have a common understanding and can agree on how this should work.

Best option for me would be to get permission from Grayscale for this kind of thing, because I’m really don’t have any interest in stealing his work or making his life miserable. I can understand if he doesn’t want this (Is he active on the forum btw.?).

So in case he disagrees … My guess would be to create custom panels for this. Now the question: Could I use the same layout and just create a custom design from scratch. Or would this be also derivative work? The layout is very simple and there seems to be a very thin line between derivative and own.

This is how the basic path looks like

And one with more customization for a red flavored LED Theme


Another question that popped up (Let’s just cite the current license for the graphics from https://github.com/VCVRack/Rack/blob/v1/LICENSE.md )

The **Component Library graphics** for Rack are copyright © 2019 [Grayscale](http://grayscale.info/) and licensed under [CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/).
Non-commercial use is allowed with appropriate credit and indication of the original license.
Commercial use is allowed only for plugins sold through the [VCV Library](https://vcvrack.com/plugins.html) or with a commercial license.
Email contact@vcvrack.com for more information about selling plugins through the VCV Library.

The **visual design of the Core modules** is copyright © 2019 [Grayscale](http://grayscale.info/) and licensed under [CC BY-NC-ND 4.0](https://creativecommons.org/licenses/by-nc-nd/4.0/).
Commercial use and derivative works are not allowed.

The **VCV logo and icon** are copyright © 2017 Andrew Belt and may not be used in derivative works.

The **"VCV" name** is trademarked and may not be used for unofficial products.
However, it is acceptable to use the phrase "for VCV Rack" for promotion of your Rack plugin.
For all other purposes, email contact@vcvrack.com

Does this also mean I would have to remove the vcv logo from the panels, and replace the icon?

The licenses of Core (https://github.com/VCVRack/Rack/blob/v1/LICENSE.md) and Fundamental (https://github.com/VCVRack/Fundamental/blob/v1/LICENSE.md) make this clear as day. The Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) license does not allow derivative works.

That’s what I’m asking about? Do you give me permission to do so? If yes. Fine. If no. What would be the obvious choice legal choice of having a public repo?. Like I said. I don’t plan on making trouble. I just want an easy way of creating a dark theme for the modules. If you give guys give me permission, I’d be happy. If not, I would have to create some resources on my own.

I would not derive any work from the svg. Positions come from the source code. I’m just asking, what is the propper way to have a public repo with a dark theme? (btw. I’m going to delete the fork in the meantime, as I didn’t get it right with the core modules. Sorry. My bad.

Could you agree on letting me have a dark-theme fork. Otherwise I’m gonna keep it private

Are you asking for a license exception? You’ll have to ask the copyright holder for that.

I couldn’t find his email Address on his website. I’m going to write an email to contact@vcvrack.com as this is the only email stated in the license.

I’m gonna rework the patches for rack excluding the graphics until this is cleared and create a new fork then. Deleted the old one and made a private mirror. Sorry If I didn’t get this right in the beginning.

VCV isn’t the license holder of the graphics. Could you at least spend 15 seconds reading the license before attempting to copy things? If you still can’t figure it out, hire a lawyer.

1 Like

Yes. I did. Thanks for the reminder.

The Component Library graphics for Rack are copyright © 2019 Grayscale and licensed under CC BY-NC 4.0. Non-commercial use is allowed with appropriate credit and indication of the original license.

The visual design of the Core modules is copyright © 2019 Grayscale and licensed under CC BY-NC-ND 4.0. Commercial use and derivative works are not allowed.

As you are the contractor for this work and his website doesn’t have an imprint or other website with an email address for contact, I though this is the obvious and easy choice to ask (because I know of all the drama that happened with BSD 3 stuff) and I clearly don’t wont to repeat this drama or cause more trouble. I’m just asking for the proper way to do it.

There is an email address on Grayscale’s website. It’s not hard to find.

Thanks. Found it, and wrote him. Nevertheless I’m going to create panels from scratch. So I don’t have to wait for his answer. I just follow the tutorial from the Panel Guide and create my own panel, material design style

1 Like

Hi Rainer,

why are you forking the entire application, and building the module layouts?

You could like i once did with Bogaudio, ask the developer/creator for permission to edit the SVG files. Then if granted permission you can publish those files in a repo at github, with only a zip file containing those files and instruction on how to replace the original ones etc.

While in the meantime keep on advocating and waiting patiently until the developer/creator chooses to make the theme part of their plugin?

Hope this helps, goodluck with the effort :slight_smile:

1 Like

Hey @theshoemaker thanks for asking about the right way to do something like this. Your dark theme looks good and I appreciate you taking the time to put this together. @vortico and I have already discussed adding a dark theme for VCV plugins (there’s a screenshot in this thread for example) and we might implement something like this one day for the Fundamentals and other modules.

Unfortunately as @vortico has mentioned the CC BY-NC-ND license does not allow derivative works. The VCV logo is also a registered trademark and shouldn’t be used without permission.

So I would prefer if you kept this repo private. Not only will it be redundant if we end up adding a dark theme for VCV modules eventually, but when you distribute this material to others it may appear that the material was created/supported/endorsed/approved by VCV. Personal use is not a problem of course. It’s only a problem when derivative material is shared with others. Others may take your material and use it in a commercial product for example. We have no way of enforcing that violation of the license if the material is located in a repo that we do not control. You will inherit numerous problems and responsibilities by using copyrighted material in this way.

As for recreating the module designs from scratch in your design software, using the original vector graphics from the SVGs and and the position data and so on is not the problem. The problem is whether the final product looks like the original design. Recreating copyrighted material from scratch – such as typing out a chapter of a book instead of copying and pasting it from a website – does not automatically give you unique rights to the original material. If the final product is substantially similar to the original then it’s probably still a derivative work.

Okay. So a private repo ist fine. Check. Thanks

So now the question is. What would be necessary to do in order to have a legal and non infringing fork? If I have to create my unique custom design from scratch … then I probably also have to touch the source code more to rearrange the inputs/outputs and params. Which is fine for me.

I wouldn’t mind doing this. I joust though it would be more honorable to mention where this all comes from and honor the design instead of completely changing it.

But if you guts feel better about this one. Then I’m going to maintain a complete different fork of the fundamentals and core with the proper attribution and a complete redesign applying some material design principals.

I just though it would be nice to get you guys on board and agree to something. Whatever I end up its gonna be legal, because I don’t want to scratch anyones work or have issues regarding this.

Thanks for taking the time responding. I’ll keep you guys posted, when I’m done with the redesign.

For example this one here is it really necessary to rearrange the ports?

1 Like

Bottom line here is that there probably isn’t a legal and compliant way to mod the core and fundamental panels and distribute them publicly in a way that keeps everyone happy. I imagine anything you might want to do would be considered derivative in some way.

1 Like

There is code and there are svg graphics under resources. The graphics are distributed under the mentioned CC. Which I won’t touch at all. I don’t even do derivative work. I don’t recreate something. I’m just going to use the gpl3 code and release it again as asked in the license.

Can’t be so difficult to maintain a fork of a open source project, if I do what is asked. I’l just going to create a panel from scratch. If the creators still think it’s derivative I’m also going to touch the positions of the ports and parameters and create a complete custom layout

Bottom line for me is why is this still a conversation? Bogaudio have done it, Count Modula, Impromptu, Stoermelder etc etc

People clearly appreciate the option, it’s not difficult, why can’t VCV do it?

You need to respect decisions of people who make a living out of this. I’m just going to ask what is necessary to have a legal fork with the features I like. And that is dark theme. That’s the beauty of open source. You can just fork and add. If the maintainer likes your work you can have it merged into main line. If they don’t like it I keep maintaining my fork.

Just thinking in another direction: How about a module which modifies the appearance of the modules of Fundamental and Core on the fly? No new panels and no derivative work, just replaced colors at runtime, maybe adjustable by user? Wouldn’t this be a way to avoid the licensing issues?
Don’t get me wrong, no way I will do such a thing as I’m happy with the panels how they are, but maybe someone wants to jump on it…


What would be necessary to do in order to have a legal and non infringing fork?

CC BY-NC-ND allows others to publish the original material if credit is given, if the usage is non-commercial, and if the original material is unchanged. This means there’s no way to publish a non-infringing fork if the design has been changed. Changing the design inherently violates the “ND” (No Derivatives) clause of the license.

But keep in mind that this license is only for the visual design of the Fundamental and Core plugins. The source code is licensed under GPL. So if you want to create alternative versions of the VCO or the ADSR or other modules, that’s acceptable. I would suggest making your derivatives as different from the originals as possible so that there is no confusion about their origins. This potential confusion is the primary reason why this license was chosen. Nobody should be using a third-party module (which might have bugs or design quality issues) and confuse it for being an official VCV module.

I’ll give an example of how to approach this in an acceptable way: AS SEQ-16. Obviously the layout is based on the Fundamental SEQ-3 but the module name, layout, functionality, and visual design (including the logo/branding) is clearly different. So even though it’s a derivative work on some level, there is no potential confusion about this being an official VCV module.


Bottom line for me is why is this still a conversation? Bogaudio have done it, Count Modula, Impromptu, Stoermelder etc etc

People clearly appreciate the option, it’s not difficult, why can’t VCV do it?

I appreciate the option too, see my link in my post above. The dark panels for Fundamental modules have already been designed. I actually started designing them years ago and have maintained a “shadow” version of each module as new additions to the Fundamental plugin have been made.

But that’s a separate issue from copyright/licensing questions. This is a technical platform-level decision for Andrew to make. He evaluated a “dark mode” proposal in this Github thread but ultimately rejected it. Although some developers have implemented this on their own, we probably won’t add dark themes for our modules until there is some type of universal standard for doing so at the platform level.

Bottom line for me is that if we’re not ready to release dark versions of our modules, other people should respect that. If the lighter theme is hard for someone to stare at for hours, they can make local changes for their own use, but should not insist on repackaging my work for public consumption when the terms of the license make it pretty clear that doing so is not allowed.