What a mess. On the one hand, it is good practice to include the versions of any dependencies you rely on in a release (as your product may not be compatible with later versions). On the other hand, Trimble may feel that distributing their .dll files is okay while distributing those other parts of the SDK is not okay. Furthering the “informal” guidance, the Developers’ Guidelines say this:
That’s for extensions, of course, but it takes note of the fact that some things won’t run without additional libraries that they are saying you must supply or instruct the user on how to get them.
Now, all of this is already on the honor system as far as non-developer end users go. That is, if we developers are authorized to redistribute the C API library files, that does not mean our customers are authorized to do so. Might be wise to tell those customers that they have an unlimited license to use and sell what they bought from us, but not to copy it and, in particular, not to distribute or make other use of any libraries in the product they bought from us. But good luck enforcing that last part.
So the same thing applies here. If we use GitHub do distribute the same files we would otherwise distribute in, say, a .zip file, we can put the same restriction in our licenses in the GitHub repo. For example, we could say, “All files in the API directory are copyright Trimble and may not be distributed by you to anyone else. The rest of this stuff is licensed as per the MIT [or whatever] license.” Again, good luck enforcing that.
Now, without getting technical, I’ll just say there are other reasons to put the SDK behind a login wall and limit it to authorized developers than just wanting to control who gets a copy and who doesn’t. Some of those have to do with preserving your ownership rights. There are others beyond that. Nevertheless, if we can get a clear statement from Trimble’s legal department (and I would quite understand it that other employees are not supposed to be giving legal advice), that would settle it.
Good move. Maybe he can help us make contact with Trimble’s lawyers.
Thing is, Trimble clearly wants us to use their materials and to create products we distribute. It’s in their corporate interests for obvious reasons. But lawyers are often one of two kinds: those who understand the business interests of their clients, and those that just play it safe (and tend to say “no” to everything).
We’ll just have to wait and see what they are willing to do.