Wiki
Clone wikiopensource / 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
- IBM i Open Source Aggregation
- Larger Topics
- Open Source Delivered by IBM
- IBM Requests For Enhancements (RFE)
- IBM i Open Source Repos (alphabetical, unmaintained list)
- AIX Pages
- Collaboration
- Sites to be aware of (alphabetical, unmaintained list)
- Developer Tools
- Labs (may or may not be functional)
- Misc
- Troubleshooting PASE
- Articles
- IBM i Open Source Blogs
- Other compelling posts
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
- Midrange.com: opensource@midrange.com - Traditional mailing list created specifically for IBM i Open Source.
- Ryver group: IBMiOSS, Join here
- Twitter hashtag #IBMiOSS
- IBM i Open Source, this project - Use Bitbucket issues of this project to collaborate. Why? Works with email, has code highlighting, and is simple.
- IBMiOSS on LinkedIn
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
- cmder Windows console emulator
- Edit IFS with code.visualstudio.com + SSHFS [broken link]
- Git-Bash for Windows (if you're not on Windows 10)
- Hyper Cross-platform terminal based on Electron
- Linux Bash Shell for Windows (for Windows 10 users)
Labs (may or may not be functional)
- RPM Packaging Lab - By Kevin Adler
- Intro to Node.js on i - By KrengelTech's Litmis Spaces. [broken link]
- Python Active Job Dashboard - By Kevin Adler
- Intro to RubyOnRails on i - By KrengelTech's Litmis Spaces.
- Intro to Python on i - By Eric Newman [broken link]
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
- 2016June09, Amy Anderson, "Open source on IBM i: Has hell frozen over?" [from Wayback Machine]
- 2016June10, Pete Helgren, "Living the Open Source life on IBM i"
- 2016June10, Aaron Bartell, "Open Source on IBM i Gets Hot Hot Hot"
- 2016August03, Jon Paris, "Jon Talks to Himself About the Need to Know Your Audience" [from Wayback Machine]
Updated