java/ source headers still say GPLv3, but LICENSE.txt declares MPL-2.0 for that directory

Author: camiloarizaCreated Sep 8, 2026Updated Sep 8, 2026

LICENSE.txt says:

See LICENSE-MPL.txt for all code in node/, osdep/, service/, and everywhere else except ext/ and nonfree/.

java/src/com/zerotier/sdk/ isn't under ext/ or nonfree/, so by that statement it's MPL-2.0. But 19 of the 22 .java files under that directory still carry the old per-file header:

 * ZeroTier One - Network Virtualization Everywhere
 * Copyright (C) 2011-2015  ZeroTier, Inc.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 ...

(checked at tag 1.16.2, commit fc5c3ec). The three that don't carry it: PathChecker.java, VirtualNetworkDNS.java, util/StringUtils.java — presumably added after the license change and never given a header at all, one way or the other.

A per-file header naming GPLv3 is normally read as controlling over a repo-wide LICENSE file, so as it stands these 19 files read as GPLv3-licensed regardless of what LICENSE.txt says for the directory — which matters for anyone trying to use this JNI binding under MPL-2.0 terms.

Would a header refresh to match LICENSE.txt (and headers added to the 3 files missing one) be welcome as a PR, or is the GPL header on those 19 intentional for some reason not reflected in LICENSE.txt?