GCC: Bringing More Open Source Software to IBM i
October 14, 2015 Alex Woodie
One of the more interesting parts of last week’s IBM i announcements (if easily overlooked) was the introduction of the GNU Compiler Collection (GCC) to the platform. As IBM‘s product manager for the IBM i explained last week, the addition of GCC essentially opens the door to bringing a wide range of open source packaged applications to the IBM i environment, and provides a key building block for IBM moving forward.
During his October 5 webcast on the COMMON Europe website (which you can view below), IBM i product manager Tim Rowe discussed the importance of open source software to IBM i, and what it means for the platform’s future.
“One of the things we’ve been focused on is the development and delivery of the necessary environments and ecosystems in the open source community that are needed in today’s world,” Rowe said, citing the December delivery of Node.js and the official support for Python delivered earlier this year.
IBM i shops that wanted Node.js and Python capabilities could get them through a new licensed program offering (LPO), called Open Source for IBM i (or 5733-OPS) that IBM created. The first two options were for Node.js and Python.
With last week’s TR announcement, it’s added a third one for GCC. To understand the significance of this, you need a little background. GCC was originally developed in 1984 by Richard Stallman, who wanted a free C compiler for early Sun and DEC VAX Systems running the GNU operating system. As the package took off in popularity and others in the open source community extended it to other languages and platforms, its name was changed to GNU Compiler Collection.
During the 1990s and 2000s, as Linux rose in prominence, GCC became an important tool for open source software developers. The software was extended to support other Unix-like computer operating systems, like Linux itself and the BSD family; other processor architectures, including Power-PC, Itanium, and SPARC; as well as other languages, like Fortran, Object-C, Ada, and Java.
IBM has included the GCC in its various developer tools for over a decade. And last week it announced that it’s bringing GCC to IBM i for the first time with the November delivery of IBM i 7.1 Technology Refresh 11 and IBM i 7.1 TR3.
As Rowe explained, getting GCC on the platform will greatly open up the number and the type of open source applications that IBM i shops can run on the platform, and does so in a more controlled manner than before. Rowe said:
“We figured out ways to get open source software running on the platform. However, the packages don’t always play nicely. In particular, open source software designed to be compiled by GCC–which has become the de facto industry standard–doesn’t always compile nicely under the XLC compiler, which has been IBM’s approved method for getting open source software to run on the Power chip under the PASE AIX runtime.
“The IBM PASE environment has had a C compiler [called the XLC compiler],” he says. “It’s been there forever. It actually works incredibly well. It’s created specifically for the Power processor and if you’re writing native C code and running it on i, it’s obviously the best choice because that’s what’s going to allow your code to work in an optimal way.
“But in the open source world, the compiler that’s actually leveraged â€¦ is this GCC compiler,” Rowe continues. “And so if you’re trying to take code that was designed for GCC and compile it in XLC–well sometimes it doesn’t play as nicely as you’d like it to.
“So by putting GCC out there and making it available, it’s now simplifying that process both for us, IBM, as well as you,” he says. “If you have additional open source packaging that you want to leverage, the GCC environment will make the process of putting it on IBM i significantly simpler.”
In addition to the various compilers that GCC brings to the IBM i table, it also includes a host of open source utilities designed to help programmers automate day-to-day activities–things like CRON and GIT and Bash and Z-Lib. See figure 3 for the full list.
“We’re very excited about this,” Rowe says. “We’ve been working on this with a beta with a couple people for a while. We think we have a pretty solid set [of products]. This is something that will continue to evolve and change on a regular basis as is normal in the open source world. The open source world is not something that’s very stagnant, and so I don’t expect this” to be stagnant either.
Watch the complete COMMON Europe webcast: .