Microsoft and shipping OSS

time to read 3 min | 548 words

Jon Galloway presents an interesting point of view about why Microsoft can't ship open source code. Basically, it boils down to the fear that an Open Source project that is licensed under a permissive license will "aquire" a piece of code that originated from GPL code, thus infecting the rest of the code distributing with that project with the GPL license. The implications of which would cause either (A) windows itself to be GPLed, (B) tremendous costs for recalling and replacing the GPLed sections.

The example given is distibuting Paint.NET, where a GPL code found in it can be will cause a recall of Windows.

This sounds reasonable enough, on the surface, but I don't agree with this on a number of counts. I would like to point out that most OSS developers have at least basic understanding about what licenses, but that is actually beside the point.

It is far more important to consider the fact that the GPL applies to derived work only. Even assuming that the Paint.NET source code is found to contain GPLed bug, it has no implications on anything else in Windows. The worst case scenario would be that Paint.NET itself would be forced to become GPL, no other affect on anything else on Windows.

In fact, the GPL License explicitly allows this:

 In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

Jon goes on to point out that the implications of this:

Microsoft can release projects with source code on sites like SourceForge and CodePlex when the potential damage is low. The kinds of projects you'll see released as open source are generally good tools which will benefit developers, but wouldn't cause a major crisis if they had to be pulled. They can't, however, accept community contributions since they can't verify that the code is free of copyright / left restrictions.

Again, I disagree. Some projects are fairly chaotic in this manner (usually GPLed ones), and will accept any patch, and may incur this issue. (This is non issue for GPLed projects, although there is also the reverse issue here, but that is rarer) Most open source projects require that you would either explicitly transfer ownership of the code or that you would guarantee that you are adding your own code, and not some random code that you grabbed from somewhere.

This also completely ignore the fact that a valid response for GPL code found in your code is to remove the offending code and get on with your life. A possible response would be to release an update via Windows Update in such scenario.