Project Aims to Port .NET Framework to Power
March 16, 2022 Alex Woodie
IBM and its Red Hat subsidiary are working with Microsoft to port the .NET Framework to Power, IT Jungle has learned. The project has been underway for a while, and the first bits of beta code should be available for developers to play with later this year.
Ever since it released .NET Compiler Platform codenamed “Roslyn” at the Build conference in April 2014, which it followed up with the release of .NET Core back later that year, Microsoft has been courting the open source world with its flagship development environment. This represented a big shift in strategy for the Redmond, Washington software giant, which fought legal battles against Linux distributors and open source software for many years.
Despite its proprietary past, Microsoft is all about open source today – at least when it comes to development tools. In fact, the release of .NET Framework 4.8 in April 2019 was the last version of the framework as a proprietary offering. Today, everything associated with the framework has been open sourced. That includes what is today called .NET, which is composed of CoreFX, CoreCLR, and CLI (what used to be called .NET Core), and well as add-on components like the .NET Micro Framework and the .NET Compiler Platform, all of which are distributed under the MIT License. (It also uses an Apache license for some pieces of the sprawling framework.)
In addition to courting open source advocates, Microsoft has worked with hardware makers to get .NET running on non-X86-based systems. So far, two of the biggest non-X86 porting projects for .NET involved running on ARM, which was delivered with the release of .NET 5 in November 2020, and the work to get .NET running on the IBM mainframe, which was delivered with .NET 6 in November 2021.
The work to get ARM running in a Linux partition on the mainframe via Red Hat OpenShift is likely what led to the current program to get ARM running in a Linux/OpenShift partition on Power, according to Torbjörn Appehl, who is a Sweden-based contractor for IBM who works with ISVs in EMEA and who has been an IBM Champion for Power since 2016.
After viewing a YouTube video featuring IBM’s Ulrich Weigant about .NET running on the mainframe, Appehl reached out to IBM to learn more about the work it had done with Microsoft and Red Hat to port .NET to a containerized Linux/OpenShift environment running on System z. He was told that there was a similar program for Power.
“We found out there is a project going on to port .NET to Power,” Appehl tells IT Jungle. “Again, [it’s using] Linux Red Hat. But the goal is to get this running later this year with .NET 7, which will be the next version to run on Power.”
There have been various efforts to get .NET on Power before, including the Mono project, which was originally started back in 2011. In 2018, IBM i developer Calvin Buckley completed the work to get the Mono middleware running on AIX, which in turn enabled Mono to run on IBM i via the PASE AIX runtime.
However, the new project to run Mono natively on Power via Linux and OpenShift should bring more capabilities than what Mono can provide, Appehl says.
“There are still limitations” with Mono on IBM i, he says. “There are some things that don’t work. So Mono is limited. This [new project] is close to native as you can get.”
The fact that .NET will run in a containerized environment will bring some additional complexity for customers not accustomed to running containers, Appehl says. “It’s another layer,” he says, “but it’s how the rest of the world is living.”
The work to get .NET running on Power may be easier than what was required to get .NET on the Linux z/OS environment due to the requirement to support the mainframe’s big endian Linux environment. While Power previously supported only big endian environments, it is now “bi-endian” and supports both big endian as well little endian approaches. That should make it easier to port existing Linux application to Power, according to Jeff Scheel, IBM Linux on Power chief engineer.
“Numerous clients, software partners, and IBM’s own software developers have told us that porting their software to Power becomes simpler if the Linux environment on Power supports little endian mode, more closely matching the environment provided by Linux on x86,” Scheel wrote in a FAQ on the IBM website a few years back. “This new level of support will lower the barrier to entry for porting Linux on x86 software to Linux on Power.”
IT Jungle reached out to an IBM manager for comment on the .NET to Power project, but didn’t hear back at press time. Keep reading The Four Hundred for updates on this story.