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

Redmond goes for deep-cleanse

Top 5 reasons to deploy VMware with Tegile

“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.

Providing a secure and efficient Helpdesk

Next page: Other Build news

More from The Register

next story
Preview redux: Microsoft ships new Windows 10 build with 7,000 changes
Latest bleeding-edge bits borrow Action Center from Windows Phone
Google opens Inbox – email for people too thick to handle email
Print this article out and give it to someone tech-y if you get stuck
Microsoft promises Windows 10 will mean two-factor auth for all
Sneak peek at security features Redmond's baking into new OS
UNIX greybeards threaten Debian fork over systemd plan
'Veteran Unix Admins' fear desktop emphasis is betraying open source
Google+ goes TITSUP. But WHO knew? How long? Anyone ... Hello ...
Wobbly Gmail, Contacts, Calendar on the other hand ...
DEATH by PowerPoint: Microsoft warns of 0-day attack hidden in slides
Might put out patch in update, might chuck it out sooner
Redmond top man Satya Nadella: 'Microsoft LOVES Linux'
Open-source 'love' fairly runneth over at cloud event
prev story


Cloud and hybrid-cloud data protection for VMware
Learn how quick and easy it is to configure backups and perform restores for VMware environments.
A strategic approach to identity relationship management
ForgeRock commissioned Forrester to evaluate companies’ IAM practices and requirements when it comes to customer-facing scenarios versus employee-facing ones.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?
Three 1TB solid state scorchers up for grabs
Big SSDs can be expensive but think big and think free because you could be the lucky winner of one of three 1TB Samsung SSD 840 EVO drives that we’re giving away worth over £300 apiece.
Security for virtualized datacentres
Legacy security solutions are inefficient due to the architectural differences between physical and virtual environments.