Jim Kingdon's FreeVMS page

FreeVMS is an embryonic project to write a free clone of the VMS operating system (the way that linux is a clone of unix or FreeDOS is to be a clone of MS-DOS). This page contains my own work/interests and pointers to other FreeVMS web sites.

What's new on this page

Jan 2005: I haven't done anything VMS-related in years, but I did stumble across FreeVMS. That site appears to have made some decent progress on a kernel and DCL. I didn't actually try downloading it and I don't know whether it has anything in common with the other DCL's on this page.

Oct 2001: The VMSBACKUP download which was at wku.edu is now at process.com; updated the VMSBACKUP page.

Aug 2000: Most newsworthy still is DECnet for Linux, now at a new web address, and actively being developed.

Jan 1999: Paul Nankervis now has a web page (seemingly now down) with the latest version of his time routines and ODS-2 reader.

22 Dec 1998: Paul Nankervis sent me a new version of his time routines (SYS$BINTIM, LIB$CVT_VECTIM, &c). Also see Kevin Handy's str.tgz which also includes an (older?) version of these routines.

30 Jul 1998: Add page of functions and commands, note on CMU TCP/IP, link to ODS2 reader.

For older news see "historical information" later on this page.

VMSBACKUP

VMSBACKUP is a partial clone of the VMS BACKUP utility.

Archive format

As nearly as I can tell the best archive format for distributing Free-VMS programs on the net is ZIP. There is a free implementation for just about every platform in existence (see the Info-ZIP web page for details). When I first started using it I had trouble with getting text files converted from one system's conventions to another, but probably I was just forgetting the -a or -aa options to unzip, or some such.

Other choices are .tar.gz (which provides better compression but which cannot store VMS-specific information such as file attributes) or BACKUP (which seems to be little used for this application). See David J. Dachtera's tar page for information on .tar.gz under VMS.

BOSS (libraries, DCL clone, &c)

One of the near-term projects some of us are looking at is getting BOSS to run under our free operating system of choice. The BOSS FTP site (seemingly now down) has the sources. Our goal is to start with this and package it up nicely (preferably in formats such as RPM, Debian's .deb, FreeBSD's pkg_add, and so on), so people can very easily install BOSS and start playing with it. I have a BOSS page with more details on my efforts to date.

Another DCL clone is microDCL.

Programming languages and libraries

Periodically the subject of BLISS comes up (often because someone finds some free code written in BLISS, such as most of CMU TCP/IP). IMHO, one of the big benefits of starting over is that we get to write Free-VMS in more popular language(s), probably C. If there really are some existing BLISS programs that seem to make it worth it, writing a BLISS to C translator (and then maintaining the C code not the BLISS original) probably makes more sense than trying to write a BLISS compiler (DEC has released a few BLISS compilers but only for old or obscure hardware; see the discussion on the free-vms mailing list in Oct 1997 for details).

Kevin Handy (site seemingly now down) has written some STR$ routines and a BASIC->C++ translator. He says the version of the code on his web page is more up to date and preferred over the version from the FTP site.

I have a page which lists functions and commands which we have some code for, along with pointers to what we have.

Storage devices and formats (disk, tape, &c)

The VAXlinux project (which I think is the same one at linux-vax.sourceforge.net) is said to have implemented a "VMS filesystem" (by which I assume they mean the ODS2 filesystem format in which VMS stores files on disk).

Paul Nankervis mentioned his own ODS2 reading project in passing when he sent his Time routines to me.

There is an ODS2 reader on the OpenVMS freeware CD version 3 from Compaq.

Networking

There is a DECnet implementation for linux. This code, of course, uses Unix system calls rather than VMS ones, but either FreeVMS will support Unix system calls in addition to VMS ones (one way or another) or we can replace the system call bits (which would be easier than starting over, probably). Of course we'd want to add VMS-compatible interfaces for DECnet clients.

CMU TCP/IP is only for VAX and has its tendrils into the VMS implementation pretty far, so we are probably better off adapting the BSD or Linux TCP/IP implementation.

For More Information

Free-vms.org was once the most complete site but seems to be down last I checked.

Steve Lindsey's FreeVMS page is also good.

David J. Dachtera's page has discussions of various issues involved in writing VMS applications and the like. Probably most of the material here is in the official VMS documentation somewhere, but this might be a more useful presentation.

Historical information

14 May 1998: Add microDCL page.

8 May 1998: Added Kevin Handy's patches to VMSBACKUP to my web page.

29 Apr 1998: Added section on BOSS to my web page.

23 Feb 1998: Paul Nankervis has supplied some time routines (SYS$BINTIM, LIB$CVT_VECTIM, &c). For historical purposes I am preserving the old 23 Feb 1998 version (with some notes from me). Versions from 23 Feb 1998 and later of Kevin Handy's str.tgz library, mentioned above, also contain a modified version of these routines.

9 Feb 1998: Added time routines and section on filesystems to my web page.


I disclaim copyright interest in the contents of my FreeVMS web page and the contents therein (including VMSBACKUP); it is in the public domain.
This page is part of Jim Kingdon's personal pages.