As we approach the 17th anniversary of IBM publishing its mainframe-enabling patches to the Linux kernel on the Marist college website, it seems appropriate to look at the state of open source software ecosystem on z.
Since the “Marist Distribution”, as it came to be known, we have seen enormous commitments to the ecosystem by distributors, vendors, and the community. Between the commercial distributions of SUSE, Red Hat, and Ubuntu we have tens of thousands of packages available. The community distributions such as ClefOS, Slackware, and others have also added many thousands more.
For several years, we at Sine Nomine, have made open source packages available to the community: There is hardly a Linux on z customer who has not used SWAPGEN in their environment. In addition, we have built FOSS for our clients and ourselves and made the available from our website. There are in the order of 1,000 packages for the community to use. We even offer support for those who need it.
The list of packages available for ClefOS 6 and 7 that are also usable on RHEL may be found at:
Recently, we have built the EPEL repository for ClefOS 7 (and usasble on RHEL). This adds more than 11,000 packages to the ecosystem. We hope to make this available as soon as all our checks are completed.
Docker is also changing the landscape for Linux on z. Docker enables multi-tenancy of applications that may have differing and sometimes conflicting requirements (for example, different levels of libraries) by managing self-contained entities that are isolated from each other. More importantly, these containers are distribution agnostic: if you have docker daemon running then no matter under which z-based distribution the container was built then you can run your container any other distribution. In fact, the early Hyperledger containers we built and published were based on ClefOS but were built using a Docker environment running under Ubuntu. Talk about freedom!
The Docker ecosystem on z is continuing to expand. Here are some of the containers freely available at https://hub.docker.com/r/sinenomine:
|ade||Anomaly Detection Engine|
|ansible||An IT automation engine for provisioning, configuration management, deployment and orchestration|
|bacula||Bacula backup and restore containers|
|clefos-base||Base Container from which all others are built|
|cobol||GNU COBOL development|
|django||A high-level Python Web framework|
|earthquake||Terminal-based Twitter Client with Streaming API support|
|erlang||Erlang Development Environment|
|fabric-baseimage||Hyperledger fabric base image|
|fabric-ccenv||Hyperledger fabric C/C++ environment|
|fabric-javaenv||Hyperledger fabric java environment|
|fabric-membersrvc||Hyperledger member services|
|fabric-peer||Hyperledger fabric peer|
|fabric-src||Hyperledger fabric source|
|fluentd||Open-Source Log Collector|
|golang||golang 1.7.3-2 development environment|
|hello-nodejs||Sample program to exercise nodejs|
|httpd||Apache http server|
|java||IBM Java JDK environment|
|kubernetes||A tool for orchestrating and managing Docker containers|
|lighttpd||An open-source web server optimized for speed-critical environments|
|mariadb||MariaDB 5.5 server|
|mediawiki||MediaWiki is a free and open-source wiki application|
|memcached||A general-purpose distributed memory caching system|
|mongodb||A free and open-source cross-platform document-oriented database program|
|mono||.NET development and runtime environment for Linux on z|
|nginx||A free, open-source, high-performance HTTP server and reverse proxy|
|puppet||An open-source configuration management tool|
|qpid||An open-source messaging system that implements the Advanced Message Queuing Protocol|
|r-devel||The R Project for Statistical Computing|
|redis||Data Structure server – Redis provides access to mutable data structures via a set of commands|
|saltmaster||Software to automate the management and configuration of any infrastructure or application at scale|
|solr||The the popular, blazing-fast, open source enterprise search platform|
|spark||An an open source cluster computing framework|
|swarm||Docker cluster manager|
|tomcat||An an open-source Java Servlet Container|
|ulboracms||MEAN stack CMS and blog platform|
|wordpress||A free and open-source content management system|
There are still some important FOSS packages that have not made their way to the Linux on z mainstream but the gap is narrowing by the day. Between the distributions, vendors, and the Linux on z community the amount of applications available is staggering. If there is a package you require for Linux on z then let your distributor know or ask the question in one of the many Linux communities out there. I recommend signing up to the LINUX-390 listserver as it has a large and active membership.
Editors Note: Neale Ferguson the author of the blog is on a mission to make open source available on the z Systems and LinuxONE platforms. His organization Sine Nomine Associates punches above its weight in the Linux on z space and I suggest anyone who is interested in the blog above to follow and engage with Neale on Twitter @NealeFerguson