I Want My GPL
James DeLong muses about Google’s motivation for cutting a deal with Sun, speculating that Google may be contemplating a switch to Solaris to avoid the obligations of the forthcoming GPL 3.0.
This is (to be euphemistic) a silly theory:
DeLong is misunderstanding what’s meant by “web services” in this context. The term doesn’t refer to Google’s human-accessible services like its search engine and email service. Rather, it refers to “services” made available to software. Google does offer those kinds of services through the Google APIs but at the moment those are a minor part of the company’s business.
Even if the GPL is changed to require disclosure of the source code for web services (and there are good reasons to think it won’t be) it’s unlikely that it would require disclosure of the source code for the OS a web service is running on. The idea of requiring disclosure of the code for web services is to prevent people from doing an end-run around the GPL by transforming their software libraries into web services, it’s not to compel disclosure of all GPLed source code on the machine on which the service runs.
Even if GPL 3.0 requires disclosure of OS source code (which is, again, extremely unlikely) there will almost certainly continue to be one or more Linux distributions distributed under GPL 2.0. Keep in mind that many of the geeks who write and maintain GPLed code have day jobs where they use that code in commercial software. It would be an enormous headache if they were all required to release every bit of source code as soon as they put up a web site. One imagines there are enough of those that a GPL 2 version of the Linux kernel would continue to be actively developed, and Google could continue using that.
Even if no one forks the Linux kernel to keep a GPL 2.0 version, Google could continue using and modifying its version of Linux indefinitely. In fact, it’s likely that they’re largely doing that already. Google’s version of the Linux kernel is likely heavily modified enough that they’ve probably got full-time kernel hackers working on it already. If they hired a few more they could probably get along reasonably well without a lot of help from the external Linux community.
If Google decided it needed to ditch Linux (which is, again, very very unlikely) the company has lots of other options. FreeBSD, OpenBSD, and NetBSD are all Unix-like operating systems that use a “BSD style” license, which has no requirements that code be disclosed. Apple’s Darwin is another Unix-like, open-source operating system. It too, uses a “BSD style” license. Google could easily switch to any of those operating systems without needing to cozy up to Sun.
And finally, I think DeLong overestimates the market value of Google’s modifications to the Linux kernel. Whatever they are, they’re likely highly customized for Google’s particular environment, and hence would not be useful to others without additional work. And the real value of Google’s search engine is the search engine code itself, which is doubtless not part of the operating system and not under the GPL. More likely than not, one of the big reasons they haven’t released their source code is that it would take a lot of work to get it to the point where anyone else would find it useful.