Feeds

Microsoft C# chief Hejlsberg: Our open-source Apache pick will clear the FUD

Redmond goes for deep-cleanse

Beginner's guide to SSL certificates

“Pushing that button was one of the more impactful clicks of my career,” says Microsoft’s C# lead architect Anders Hejlsberg. The click in question was made on stage at Microsoft’s Build conference in April, and its effect was to publish the .NET Compiler platform, codenamed Roslyn, as open source under the Apache 2.0 licence.

Roslyn is both the next generation compiler for C# and Visual Basic, and a set of APIs which enable deep integration with developer tools (like Visual Studio) for more powerful code recognition and refactoring.

Since Roslyn is the compiler for the forthcoming C# 6.0, does that mean C# itself is now an open source language? “Yes, absolutely,” says Hejlsberg.

C# 6.0 is expected in Visual Studio 2015, just released to the community as a technology preview.

This is sorta-open-source, of course. The language is open, but the Common Language Runtime (CLR) – the engine that runs the output – is not. An open-source C# 6.0 does not mean that Microsoft will be ceding control, since Microsoft approves everything that is committed, but anyone could fork the project and run it on Mono CLR (which is open source and works across platforms).

The C# chief insists that public contributions will be considered.

“We will apply the same metrics to the community that we apply to ourselves as we check in. We will treat community members like team members. People may create other forks, who knows what they will do? This is an Apache 2.0 licence so it allows you to do whatever you will, as long as you give attribution," he said.

“We feel that ultimately [outside contributions] will lead to a better outcome for C# and .NET, which in turn is a better outcome for Microsoft. I expect we’ll see a lot more community engagement, I think this will remove a lot of the FUD [Fear, Uncertainty and Doubt] that has been around over intellectual property rights or patents or whatever. It’s very clear what kind of licence this is, it’s a very permissive licence.”

Why the change of heart?

These statements will be seen by many as being rich coming from a Microsoftie. It is Redmond that is held responsible by many as being the originator of FUD on open source and Linux – particularly on licensing, patents, intellectual property and cost of ownership.

In the past, while Microsoft has formed partnerships with its one hand it has rattled the sabre with its other.

What is the reason for Microsoft’s new-found love for open source in its languages and frameworks? It may be a reaction to the decline of the Windows client, along with the “any device” strategy embraced by chief executive Satya Nadella. If there is no hope of keeping developers tied to Windows, the next best thing is to keep them hooked to C# and to frameworks that steer you toward Microsoft servers and cloud services. Open source C# makes it easier for companies like cross-platform specialist Xamarin to implement versions that run on other platforms.

Mono to adopt Microsoft's baby Roslyn

One of the consequences is that implementations of .NET and C# on other platforms will be more closely aligned with Microsoft’s release. GNOME co-founder Miguel de Icaza started the Mono project for C# on Linux and the Mac, and is now at Xamarin, which creates tools for compiling C# apps for iOS and Android. He appeared on stage with Hejlsberg at Build and will be adopting "Roslyn".

De Icaza and Xamarin are building a huge following, a fact evidenced by their upgrading to main-stage presenter at Microsoft's Build.

“They have already got it running, and it is my understanding that they will switch and make Roslyn their IDE engine, the thing that powers IntelliSense, refactoring and so forth,” says Hejlsberg.

Will C# now be identical on all these platforms? “The compiled result you are going to get will be identical. Mono is a different VM than the .NET VM, and Linux is a different operating system than Windows, and ultimately there will be differences, but they’re going to be minute,” Hejlsberg says.

Microsoft has not open-sourced the Common Language Runtime on which .NET code depends. However: “Mono’s VM, or Mono’s CLR, is open source, so there is a pure open-source stack now for the whole thing,” Hejlsberg says.

What is in C# 6.0? “I wouldn’t say that there are any huge features in C# 6.0. The team’s primary focus has been Roslyn,” says Hejlsberg.

The Roslyn compiler replaces the old compiler that was written in C++. “There is likely more than a billion lines of C# code out there; we want to be able to compile all of it,” he says.

However, there are new features, and you can find what is proposed on the Roslyn site. “One of the things we are considering for C# 6.0 is called primary constructors, the ability to parameterise your classes, and those become your constructor arguments, that allows you to write more succinct code,” says the Microsoft man.

Intelligent flash storage arrays

Next page: Other Build news

More from The Register

next story
Be real, Apple: In-app goodie grab games AREN'T FREE – EU
Cupertino stands down after Euro legal threats
Download alert: Nearly ALL top 100 Android, iOS paid apps hacked
Attack of the Clones? Yeah, but much, much scarier – report
You stupid BRICK! PCs running Avast AV can't handle Windows fixes
Fix issued, fingers pointed, forums in flames
Microsoft: Your Linux Docker containers are now OURS to command
New tool lets admins wrangle Linux apps from Windows
Bada-Bing! Mozilla flips Firefox to YAHOO! for search
Microsoft system will be the default for browser in US until 2020
Facebook, working on Facebook at Work, works on Facebook. At Work
You don't want your cat or drunk pics at the office
Soz, web devs: Google snatches its Wallet off the table
Killing off web service in 3 months... but app-happy bonkers are fine
prev story

Whitepapers

Why cloud backup?
Combining the latest advancements in disk-based backup with secure, integrated, cloud technologies offer organizations fast and assured recovery of their critical enterprise data.
Forging a new future with identity relationship management
Learn about ForgeRock's next generation IRM platform and how it is designed to empower CEOS's and enterprises to engage with consumers.
How to determine if cloud backup is right for your servers
Two key factors, technical feasibility and TCO economics, that backup and IT operations managers should consider when assessing cloud backup.
Reg Reader Research: SaaS based Email and Office Productivity Tools
Read this Reg reader report which provides advice and guidance for SMBs towards the use of SaaS based email and Office productivity tools.
Getting ahead of the compliance curve
Learn about new services that make it easy to discover and manage certificates across the enterprise and how to get ahead of the compliance curve.