While your statement of 12(b)(6) is correct, I don't think your analysis of fact vs. law is deep enough.
The kinds of facts that court assumes to be true for a 12(b)(6) motion are that the defendant _did not_ sign a contract. The court assumes that the defendant _did_ use the software in a manner that violates the GPL.
However, determining that the GPL is an enforceable contract is a matter of _law_. That is not something that would be assumed to be true, and is a point that the court may make a decision on at this stage.
That is, the court _assumes_ the defendant violated the GPL, but still needed to come to the decision that the defendant _was not allowed_ to violate the GPL. From my brief reading, the court has made the determination that—if the alleged facts are true—the defendant was not allowed to violate the GPL.
The kinds of facts that court assumes to be true for a 12(b)(6) motion are that the defendant _did not_ sign a contract. The court assumes that the defendant _did_ use the software in a manner that violates the GPL.
However, determining that the GPL is an enforceable contract is a matter of _law_. That is not something that would be assumed to be true, and is a point that the court may make a decision on at this stage.
That is, the court _assumes_ the defendant violated the GPL, but still needed to come to the decision that the defendant _was not allowed_ to violate the GPL. From my brief reading, the court has made the determination that—if the alleged facts are true—the defendant was not allowed to violate the GPL.