Wiki

Clone wiki

opensource / Home

IBM i Open Source Aggregation

This is a publicly editable wiki. Please add links to categories below. This is for aggregating all things IBM i Open Source so we can easily find what is going on.

Table Of Contents

Larger Topics

Here you will find links to sub-pages in this wiki. New sub-pages are created when the topic extends beyond what can reasonably fit on this home page.

Open Source Delivered by IBM

IBM delivers open source software via the Yum package manager. Learn more at the official IBM repo.

IBM Requests For Enhancements (RFE)

The following are Requests For Enhancements (RFE) from the community for IBM i Open Source Software. Please go and review and vote.

Submitted via IBM's RFE: Click here for all PASE RFEs.

IBM i Open Source Repos (alphabetical, unmaintained list)

IBM i Open Source falls into two broad categories: PASE based, Linux-like software, and QSYS.LIB based, RPG-like software.

Name Description
activerecord-jdbcas400-adapter JRuby ActiveRecord DB2 for i Adapter
api2.py Helper modules for iSeriesPython, primarily to make working with IBM system APIs easier
appserver4rpg Application Server to make Java Components available for IBM i RPG programs, runs on IBM i or any other Java platform. Packaged with ArdGate to access any JDBC database using all native SQL interfaces from IBM i
base64 Base64 Encode/Decode for ILE RPG
bluepkg IBM i package manager [broken link]
Bob "Better Object Builder" build system for QSYS objects based on GNU Make
Brian Dietz -- AS/400-iSeries-i5 Freeware Page 16 or more utilities, many network-oriented including dsparp to display the ARP table
cartridge_info A SQL user defined table function to get the details for cartridges in a tape library
chgobjattr A utility to set the source attributes of an IBM i object.
COMMON COMMON Open Source Solutions
cpytoxlsf.py iSeriesPython utility to copy physical files to Excel workbooks
crtfrmstmf Compile source from IFS for commands that do not support stream files
crtmipgm Create Machine Interface Program
cvtrpgfree Automate conversion of fixed-format RPG to fully free-form
db2get Use DB2 to download files from the web
db2sock PASE DB2 CLI asynchronous API driver (libdb400.a)
db2util Goal is PASE DB2 CLI command line interface driver (libdb400.a).
docmd Allows you to process the same command across a group of objects [broken link]
FFEDIT Simple source code editor for IBM i [broken link]
FTP Guard FTP security for IBM i [broken link]
FTPCLNT FTP client for IBM i [broken link]
Giti Git client for 5250
ibm_db for Python API description for the driver
ibmi (Node.js) This library is an IBM i (AS400) client for Node. It is a port of the JTOpen for Java.
ibmichroot Chroot environment support on IBM i.
ibmidash Node.js dashboard web app demonstrating DB2 for i Service usage
ibmiperzl Before IBM i Chroot there was IBM i Perzl
IBMiProgTool GUI environment for navigating and managing files, both on IBM i and locally, with some IDE capabilities like a "block highlighting" editor and compilation commands
IBMiSqlScripts Tool for querying IBM i database files from local machine
IBMiSqlUpdate Tool for updating IBM i database files from local machine
ibmitoolkit PHP XMLSERVICE wrapper
iiesc IBM i external storage calculator
iipster iipster makes it easy to create web applications based on IBM i.
ILEditor Syntax-highlighting editor for ILE languages, implemented in .NET
ILEDocs Tool which helps software developers to document their programs in a convenient way
ILEUnit ILE unit testing framework
image_catalog_details A SQL user defined table function to get the details for an image catalog
iRPGEditor Graphical RPG source editor
iseries_python27 Source code for independent (non-IBM) port of Python to QSYS.LIB (see iSeriesPython) [broken link]
iSphere RDi plug-in with enhanced search and many other features.
iToolkit Generator A tool for generating iToolkit code based on RPG interfaces. Saves time!
iXMLService .Net XMLSERVICE wrapper
Java Toolbox for IBM i JTOpen wrapper by Edoardo Luppi
JSON webservices Providing a JSON webservice based on IBM i and Node.js
jt400.js Node.js connector for jt400.
loopback-connector-db2i LoopBack connector for DB2 for i (node.js v0.12) [discontinued, looking for maintainer]
loopback-connector-db2ibmi LoopBack connector
loopback-connector-ibmi LoopBack connector for DB2 for i (node.js v4) [based on loopback-connector-db2i]
lppedd/RPG Edoardo Luppi's RPG projects, mainly implementations of dynamic data structures (ArrayList, LinkedList, HashMap, HashSet)
lstffd List File Field Descriptions (LSTFFD)
machine_attributes A SQL user defined table function to get machine attributes like system type, system model number etc.
mama FastCGI tool starts/watches stand-alone web servers (starts Node.js applications, Python applications, etc.)
nodejs-idb-connector Production-ready Database driver/adapter for DB2 for i.
nodejs-idb-pconnector Promised-based Db2 Connector for IBM i. Built on top of nodejs-idb-connector.
nodejs IBM i Collaboration for Node.js
noxdb Not only XML. SQL, JSON and XML made easy for RPG on IBM i
openssl-patches IBM (Kevin Adler) provides info on how to apply patches for OpenSSL for IBM i
OSSILE The community project for OSS using ILE languages on IBM i
python-itoolkit Python XMLSERVICE adapter
python IBM i Collaboration for Python [broken link]
Relic Package Manager Package Manager for the ILE environment (QSYS.LIB) [broken link]
RPG for VSCode RPG syntax definition (to enable highlighting and code folding) for Visual Studio Code
RPG-Properties Easily read a .properties file in the IFS from an RPGLE program.
rpgdynarr RPG Dynamic Arrays
rpgle.vim Free (7.1) syntax highlight, folds, indent, etc. for RPGLE
rpglectags Create ctags compatible files for RPG/ILE, which can be used to quickly navigate source files
rpglefmt Format Free Form ILE RPG programs
rpglelint Lint ILE/RPG programs
rpgleman Download and install man pages for built-in functions, declaration keywords, control keywords, calculation operations and compiler directives in ILE RPG.
rpgleparser ANTLR v4 grammar for IBM's ILE RPG, capable of parsing both fixed- and free-format syntax
rpgmail RPG Mail
RpgMap A complete and versatile in-memory ordered key/value store for the modern RPG programming language
RPGUnit RPG unit testing framework
rtvcmdsrc RTVCMDSRC is a utility to recreate the source of a *CMD object.
rtvsqlsrc Retrieve the SQL source for a database object.
ruby-ibm_db Ruby DB2 for i adapter/driver
ruby-itoolkit Ruby XMLSERVICE adapter
ruby IBM i Collaboration for Ruby [broken link]
sails-db2fori Node.js DB2 for i adapter with a focus on Sails/Waterline.
scnmsgf Scan Message File (SCNMSGF)
SEUEXIT Exit program for SEU which demonstrates F7 and a user-written command ATTR which embeds 'colour coding' attribute bytes into the source (QSYS.LIB)
shellinabox IBM (Kevin Adler) provides info on Shell In A Box
SMS with Twilio Send SMS with Twilio from IBM i
SU Work with a QPGMR profile and Become QSECOFR (SU)
swift-itoolkit Swift interface over XMLSERVICE
system400 chroot safe system utility.
tn5250j 5250 terminal emulator implemented in Java
TOP New IBM i programming language written by Liam Allan [broken link]
Ublu Scripting language used to remotely manage IBM i machines from any Java-capable platform (e.g. Windows, Linux, Unix, other IBM i, etc.)
USRSPCOA RPG Open Access handler to allow User Space (*USRSPC) objects which contain input from IBM List APIs such as QUSLOBJ to be easily accessed with native IO.
utils-on-power A collection of utilities for the IBM i on power
vlang-rpg RPG SRVPGM (VLANG/VPHP), providing in-memory calling of RPG<memory>PHP, or any other scripting language implementing an ILE callback extension. Everything is controlled by RPG, thereby PHP or any PASE language is essentially a slave language to RPG
web5250 Extension of tn5250j project
xmlservice-rpg Base XMLSERVICE that all other language toolkits are built on
zipSeries A command line interface for the software zipSeries. Copy libraries / objects from one IBM i (f.k.a. iSeries or AS/400) to another running the same (or lower) release of the operating system as the source machine
ZLIB Port of the ZLIB code to allow build on IBM i with RELIC Package Manager. Source is from Open Source domain with some changes to allow install via the package manager

