November 30, 2024
a major roadblock
Given that I’m getting close to what seems like a proper release, it felt like it was probably long past time to think about how Rack’s more permissive open source license might interact with Unreal Engine’s requirements. It’s important because none of this works without my modifications to Rack itself, which means I have to package my version alongside the Unreal application. Neither makes sense without the other.
VCV Rack is licensed under GPLv3, which is a very permissive license with one fun quirk we’ll get to in a moment. So let’s just do a quick search in Unreal Engine’s End User License Agreement for “GPL”:

Oh, fuck. Fuck fuck fuck.
So what’s the problem with GPL? GPL is considered a “viral” open source license. The New Media Rights’ Open Source Licensing Guide puts it this way: “The GPL license is ‘viral,’ meaning any derivative work you create containing even the smallest portion of the previously GPL licensed software must also be licensed under the GPL license.” So, Epic doesn’t want Unreal mixing with GPL software because then Unreal itself must become GPL licensed. That’s not great for my purposes.
Honestly, I’m pretty devastated right now. I really should have considered this earlier, but I wasn’t even sure any of this was possible. I’ve been stumbling along excited that it works at all.
I must now consider my options. If I want to continue, I might need to rebuild the entire VR app in a more permissive engine like Godot, which is MIT licensed. While the thought of learning a new technology is always exciting, and I’m very curious how another engine might differ from Unreal, the prospect of starting over is really discouraging.