Smallfoot

For the fictional character see Small Foot.

Smallfoot is the name of both a Rapid application development toolkit and an embedded operating system designed and released by Caldera Systems/The SCO Group in both Unix and Linux formats.[1][2] Created for use in embedded environments such as point of sale systems and gaming, the toolkits are used to create specifically tailored operating systems geared towards the desired use.[3] These customized and stripped down versions of the operating systems make less of a footprint, hence the names Smallfoot embedded UNIX and Smallfoot embedded Linux respectively.[1]

Smallfoot is also notable in that it was a key Linux product of the SCO Group, developed for both the UNIX and Linux platforms and distributed by SCO and Caldera Systems after its purchase of SCO. In the IBM vs SCO (2003- ) lawsuit, SCO denies (or has denied) distribution of Linux kernel code, however SCO Smallfoot is based on both 2.4.10 and 2.6.1 Linux kernel versions.

Contents

History

The name Smallfoot (whilst trademarked by SCO) was never the intended products final name. It was thought up by both Jack Richards and David Taylor as a working name, both thought something better would be thought up by marketing.

Smallfoot was proposed in 2001 by Justin 'Jack' Richards, then principal open source consultant for EMEIA. Richards joined SCO in 1999 as the first dedicated Linux consultant and was tasked with building SCOs' consulting resource in this area. Richards was a contributor (one of many) to Matthew Marshs' "Linux Networking Unleashed" book. The Smallfoot concept was championed by David Taylor, vice president of professional services at SCO, who gave the go ahead for initial prototypes to be written.

Smallfoot... started as a way of positioning Linux as a way forward for SCO customers using the outdated 3.2.4.2 OpenServer POS solution. We (SCO) had literally millions of POS seats around the world using this almost pre-historic version of UNIX and we couldn't support it for ever, not to mention the fact that the global sales force just couldn't understand selling Linux. I'd come to SCO to inject Linux into its veins - a new life blood to a declining market share - and a Linux POS platformed seemed like the path of least resistance. I spoke with Dave [Taylor] about some work I had been doing and suggested that we should look into Linux POS. He asked some questions about technology, the market and the competitors and from that point on he was hooked. --Jack Richards (17th August 2007)

Version one - Linux

Richards designed the first Linux version in late 2001 and produced a number of proof of concept systems including "Doom on a Disk", a bootable mini-CDROM based version that ran the free version of ID Software' DOOM game. The CDROM was given out as a free demonstration at Linux World that year.

Smallfoot itself was the result of a number of internal and external projects that Richards was working on at the time. The initial idea behind Smallfoot came from a project that he was working on to build a custom Linux distribution, based on Red Hat 5 for Linetex Computers based in Woking and a project that a colleague sitting across the room was working on for Deutsche Bahn (an embedded Openserver solutions for platform messaging).

Alan Bristow, then the IT director at Linetex commissioned SCO Professional Services to build a shrink-wrapped Linux distribution for a project called eSP, a PC based systems management and monitoring platform.

Soon after this, the late Chuck Zenkus (IT director and project director) from Incredible Technologies approached Caldera Systems in Utah with the idea of creating a Linux development and OS platform for its new TouchIT system.

Caldera Systems did not have the engineering bandwidth at the time and so subcontracted the work out to SCO in the UK. (Note: Caldera Systems completes its acquisition of the SCO OS business in mid-2001. The Incredible Technologies deal was part of an early strategic delivery deal initiated prior to the acquisition. SCO Professional Services Group deliver the ITS work, not Caldera Systems (formerly LST) in Erlangen, Germany, where the OpenLinux development was done).

Richards was tasked with developing a stateless Linux OS platform and development environment. The basic requirements of the OS were that it could remain stable and secure in the field, whilst performing 3D SDL/OpenGL graphical operations and stereo 44.1 kHz wave playback on a moderate CPU platform. The TouchIt system had just 32MB of RAM and was based on a Celeron 500. Of this 32MB, 16MB was actually shared on the motherboard by the i815 graphics card.

