« 1Q2009 IBM Earnings | The Mainframe Blog Home | Random Mainframe News for Mid-June, 2009 »
What (More) Open Source Software Do You Want for z/OS?
One of my colleagues recently asked me, "So, Tim, what open source software do you think z/OS users want?"
"Why, that's an excellent question," I replied. "I have lots of ideas." [I shared my wonderful ideas — all quite brilliant, in fact. :-)] "But why not also ask other z/OS users that question?" (As IBM's Bob Hoey often reminds his trainees: "Ask the customer? Brilliant!")
There's lots of open source software already available for z/OS. The z/OS Ported Tools collection is only one example. To give some more examples, Dovetailed Technologies explains how to install and configure Apache Tomcat, Apache Derby, and JSPWiki on z/OS.
What else do you want to see? Post a comment with your open source wishlist. The more information you can provide about why particular open source products are important, the better. And in some cases you may discover the open source product you wish for is already available.
UPDATE: Dovetailed Technologies has established the Open Source for z/OS Wiki. There's still missing content, but it's a good start to help focus the open source community and z/OS users alike to promote further development of open source software. Please head over there, register, and fill in missing Wiki entries.
| by Timothy Sipples | April 21, 2009 Permalink |
TrackBack
TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d834521c8469e201157035c9be970b
Listed below are links to weblogs that reference What (More) Open Source Software Do You Want for z/OS?:
Comments
Ruby. Under TSO and USS.
Posted by: Todd Burch | Apr 21, 2009 10:00:14 AM
If IBM want to be more "Open" then let it bring back Flex-ES
the only alternative now is to Buy time on the Dallas system where things are done for you
If there is any updates regarding the ADCD's
I would be intrested
as I was approved 10/2006 just after Fundmental Software was able to issue
new licensces
thankx
Posted by: Joseph Reichman | Apr 21, 2009 10:39:08 AM
The toolkit: gcc, ld, make, patch, what-have-you. Oh, and glibc. We need tools to make tools.
Can't tell you how many times I've been in an omvs ssh session and typed "which [program]", having forgotten that z/OS Unix userland isn't all that complete.
It would sure be nice to be able to ftp / tar x / cd / make / make install like you can most everywhere else. And I wish we could lose EBCDIC. (But now I *am* daydreaming.)
Posted by: David Andrews | Apr 21, 2009 10:53:56 AM
APT http://en.wikipedia.org/wiki/Advanced_Packaging_Tool
Posted by: Me | Apr 21, 2009 10:55:22 AM
Report generator tools for SMF and RACF are sadly lacking. Often in my "Security Administrator" role, I'm told to "give the guy all the access that other guy has" and the research is incredibly tedious, at best. And reports that auditors can scan quickly are sadly lacking, like when they as me to provide a report of all users' access to production datasets. I actually built a PL/1 program that cranks out a spreadsheet-like report of dataset access, with a separate line for each dataset and separeate column for each user and/or group. It works off a unloaded copy of the RACF database. Performance reporting tools that Sr. management can understand are also sadly lacking.
Posted by: Rick Fochtman | Apr 21, 2009 11:24:44 AM
I want to go on a tangent here.
Open source is build upon community involvement and I think the mainframe arena lacks the kind of community that the rest of the FOSS world is build upon. Not that there is no community for the mainframe but the make-up of the mainframe community is different. It is a community out of necessity not one out of free and voluntary involvement.
What I would like to see is a Community editions of mainframe software. A Community Edition of CICS, z/OS, COBOL etc.
This will be the only way we will see a grass roots growth of FOSS software for the mainframe.
Then I can go home at night and collaborate with other members of the mainframe community and develop software. As things stand now, my employer and I most others will frown upon creating software on their time and resources to distribute freely to the world.
I did write about this a couple of years ago here: http://www.cicsworld.com/node/140
Posted by: ian | Apr 21, 2009 2:01:33 PM
I would love it if someone would add the XML functions to the USS port of PHP. The z/OS XML services are okay for full apps, but for some quick and dirty data munging it'd be nice to have something scriptable.
Posted by: Rob | Apr 21, 2009 3:28:15 PM
Nevermind, it is now working sporadically.
Posted by: Fred, KC, MO | Apr 21, 2009 3:50:36 PM
some of the simple tools, like expect & tcl
http://en.wikipedia.org/wiki/Expect
http://en.wikipedia.org/wiki/Tcl
Posted by: zorro | Apr 21, 2009 10:00:58 PM
Thanks all for the comments -- please keep them coming. A few points in reply:
I'm very fond of Ruby. JRuby is available now and works great under z/OS: http://jruby.codehaus.org
Instructions here (using a previous version, but should still work): http://www.kevinkeller.org/wiki/doku.php?id=ror
gmake is available here:
http://www-03.ibm.com/servers/eserver/zseries/zos/unix/library/IBM+Redbooks/index.html#gmake
Much/most of the gcc toolchain is available here:
http://www.cozx.com/~dpitts/gcc.html
Posted by: Timothy | Apr 22, 2009 12:13:11 AM
There is an existing mainframe open source community for the z390 and zcobol portable mainframe tools. Visit www.z390.org and www.zcobol.org to join and contribute. All the source code and file releases are all stored on www.sourceforge.net under the project z390.
The open source z390 portable mainframe assembler is HLASM compatible and runs on z9/z10 mainframes as well as on Windows and Linux. Currently z390 supports QSAM, BDAM, BSAM, VSAM, and SOA client and server messaging over TCP/IP, plus CICS client and server EXEC CICS transaction support. But there is still much z390 work to do and volunteers are needed to extend support to include additional sub-system and system macro service support.
The zcobol open source portable mainframe COBOL compiler and runtime is new with the first SHARE presentation made on March 3, 2009 in Austin. It is the first COBOL compiler to generate z9/z10 HLASM compatible executable assembler source code supporting ANSII/ISO 754 Decimal Floating Point (DFP) usage types including the 2002 generic FLOAT-SHORT, FLOAT-LONG, and FLOAT-EXTENDED plus the draft 2008 specific usage types for DFP, BFP, and also HFP as an extention. In addition zcobol supports COMP binary fields for half word, full word, double word, and quad word (128 bit)for up to 39 digits plus up to 31 digit packed decimal and zoned decimal support. zcobol is still in beta test phase with next goal to pass all the NIST ANSI 1985 tests. The zcobol compiler is written almost entirely in structured conditional macro assembler using z390. There is still much work to be done on zoobol to add as yet unsupported COBOL verbs and phrases such as SORT and EXEC SQL. There is already support for EXEC CICS and there are deoms and regression test source programs included for both z390 and zcobol.
If you would like to join these open source commuity projects and help with development, documentation, regression testing etc. please visit the sites above, join the open discussion groups and volunteer.
Last evening I sent a zoobol user an updated zcobol IF.MAC macro to fix a reported bug (RPI 1020) in support of multiple OR literals such as IF X = 'A' OR 'B' OR 'C'. You could also be helping with testing and extending these free open source portable tools. You can do it all on your Windows or Linux PC at no cost.
Don Higgins
don@higgins.net
www.don-higgins.net
Posted by: Don Higgins | Apr 22, 2009 7:23:13 AM
The most glaring omission is a modern GNU build system. m4 is the problem. To port m4 you first need to port stdio extensions with functions like fpurge, freadahead etc. Unfortunately, the stdio FILE fcb is not published.
I attempted to port stdio extensions by reverse engineering the fcb using IPCS. I got halfway and then decided to put it in the too hard basked. The m4 guys couldn't have been more helpful, they want to help and agreed to accept any patch into their source tree.
If we can't get a modern UNIX build system working then we can't port modern unix tools. Simple as that!
Another thing that annoys the hell out of me is that when IBM do port tools they keep the source OCO. cURL is a good example. It was ported to System I (EBCDIC) which was almost certainly the patch that they used for z/OS. Up until now that z/OS patch hasn't gone back into the community. What I really wanted was libcURL.
Posted by: David Crayford | Apr 22, 2009 8:24:36 AM
m4 is available here: http://www-03.ibm.com/servers/eserver/zseries/zos/unix/bpxa1ty1.html
Posted by: Timothy | Apr 22, 2009 9:35:00 AM
Your now have open solaris on Z. Why not AIX on Z?
Posted by: bob | Apr 22, 2009 9:56:02 AM
That version of m4 is about as stale as a piece of 10 year old bread. Unfortunately, the ported tools collection from the redbook is starting to look totally pathetic, unless you want to build a piece of 10 year old software.
For example, to port ooRexx to z you will need at least:
m4 1.4.11
autoconf 2.62
Posted by: David Crayford | Apr 22, 2009 9:36:09 PM
Yes, the m4 version that's posted is old, but the source code is provided (just checked) so you can see exactly how the port was done and what, if any, source code was modified.
Yes, it would have been very nice if MKS fed the source changes back into mainline.
Posted by: Timothy | Apr 22, 2009 9:41:20 PM
I agree with Don Higgins. Without a modern version of the autoconf tools, porting anything is very difficult. We have a wiki here that discusses this topic: http://oss4zos.org . There is a link there to a start on porting autoconf, which is currently stuck on getting m4 to work properly.
Posted by: Kirk Wolf | Apr 23, 2009 8:41:41 AM
Dave not Don Kirk!
The biggest obstacle when porting any *nix code to z is EBCDIC. If you look at the diffs for the ported tools it's mostly dealing with hard coded ASCII.
Some open source projects don't care about mainframes. Python is a fantastic language and there is a great patch here http://mail.python.org/pipermail/python-dev/2007-October/074991.html. The Python maintainers are not interested in contaminating their source tree with mainframe patches http://bugs.python.org/issue1298. Ok, I know about Jython but it takes 25 secs to start a Java program on our z800.
One super piece of software that's easily built on z is sqlite http://www.sqlite.org/docs.html. I had to change one line of code to support hex floating point and that was it. It's fantastic, an imbedded SQL database engine. It's fast, easy to use and runs just great on the USS POSIX stack.
IMO, IBM needs to run another ported tools redbook. This time, instead of getting MKS to port tools involve IBMers who have access to internals and vendors, customers.
Posted by: David Crayford | Apr 23, 2009 8:43:12 AM
Sorry, it looks like I was actually agreeing with David Crayford :-) But Don has been doing great stuff as z390.org, everyone should check it out!
Posted by: Kirk Wolf | Apr 23, 2009 8:43:43 AM
Tim - your suggestion about porting M4 sounds about right. Of course, we tried that and it is not so easy. Maybe you would have better luck :-)
Posted by: Kirk Wolf | Apr 23, 2009 8:46:41 AM
{kirk)
Tim - your suggestion about porting M4 sounds about right. Of course, we tried that and it is not so easy. Maybe you would have better luck :-)
{/kirk}
hehe, so we're all agreed IBM should do it!
Posted by: David Crayford | Apr 23, 2009 9:12:31 AM
I would really like to have the GNU versions of "sed", and "awk". I use many of the extensions on Linux and really miss them on z/OS.
Also, I would like all the IBM utilities which accept regular expressions to implement the GNU extensions to the regular expressions.
Posted by: John McKown | Apr 23, 2009 10:04:57 AM
John,
I'm running GNU sed 4.03 on our development system right now. I ported it a number of years ago, but I don't recall it being particularly difficult to compile.
Posted by: Anthony Giorgio | Apr 24, 2009 9:00:47 AM
It's like David stated: "We need tools to make tools." Get gcc running on OMVS/USS, and many other open source projects will follow.
Personally I'd like to have CVS or SVN on our host. I shouldn't know any safer place to store our code. ;-)
And for that I already experienced that interpreted scripting languages like Perl or Rexx on the mainframe don't show the speed they do on x86 Linux systems, I think it would be very interesting to see how on the other side the mainframe I/O subsystem would deal with MySQL - even if just out of general curiosity.
Posted by: Bernd Kuennen | Apr 28, 2009 6:56:25 AM
I am long enough in the MF-world to recall the times when Waterloo(-mods) was the synonym for a complete VM.
IMHO a first step to get user-involvement as in the open source community is to relax this OCO policy.
I hate it to dig out an APAR for CICS/TS in z/OS and then to beg for someone (within IBM) to have a look at the code in VSE to fix it there as well.
As opposed to
1.look at the code
2.(maybe) fix it
3.(if good) publish the fix
or (for the less adventures types)
2. open a PMR and let IBM do it
I have seen cases where a simple "look at the code" solved problems or gave birth to an improvement.
Martin
Posted by: Martin | May 3, 2009 4:09:35 AM
