Why Microsoft might deliver 'R-as-a-service'

Now that Microsoft is supporting development of the R language, it could take the next step and deliver R as an Azure service -- without running afoul of the GPL

With word circulating that Microsoft is now becoming a supporter of the R language by way of the R Consortium, a new question arises: How will Microsoft continue to leverage a project that's under an open source license that even today's (putatively) kindler, gentler Microsoft flinches at?

Of all the options available to Microsoft -- and, for that matter, to any company with a commercial software product -- there's one avenue that makes sense. And it has the double benefit of complementing Microsoft's modern-day business model: Deliver R as a service.

One possibility, a clean-room rewrite of R under either commercial licensing or a more liberal open source license, has already been undertaken by analytics company Tibco. But the big downside of that, as InfoWorld's Matt Asay pointed out, is that it disconnects the project from the community that develops and contributes back to it. All changes made to the open source project would have to be tediously re-implemented by Microsoft.

It's not like Microsoft doesn't have the headcount to throw at such a project; after all, the folks in Redmond just completed an acquisition of a major commercial provider of R. But it's hard not to see it as a waste of energy better devoted to other things -- for instance, building closer integration between R and Microsoft's products.

How that might well happen, and without Microsoft having to make too many concessions to the GPL, was hinted at in a recent demonstration where Microsoft ran R side-by-side with SQL Server. By keeping R in its own process, the terms of the GPL can be respected, and Microsoft can integrate R into its own proprietary offerings.

To that end, what's to stop Microsoft from simply taking R and delivering it as a hosted service in Azure -- in essence, "R as a service?" This would allow remote integration with just about any client application or cloud service imaginable. The GPLv2 (used by R) doesn't expressly forbid such use; it's the Affero GPL that does. Barring a re-licensing of R under the AGPL, Microsoft would be free to take R's source and create any number of at-arm's-length services with it.

Implementing R-as-a-service would provide Azure users, and Microsoft users generally, with a way to leverage the language in a wide variety of contexts -- far more than just packaging R sidecar with desktop apps. It would also keep open a two-way channel of collaboration between Microsoft and other contributors to the R project, and that's something Microsoft, with its expanded emphasis on being taken seriously as a fair player in the open source world, shouldn't shirk if it can help it.