TouchIt was shown at the 2001 ATEI in Las Vegas, opposite Nolan Bushnells' UWink system. UWink was also based on Linux, but had a special button in the cash box that needed to be pressed to shut it down without corruption. It took 3 minutes to boot.

Conversely, TouchIT [1] took 33 seconds to boot into game and the power cord could just be pulled to power down the system. TouchIT survived over 40,000 hours of testing without a single OS failure while UWink died if you pulled out the power whilst running too often.

These two platforms formed the knowledge base for Smallfoot.

It was at this point that Ransom Love visited the UK offices and viewed a demonstration of Smallfoot. Further funding and support followed.

Version two - Toolkit and image builder now in the project roadmap

Federico Ciggonini, an engineer in the TEAM group at SCO in Watford, was tasked with implementing an OS cutter based on Richards' specifications that would allow the stock OpenLinux Platform to be used as the base OS for a Smallfoot deployment.

At this point, Allan Clark became influential in the design of the Smallfoot platform. Clark, based in Murray Hill near New York, provided a large amount of support and development input to Richards' team in the UK.

A fully functional Operating System now existed and had been deployed to a small number of clients, proving the concept and becoming the first Linux Point of Sale operating system commercially available. The SCO development team applied to the Linux Standards Base for an official package to be registered (lsb-smallfoot, The SCO Group (Caldera Systems Inc.), smallfoot@sco.com) and this entered into registration [2]

At this point, SCO Professional services decide to develop the concept further - a fully automated version of the Smallfoot build system, coined "The Smallfoot Toolkit".

Under direction from Jack Richards, Allan Clark in NJ leads the OS image generation part and Sujit Kuma in India lead the GUI frontend development.

The technology incubates and the customer interest rises after a number of press releases and technology previews.

Within 12 months, SCO management add resources to the Smallfoot development team.

The Smallfoot Engineering department was formed in Murray Hill, New Jersey under Andy Nagle, with developers drafted from OS engineering department (3) and Professional Services department (1). Jack Richards defines the initial technical architecture during the first meetings in New Jersey and sets the commercial and technical scene. The high level requirements, including network provisioning, POS stack, smart configuration and look/feel form this initial brief.

Within 2 months of the initial meetings, Richards becomes Product Manager and Allan Clark Chief Architect, all development moves to the US and is formally adopted into the Engineering Group.

The responsibilities in the department were:

Andy Nagle - Manager. Jack Richards - Product Manager. Allan Clark - overall architecture and integration, kernel configuration. Alex Sack - X11, shell tools configuration. Sergey Babkin - boot loader configuration and deployment of images. Walt Croom - network configuration. Sujit Kuma - auxiliary development.

Sujit Kuma, working on a GUI was seconded to the team, while organizationally still part of the Professional Services department.

Jack Richards continued as Product Manager and began work on the marketing and sales of Smallfoot. Janet Sulivan took overall respopnsibility for Product Marketing.

The Linux version of the Smallfoot Toolkit was never completed. The GUI was done only to the mock-up quality. The GUI part was never mated to the OS image generation part. Parts of the OS image generation functionality were completed and working but it never got integrated. The milestones were repeatedly missed, and by the time of expected beta release there was no deliverable.

Whilst many SCO products within the Linux range were facing increased scrutiny, Smallfoot as a concept was in constant demand by potential customers and favoured by both marketing and sales departments. In direct response to SCOs stance towards Linux, the Smallfoot Toolkit development switched to a Unix-based OS in May 2003.

Version three - UnixWare

In 2003 the former Caldera International and Caldera Systems had renamed to The SCO Group and decided to drop its Linux product line. The Smallfoot Toolkit was to be redesigned based on a Unix OS.

The base OS choice was between UnixWare and OpenServer. The NJ office was the location of the UnixWare development, so the engineers were familiar with it, while OpenServer was developed in California. UnixWare was also the more modern OS. However a major required feature was the network boot loader support. It was never supported in UnixWare while a previous version of OpenServer had an one-off implementation. However a quick prototype based on GRUB (later rewritten into a proper independent PXEBOOT loader) has sealed the decision towards UnixWare.

