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)
- AIX Pages
- Sites to be aware of (alphabetical)
- Speakers and their presentations
- Developer Tools
- Community video events
- Troubleshooting PASE
- Other compelling posts
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).
- PTF Group: SF99223
- Community supplied install guide.
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:
- Linux functionality to match AiX functionality in PASE (ID:10895)
- Please port the newly open-sourced Swift programming language to IBM i under 5733OPS (ID:371)
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.
- 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
- 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
- ctagsrpgle - Create ctags compatible files for RPG/ILE, which can be used to quickly navigate source files
- 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
- FTPCLNT - FTP client for IBM i
- FTP Guard - FTP security for IBM i
- Giti - Git client for 5250
- ibm_db for Python - API description for the driver
- 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
- ibmitoolkit - PHP XMLSERVICE wrapper
- ibm-i-enhanced - Adds the AIX functionalities to IBM i
- iiesc - IBM i external storage calculator
- 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
- 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.
- iRPGEditor - Graphical RPG source editor
- 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 - LoopBack connector for DB2 for i (node.js v0.12)
- loopback-connector-ibmi - LoopBack connector for DB2 for i (node.js v4)
- loopback-connector-db2ibmi - LoopBack connector
- 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.
- noxdb - Not only XML. SQL, JSON and XML made easy for RPG on IBM i
- nodejs - IBM i Collaboration for Node.js
- 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 - IBM i Collaboration for Python
- python-itoolkit - Python XMLSERVICE adapter
- Relic Package Manager - Package Manager for the ILE environment (QSYS.LIB)
- rpgle.vim - Free (7.1) syntax highlight, folds, indent, etc. for RPGLE
- rpgdynarr - RPG Dynamic Arrays
- RPG for VSCode - IBM i RPG language for Visual Studio Code
- rpgleparser - rpgleparser is an ANTLR v4 grammar for IBM's ILE RPG, capable of parsing both fixed- and free-format syntax
- rpgmail - RPG Mail
- RPGUnit - RPG unit testing framework
- ruby - IBM i Collaboration for Ruby
- ruby-ibm_db - Ruby DB2 for i adapter/driver
- ruby-itoolkit - Ruby XMLSERVICE adapter
- 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
- tn5250j - 5250 terminal emulator implemented in Java
- TOP - New IBM i programming language written by Liam Allan [broken link]
- Ublu - IBM i 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 - VLANG is a 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 - project extending 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
- Rosetta. Great for learning differences of AIX/PASE compared to Linux.
- COMMON - Open Source community forum is available via COSMO membership
- Gitter IBMiOSS - Chat about IBM i OSS.
- IBM i Open Source, this project - Use Bitbucket issues of this project to collaborate. Why? Works with email, has code highlighting, and is simple.
- LinkedIn: IBMiOSS, IBM i Node.js, IBM i Python
- Midrange.com: firstname.lastname@example.org - Traditional mailing list created specifically for IBM i Open Source.
- Ryver group: IBMiOSS, Join here
- Twitter hashtag #IBMiOSS
Sites to be aware of (alphabetical)
- 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
- cmder Windows console emulator
- Edit IFS with code.visualstudio.com + SSHFS
- 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)
- Orion Browser based IDE
- Intro to Node.js on i - By KrengelTech's Litmis Spaces. Email email@example.com for promo code (free)
- Python Active Job Dashboard - By Kevin Adler
- Intro to RubyOnRails on i - By KrengelTech's Litmis Spaces. Email firstname.lastname@example.org for promo code (free)
- Intro to Python on i - By Eric Newman
- COMMON Forum - Open Source and System Admin <note date change from mid July to late August>
- choosealicense.com - Good resource for understanding open source licenses and what each allows.
Community video events
- Crowdcast on 2Aug2016 - Live #IBMiOSS Panel conversation with the team from Rochester (recording)
- Crowdcast on 16Aug2016 - #IBMiOSS Panel conversation focusing on sandbox systems (recording)
- Crowdcast on 16Aug2016 - #IBMiOSS Panel conversation focusing on sandbox systems (agenda/links)
- Crowdcast on 9Dec2016 - #IBMiOSS Panel conversation focusing on the OSSILE repo (recording)
Other compelling posts