AIX Pages

  • Rosetta. Great for learning differences of AIX/PASE compared to Linux.

Collaboration

Sites to be aware of (alphabetical, unmaintained list)

  • API – my my - Excerpts and downloadable source code for Carsten Flensburg's "APIs by Example" articles
  • Club Seiden GitHub - IBM i PHP community put together by Alan Seiden
  • COMMON - Open Source resources [broken link]
  • corisoft - Open source utilities from Rory Hewitt
  • developerWorks, IBM i - IBM logs their IBM i open source efforts here.
  • FieldExit.com - Forum dedicated to real world examples for the IBM I with Source code examples and explanations from Bradley Stone
  • ibm-midrange - Stack Overflow Documentation [broken link]
  • iOpen - Many RPG/C open source tools from Bob Cozzi
  • iSeriesPython - Independent (non-IBM) port of Python to QSYS.LIB
  • JCRCMDS AS/400 UTILITIES - Open source RPG projects from Craig Rutledge
  • litmis.com - Many articles here from Aaron Bartell
  • mowyourlawn.com - Open source RPG projects from Aaron Bartell
  • opensourceoni.com - Open source resources for your i projects from Pete Helgren [broken link]
  • rpgnextgen.com - Open source RPG projects from Mihael Schmidt
  • scottklement.com - Open source RPG projects from Scott Klement
  • sobo.red - Blog with various IBM i Open Source articles by Josh Hall
  • taskforce-it - Open source from Frank Hildebrandt
  • think400 - Various utilities from various authors from Leif Guldbrand
  • TodoMVC - Helping you select an MV* framework
  • tools400 - Many freeware tools from Thomas Raddatz
  • youngiprofessionals.com - A lot of dated (but often good) information.

Developer Tools

Labs (may or may not be functional)

Misc

  • choosealicense.com - Good resource for understanding open source licenses and what each allows.

Troubleshooting PASE

Articles

Git

Node.js

PHP

Python

IBM i Open Source Blogs

Other compelling posts

Updated