It is of note that Smallfoot for Linux continued to be sold during this time to a number of customers in the UK. Engineering on it continued on a custom basis with customers such as Barcrest - part of the IGT group for OpenGL based fruit machines. The work was undertaken by Mike Moore, also famous for his Barleywood Z80 simulator many years previously.

Since UnixWare was missing a large amount of functionality needed for Smallfoot, the team responsibilities were changed. The 3 people originally from OS engineering were tasked with adding the missing features to UnixWare, Allan Clark was single-handedly responsible for adapting the Toolkit from Linux to UnixWare, and the GUI was placed on hold. Sujit Kuma returned full-time to the Professional Services work. Jack Richards continued with marketing support until resignation at the end of April 2003 to form GNU Solutions Limited [3].

The OS features were successfully added to UnixWare. The Smallfoot Toolkit had missed the alpha milestone, and with nothing to show 6 weeks before the beta milestone, the engineering management has canceled the project. The Smallfoot Engineering department was disbanded, with employees returning to their original departments. To salvage the remains, Sergey Babkin was offered the position of Smallfoot Toolkit architect, as an one-man team in the OS Engineering department (with testers added later). Andy Nagle continued providing the project management and marketing guidance.

During the work on the Linux version of the toolkit, Sergey Babkin was convinced that the task was better suited to a scripting language, as opposed to C++. As a proof of concept, he spent a day writing a basic version of the toolkit in a shell script that implemented the full cycle from configuration file to a bootable image, with very minimal configuration options. The idea never flew but the script found its use in creation of the images for testing the boot loaders, as the proper kernel build portion of the Linux toolkit was never delivered.

After cancellation and rebirth of the project, C++ and XML were ditched with all the existing code base. The scripting version became the foundation of the redesigned toolkit. The scope of the deliverable was scaled back to alpha. The development of alpha was completed in the remaining six weeks and demonstrated to the SCO executive team in November 2003.

The general configuration language was added in the beta version. The formatting of the language drew heavily on Tcl. The toolkit was expanded to include extensive configuration of many parts of the system, JavaPOS library, newly developed drivers for Point-of-Sale (POS) devices and a POS application. A complete POS terminal developed with the Smallfoot Toolkit release 1.0 was demonstrated at SCO Forum 2004 in Las Vegas. The further development, including GUI, was shelved until the sales of the command-line version of the toolkit pick up and provide a revenue stream.

The Smallfoot Toolkit product went onto the SCO price list in July 2004. The minimal bundle was priced at approximately $35K and included the Toolkit, UnixWare license for the development machine running the toolkit, 500 deployment UnixWare licenses for the generated images, 10 hours of support. Larger volumes of the deployment licenses provided extra per-license discounts. None were ever sold and eventually the product was discontinued.

In early 2006 an opportunity to sell Smallfoot Toolkit had resurfaced. Sergey Babkin (who left SCO in late 2004 to pursue consulting opportunities) was contracted to continue with the GUI development. However the sales opportunity went away quickly and the product was cancelled again.

At mid-2009 the general configuration language used in the toolkit still appears to be state of the art, compared to the other toolkits for generation of the small-footprint OS images.

It should be noted that the initial Richards/Clark versions of the Linux OS Cutter were actually BASH/XML based, however due to the nature of shell scripts easy inspection and respective copyright issues it was felt that C++ would be a better vehicle on which to provide - what were at the time - cutting edge concepts and technologies.

The first customer

The first Smallfoot customer was Budgens Supermarkets. Budgens, a part of the Musgrave Group, were looking to implement Linux at their point of sale systems and UK VSP PCMS group wanted a Linux platform on which to integrate Beanstore [4].

Andrew Bourke was in charge of the Beanstore initiative at PCMS and provided input to SCO regarding PCMSs' specific needs. Smallfoot grew through this input, incorporating JPOS driver stack and JVM 1.3 (Sun) support.

Luke Trevorrow - IT operations Manager at Budgens, under Garry Barr then IT Director, was a key proponent of Open Source technology and acted as a key advisor to SCO on the Smallfoot project.

