"I wanted the new installer to provide only a few prompts, like if you want to install everything or just the basic 'DOS' parts, or if you wanted to install source code, and the installer would take things from there. To do this, we didn't need a compiled installer. We could easily script it by using a few clever DOS power tools; utilities to prompt the user for input, etc."
Jerome Shidel volunteered to write the updated FreeDOS installer. "He did a great job with it!" Hall said.
"The new installer is very simple, for both new and old users. If you've used DOS for a long time, the installer will feel very familiar. If this is your first time installing FreeDOS, you'll have an easy time."
Other changes in 1.2 relate to the packages included with FreeDOS, with updates to some components and some changes to what is bundled with the OS.
"The FreeDOS 1.1 release was four years ago, in January 2012," Hall said.
"And while that's fine for an operating system that doesn't need to change much, we have realized that we need to change what packages we include in FreeDOS." [see box]
The FreeDOS ecosystem
The basic FreeDOS software ecosystem is divided into seven categories: BASE, BOOT, DEVEL, EDIT, NET, SOUND and UTIL. The core components of BASE, which provides the same basic functionality as MS-DOS, won't change significantly from 1.1 to 1.2, Hall said. The MKEYB international keyboard driver is being moved from UTIL to BASE, however (KEYB is still being retained).
"We are also removing some programs that were going to cause problems," Hall added (the XMGR XMS memory manager for example).
As a whole, the ecosystem comprises close to 200 drivers, utilities and applications, the vast majority of which are open source (some are public domain, but most are licensed under the GPL v2 or v3).
"FDNPKG by Mateusz Viste definitely stands out for me as a great FreeDOS utility," Hall said. "Mateusz realised that we needed an easier way to keep FreeDOS up-to-date after you've installed it, so he created FDNPKG [FreeDOS Network Package manager] to do that. FDNPKG is very much like Yum or Apt or any of the other Linux package managers. You can install a package, remove it, update it - even over the network."
"Going back even further, I'm still proud of the Cats and Kitten libraries for FreeDOS," Hall said. "I wrote Cats, and others updated it to create Kitten."
"Cats provides the same programming API as catgets() on Unix, to support multiple languages," he said. "So one program can support a bunch of different local languages without having to be recompiled. The Cats library reads a language data file, called a 'catalog' file (that's where the 'cat' comes from) and uses that to display text. Cats is a pretty faithful reproduction of catgets() on Unix. Others made it smaller, and removed some functionality we just didn't need or use, so now we have the much smaller Kitten library to support multiple languages."
("Because a kitten is smaller than a cat," Hall added.)
Sign up for CIO Asia eNewsletters.