Mono Comes to RPM, Making .NET on IBM i Even Easier
December 5, 2018 Alex Woodie
Here’s some good news for IBM i developers who want to develop using Microsoft’s .NET framework and tools: the Mono runtime for IBM i is now available via the RPM and Yum open source delivery method. Delivering Mono this way should make it even easier for IBM i developers to take advantage of the popular .NET tooling and runtime.
Jesse Gorzinski, IBM‘s business architect of open source technologies, broke the news on Thanksgiving Day. “#IBMi users have something to be thankful for today: .NET in RPM form! Yes, you can ‘yum install’ mono now, from @friedkiwi’s repo!!” Gorzinski wrote on Twitter, where his handle is @IBMJesseG.
Mono is an open source implementation of Microsoft’s .NET Framework. It includes a C# compiler and the Common Language Runtime (CLR), which allows .NET applications to run on non-Windows operating systems, including Linux, MacOS, BSD, AIX, and even video game consoles like Xbox and PlayStation.
The Mono Project officially ported Mono to IBM i earlier this year. The port involved getting an AIX version of Mono 5.12.0 running in PASE, the IBM i operating system’s AIX runtime. While the port was feature complete, the work done by the Mono community provided a “solid foundation” to get IBM i devs started and to give them something to build upon.
Developers have been free to download Mono directly from the Mono Project site for months. However, it’s not exactly clear which download gets them the IBM i functionality (the official download page offers versions for Linux, Windows, Docker, and MacOS; it’s not immediately clear where the AIX and IBM i versions are).
But that shouldn’t matter now that the Mono for IBM i software is available in the third-party repository section on BitBucket that Gorzinski set up earlier this year. That 3rd_PARTY _REPOS section provides a way for IBM i open source community members to share software via Yum that isn’t owned, managed, or supported by IBM, but which “have been inspected and the software generally seems to be built with IBM-approved conventions for existing well in the IBM-delivered open source ecosystem,” according to the Web page.
Two repositories have been approved by Gorzinski for inclusion in the 3rd_PARTY_REPOS section, and hence delivery via RPM and Yum. That includes the Mono for IBM i repository shared by @FriedKiwi (a.k.a. Yvan Janssens), and the “lynx-dev” repository, which is a text-only Web browser shared by Jack Woehr, the developer of Ublu.
IBM i developers can obtain either of the packages through any supported RPM method, including via the Yum GUI that’s now available in Access Client Solutions (ACS).
Yum and RPM were introduced to the IBM i community by IBM earlier this year with the goal of streamlining how IBM i developers obtain open source software. RPM and Yum are intended to eventually replace 5733-OPS, the licensed program option that IBM introduced in 2015 to distribute open source technology like Python, Git, Node.js, and others. (But, like many things in the IBM i world, 5733-OPS will likely continue breathing for a while before it’s officially killed off.)
RPM helps would-be open source users by automatically tracking all of the software dependencies required for open source software and making them available in one location. “It just lets you manage the open source packages in a sane manner,” Gorzinski told IT Jungle earlier this year.
Meanwhile, Yum takes RPM a step further by providing a GUI for RPM, which became available in ACS earlier this year. That Yum GUI in ACS gives IBM i developers a point-and-click experience for selecting and downloading new open source packages. Yum also keeps track what you already have installed. “It makes management of open source on IBM i much simpler,” Gorzinski said.