" As a supermarket, we [Budgens] were keen to reduce cost structures associated with our retail estate, then Microsoft based. We evaluated the alternatives and with the help of SCO,later GNU [Solutions Ltd] we found a solution that could potentially meet our needs.

In all, we invested heavily in the development cycle of retail hardened Linux and saw some significant benefits. Over the life cycle of the retail systems running Linux we had less than 5 field failures in 5 years, that with an estate of 800+ POS systems.

At the time, we took a big leap forward in the [retail] industry, no other retailer of a size anything like ours were using Linux, let alone in the store Estate. But having been involved in other Open Source initiatives beforeWarfare JWebChart , I had faith that Linux was going to be the right choice.

From this early, controversial start Budgens Spurn Microsoft we eventually took the Open Source approach further saving thousands CA and OSS,enable Budgens to save 375,000 GBP " - Luke Trevorrow (Application Architect - IBM)

The first OEM to re-sell Smallfoot - almost...

In 2002, David Taylor, Larry Gasparro, Jack Richards and Avinash Verma lead a delegation from SCO to the IBM RSS group in North Carolina.

IBM was represented by Jim Budd, Tammy Garneax, Beth-Anne Vaughn, Mike Paolini, Rick Puetzer and ultimately General Manager of IBM RSS Worldwide, Tom Petersen.

The aim of the meeting was to get IBM to resell Smallfoot as the core of its ROLO offering. After many meetings, including a visit to the Austin Texas HQ, IBM was all but set to go forward and sign, however at the last minute SCO had a change of direction and decided to take IBM to court over Linux instead (April 2003).

Smallfoot derivatives

Whilst not based on any of the codebase of Smallfoot, Gazelle from GNU Solutions was the next Retail Hardened OS developed by Richards and in many ways represents what SCO Smallfoot could have been.

GNU Solutions was founded by Jack Richards, James Hall and Chinyanta Nkonkomalimba in 2003 to build the next generation Linux POS platform Gazelle (r), used in Budgens and Krispy Kreme in the EU, packaged with PCMS Vision Beanstore.

The Gazelle toolkit was a complete self-hosted environment that built a complete two-stage operating system from a TCL menu system. It was the first 2.6.0 commercially produced Linux operating system.

Gazelle is no longer sold or supported and GNU Solutions has been sold to a third party, its web site is still extant at [5] but no longer provides support or sales to the public.

Potential GPL violation of Smallfoot

Smallfoot was a complete Linux distribution developed from OpenLinux and other GPL code.

Source code was originally distributed from the SCO server psint.sco.com and later psint.caldera.com.

Neither servers are available today and whilst there may still be active users of the original Linux code base, there is no visibility of source code, nor after requests for it from SCO any offering of code base.

Technical specifications - Linux version

Linux Kernel: 2.4.10 and 2.6.1 with Linux Progress Patch Glibc based

RAM Footprint: 32MB

Disk Footprint: 8MB through 128MB

Minimum Boot Media Footprint: 1.44MB basic functionality, 8MB with X11.

CPU Supported: Intel Pentium, Pentium II, Pentium III and Celeron, Winchip C6,AMD K5, K6, Athlon

Tested POS Platforms: Wincor Beetle i815, IBM SurePOS, Toshiba TEC

Base OS: Linux, based on OpenLinux from Caldera Systems

Notes: Many of the binaries used in Smallfoot came from OpenLinux 3.1, however these were object stripped using the object copy and strip program.

Technical specifications - UnixWare version

Base OS: UnixWare 7.1.3, upgradeable

Minimum RAM Footprint: 32MB with disk-based root filesystem, 64MB with RAM-based root filesystem

Minimum Boot Media Footprint: 1.44MB basic functionality, 16MB with X11 graphics

Boot Media Supported: disk, CD-ROM, floppy, USB flash stick, network PXEBOOT

CPU Supported: i486 and later

Tested POS Platforms: Wincor Beetle i815, HP POS, Dell POS

References