Feeds

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

Redmond goes for deep-cleanse

Security and trust: The backbone of doing business over the internet

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

Security and trust: The backbone of doing business over the internet

Next page: Other Build news

More from The Register

next story
New 'Cosmos' browser surfs the net by TXT alone
No data plan? No WiFi? No worries ... except sluggish download speed
'Windows 9' LEAK: Microsoft's playing catchup with Linux
Multiple desktops and live tiles in restored Start button star in new vids
iOS 8 release: WebGL now runs everywhere. Hurrah for 3D graphics!
HTML 5's pretty neat ... when your browser supports it
Mathematica hits the Web
Wolfram embraces the cloud, promies private cloud cut of its number-cruncher
Google extends app refund window to two hours
You now have 120 minutes to finish that game instead of 15
Intel: Hey, enterprises, drop everything and DO HADOOP
Big Data analytics projected to run on more servers than any other app
Mozilla shutters Labs, tells nobody it's been dead for five months
Staffer's blog reveals all as projects languish on GitHub
SUSE Linux owner Attachmate gobbled by Micro Focus for $2.3bn
Merger will lead to mainframe and COBOL powerhouse
iOS 8 Healthkit gets a bug SO Apple KILLS it. That's real healthcare!
Not fit for purpose on day of launch, says Cupertino
prev story

Whitepapers

Providing a secure and efficient Helpdesk
A single remote control platform for user support is be key to providing an efficient helpdesk. Retain full control over the way in which screen and keystroke data is transmitted.
WIN a very cool portable ZX Spectrum
Win a one-off portable Spectrum built by legendary hardware hacker Ben Heck
Saudi Petroleum chooses Tegile storage solution
A storage solution that addresses company growth and performance for business-critical applications of caseware archive and search along with other key operational systems.
Protecting users from Firesheep and other Sidejacking attacks with SSL
Discussing the vulnerabilities inherent in Wi-Fi networks, and how using TLS/SSL for your entire site will assure security.
Security for virtualized datacentres
Legacy security solutions are inefficient due to the architectural differences between physical and virtual environments.