Example answer to 2: Since source code is not an expression, it's a machine, it's not protected by copyright. Web pages clearly are. Therefore, Microsoft is fine and Third Voice is not. (Note this invalidates the GPL and all other software licenses, it's just an example answer.)

2. If your opinions about the correctness of the hypothetical actions above and the correctness of adding annotations to webpages a la Third Voice or crit.org differ, what is (are) the difference(s) (specified as carefully as possible) that causes one to be on the right side of the law/morality, and one to be on wrong side of the law/morality? (You may still have answers to this question if you think they are both right or wrong, but it will be easier to think about it if you think that only one is OK.)

1. Is Microsoft correct? (Odds are good this will need to be clarified before it can be properly answered; please do ask questions.)

Two questions I'd like answers to (and a reminder, this is an exploratory exercise, I've got answers in mind but they are not necessarily firm yet):

Microsoft releases Microsoft Linux with the kernal extensions necessary to load WinNT programs on top of this version of Linux. Microsoft does not distribute the original binary kernal, but instead make you aquire one yourself. By not distributing it they therefore do not fall under the GPL. Nonetheless, many open-source advocates chortle loudly, and demand that Microsoft ship them the source code of the kernal patch. Microsoft happily complies by sending them the original, pristine source code of the original Linux kernal they started with, state they never modified the kernal and therefore the patches, since they are not modifications of the kernal itself, but independent additions, do not have to be distributed because the patches are not covered under the GPL, but are covered under whatever license Microsoft sees fit.

When it comes time to compile the new kernal, the compiler loads both the original Linux kernal source, and the Microsoft patches, combining them in internal memory, and compiles the resulting program, automatically. This compiled product is special in another way; it compiles the Linux kernal as normal, binary indistinguishable from a kernal running on any other system, but produces a shell-kernal that wraps the Linux kernal and adds the hooks into the system that Microsoft wants added.

Other Microsoft programs take those hooks and do whatever they want, based on those new hooks into the kernal.

Obviously, then, they cannot simply modify the kernal in a conventional way. Instead, they create a patch system. The Linux kernal code is never changed; it gets placed in a directory and gets write-protected, and is inaccessible to the developers to make changes to. When the Microsoft programmer wants to add a hook, he opens his patching program and adds a line to the code. Note this patching function is invisible to the user, the developer just adds a line in his special editor. (It doesn't matter to me if he adds the patch by hand.)

Let us suppose that Microsoft wishes to embrace and extend the Linux kernal. I don't care what exactly they want to do with it, but they do not wish to share their code with anyone else. The Linux kernal is of course protected by the GPL, which ties a contract agreement to the fact that the GPL can use copyright law to deny you the right to use GPL-protected code. (That's key; if you want to modify the code, you must fulfill these obligations. If you do not modify and use the code, you do not need to fulfill the obligations.)

I've been claiming annotation is wrong for a number of reasons, and I know I'm not making myself perfectly clear. Part of the problem is that I'm triggering some pre-concieved notions... I'm not 'accusing' anybody of this, it's just a fact of life that such things happen and it's more my fault for not being more clear then anybody else. Since one of the things I'm deliberately trying to do is abstract these issues out and bring them all together, let's do an exercise. This is to explore people's opinions and try to figure out where we are all coming from, not to directly espouse an opinion. (I will, but later :-) )