IBM i Open Source Setup

A practical guide to setting up the open-source environment on IBM i — yum and the RPM packages, SSH and the editor workflow, and the conventions that separate an environment you trust from one you tolerate.

Read it the way you’d read a runbook: skip to whatever you’re stuck on, ignore the rest.

Get started View on GitHub


Who this is for

You administer or develop on an IBM i partition, and you want to install and use modern open-source software on it. Maybe you’ve already got yum working but you’re hitting CCSID weirdness; maybe you’ve got a partition with no SSH and you’ve been told you can’t bootstrap; maybe you’ve inherited a system where everything runs as QSECOFR and you’d like to fix that.

This guide assumes:

  • You can get to 5250 (whether through ACS, a third-party emulator, or tn5250).
  • You have ACS (Access Client Solutions) on your workstation.
  • You have *ALLOBJ authority, or someone who does is sitting next to you for the parts that need it.

You do not need to be an experienced UNIX/Linux administrator. The chapters explain the IBM i quirks where they come up.


Start here

The site is organized as a linear path, but each chapter stands alone:

  • The mental model — PASE vs ILE, /QOpenSys vs the rest of the IFS, library list vs $PATH. Three pages that prevent a thousand confusions.
  • Bootstrapping OSPM — installing yum itself. The ACS path, the no-SSH path (the original ftp + SQL recipe), and the dark-network case.
  • Package managers in 2026yum is what IBM i ships; dnf is an AIX thing. What that means for you, and the repos worth knowing about.
  • SSH and the VS Code workflow — enabling *SSHD, key setup, the Code for IBM i extension, and how to stop dropping into Qp2term.
  • CCSID sanity — 819, 1208, 65535, JOBCCSID, PASE_LANG, the attr and setccsid rituals.
  • Service users and authority — running daemons as something other than QSECOFR, *PUBLIC defaults, and /QOpenSys authority oddities.
  • PHP — Zend RPMs vs Seiden PHP+, and how to choose. Cross-links to the sibling toolkit guide.
  • Pythonpython3 from yum, virtualenvs, and the few gotchas that PASE adds.
  • Node.jsnodejs from yum, npm caveats, native modules, and the version conversation.
  • Git on IBM i — installation, identity, line endings, SSH keys, and the things that bite people on day one.
  • ODBC and PDO — short chapter; the long version lives in the PHP / PDO / ODBC toolkit guide.
  • What belongs in IBM i OSS — when to reach for yum install, when for a PTF, when for a licensed program product, when for RPG.
  • Reference — repos, links, troubleshooting, acknowledgments.

The four-quadrant mental model

The single most useful thing to internalize before you start installing things is that IBM i has two userlands and two filesystems-of-thinking, and they cross-cut:

  ILE (native side) PASE (AIX-style userland)
Lives in Libraries, *PGM / *MODULE / *SRVPGM objects /QOpenSys/pkgs/ and the rest of the IFS
Run by QSYS jobs, subsystems, library list PASE jobs, $PATH, environment files
Talks to DB2 via Embedded SQL, native I/O, RPG database ops ODBC, JDBC, ibm_db2, native shared libraries
Examples RPG, COBOL, CL, native SQL stored procedures yum, php, python, node, git, bash

Almost every IBM i open-source confusion can be traced to forgetting which quadrant you’re in. The mental model chapter walks through it in detail.


What this guide is not

  • Not a generic Linux tutorial. When yum, bash, or git work the way they do everywhere else, the guide says so and moves on.
  • Not a sales pitch for a particular vendor. Both Zend (Perforce) and Seiden Group make distributions worth running. The guide describes the trade-offs and lets you choose.
  • Not exhaustive. Where the IBM-published documentation is good — and increasingly it is — the guide links to it rather than duplicating it.

Where next

Start with The mental model if you’re new to the IBM i / PASE split, or jump straight to Bootstrapping OSPM if you already know that landscape and just need yum installed.