The problem is that the GPL has a clause in it about enforcing all code that runs in the same memory space and links to it as being GPL as well.
As with everything about the GPL, that only comes into play when the work is distributed. As long as you don’t distribute the code, that clause has no effect.
So then the question is if it’s possible to develop a piece of code that doesn’t legally derive from discourse but interoperable with it upon final installation upon the end user’s machine.
Obviously testing has to be done on the combined work, but if you don’t distribute the combination, and only send bug reports back up the chain, then you could still maintain that the developed code is not derivative. There’s a lot to be learned from the various reverse engineering cases in the last century as well. There a ways to document a thing, send the documentation to the engineering department that can then create similar things but not fall afoul of copyright issues. Since the GPL is entirely based on copyright, this principle comes into play:
This means it may be possible to create an interoperable work using clean room techniques that would allow the copyright issues to be void, and the GPL would only come into play when the code was actually integrated by the end user into the discourse code base. Again, the GPL only comes into play upon distribution of the work, therefore they can run the combined work on their server without violating the GPL.
That doesn’t mean that a sufficiently motivated team of lawyers couldn’t bankrupt the supposed violators anyway, but it still seems quite possible to fulfill the terms of the GPL and still create a plugin or other code modification that doesn’t need to be GPL in this very narrow set of circumstances.