Why should I store IBM-i Source in IFS rather than good old Source Files?

Storing IBM i source in the IFS instead of traditional source physical files (QxxSRC) isn’t just a “modern trend.” It fundamentally changes what you can do with your code, especially when you’re working in VS Code, Git, or building a modern DevOps workflow.

Here’s a clean, and admittedly opinionated, breakdown of why the IFS wins.

Why store IBM i source in the IFS?

1. True integration with modern tools

IFS files behave like normal text files, which means:

  • VS Code extensions (like Code for IBM i) work natively
  • Git works properly — diffs, merges, branches, history
  • CI/CD tools can read and manipulate source without conversion
  • You can use modern editors, linters, formatters, and automation
  • Source physical files were never designed for this ecosystem.

2. Remove the smelly 80‑column limitation

Old fashioned source files lock you into:

  • 80‑column records
  • Fixed-format quirks
  • Invisible trailing spaces
  • Line‑based editing constraints

Whereas IFS files are just… files. Long glorious personal computer style files. just like a word document, an email or a text file:

  • Unlimited width.  
  • UTF‑8.
  • No record boundaries. 
  • No weird truncation.

This alone is a productivity revolution for RPG, SQL, CL, and everything else.

3. Better version control

Git and other VCS tools expect real files, not database records. The Integrated File System gives you all these benefits: Clean diffs, Meaningful merges, Proper file history, Branching that actually works and No “record-level conflicts”.

Trying to Git‑manage source PF members is like trying to version-control a spreadsheet.

4. Easier automation & DevOps

Build pipelines, deployment scripts, and automated testing all become simpler when your source is in the IFS:

  • No need to copy members in/out of QSYS
  • Tools can run directly on the source
  • Build scripts can use standard file paths
  • Continuous integration becomes realistic

This is why nearly every modern IBM i DevOps toolchain assumes IFS‑based source.

5. Better developer experience

IFS source lets you:

  • Use VS Code as a real IDE
  • Use extensions like Code for IBM i, RPG LSP, CL LSP
  • Enjoy syntax highlighting, code folding, refactoring tools
  • Work with multiple files side‑by‑side
  • Search entire projects instantly

It feels like modern development because it is modern development.

6. IFS supports modern encoding & tooling

IFS supports:

  • UTF‑8
  • Long filenames
  • Nested directories
  • Symbolic links
  • Standard file permissions

Source PFs support… none of that!

7. Still fully compatible with IBM i compilers

This is the part many people misunderstand: IBM i compilers can compile directly from the IFS. You lose nothing. You gain everything.

RPG, CL, SQL, COBOL — all can be built from IFS paths using:

CRTBNDRPG SRCSTMF('/path/file.rpgle')

CRTRPGMOD SRCSTMF('/path/file.rpgle')

RUNSQLSTM SRCSTMF('/path/file.sql')

CRTBNDCL SRCSTMF('/path/file.clle')

When do source PFs still make sense?

There are a few niche cases:

  • Legacy shops with SEU‑only developers
  • Extremely old tooling that assumes QSYS
  • Shops with strict change‑management systems tied to members
  • Quick one‑off utilities where you don’t care about version control

But for any modern workflow, especially yours, the IFS is the clear winner.

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>