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 provides licensed program 5733OPS which includes many options and it is how they deliver open source that's been ported by them (i.e. Node.js, IBM i Chroot, Python, Orion, Git, etc).

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.

Submitted via COMMON:

IBM i Open Source Repos (alphabetical)

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
Bob "Better Object Builder" build system for QSYS objects based on GNU Make
cartridge_info A SQL user defined table function to get the details for cartridges in a tape library
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
FFEDIT Simple source code editor for IBM i
FTP Guard FTP security for IBM i
FTPCLNT FTP client for IBM i
Giti Git client for 5250
ibm-i-enhanced Adds the AIX functionalities to IBM i
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 Delivered as 5733OPS option 3. YUM support is coming.
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.
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)
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
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]
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 [Description forthcoming]
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
Relic Package Manager Package Manager for the ILE environment (QSYS.LIB)
RPG for VSCode RPG syntax definition (to enable highlighting and code folding) for Visual Studio Code
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
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 Versatile in-memory ordered key/value store, like a Java TreeMap or an associative array, for use with the RPG programming language
RPGUnit RPG unit testing framework
ruby-ibm_db Ruby DB2 for i adapter/driver
ruby-itoolkit Ruby XMLSERVICE adapter
ruby IBM i Collaboration for Ruby
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

Retired

  • COMMON - Open Source community forum is available via COSMO membership. This one "needs work" so I (Aaron) didn't want people thinking it was viable by having it in the above section.
  • Gitter IBMiOSS - Chat about IBM i OSS. This has been retired.

Sites to be aware of (alphabetical)

  • 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
  • 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
  • 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
  • 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 - IBM contributes to YiPs wiki on a regular basis. A lot of good information.

Speakers and their presentations

Developer Tools

Labs

Events

  • COMMON Forum - Open Source and System Admin <note date change from mid July to late August>

Misc

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

Community video events

Troubleshooting PASE

Articles

Git

Node.js

PHP

Python

Ruby

Other compelling posts

Updated