Smallfoot

From Wikipedia, the free encyclopedia
Jump to: navigation, search
For the fictional character, see List of Gobots characters#Small Foot.

Smallfoot is the name of both a Rapid application development toolkit and an embedded operating system designed and released by Caldera Systems/Caldera International/The SCO Group in both UnixWare and Linux formats.[1][2][dead link] 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/Caldera International after its purchase of SCO. In the SCO vs IBM lawsuit, SCO denied distribution of Linux kernel code, however SCO Smallfoot is based on both 2.4.10 and 2.6.1 Linux kernel versions.[citation needed]

History[edit]

The name Smallfoot (whilst trademarked by SCO) was never the intended product's 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 SCO's consulting resource in this area. Richards was a contributor (one of many) to Matthew Marsh's "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 forever, 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 platform 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 (17 August 2007)[citation needed]

Version one - Linux[edit]

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 solution 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,[when?] Chuck Zenkus (IT director and project director) from Incredible Technologies (ITS) approached Caldera International in Utah with the idea of creating a Linux development and OS platform for its new TouchIT system.

Caldera International did not have the engineering bandwidth at the time and so subcontracted the work out to SCO in the UK. (Note: Caldera International completed its acquisition of the SCO OS business in May 2001. The Incredible Technologies deal was part of an earlier strategic delivery deal initiated prior to the acquisition. SCO Professional Services Group delivered the ITS work, not Caldera International or Caldera Deutschland in Erlangen, Germany, where most of the OpenLinux development took place.)

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 32 MB of RAM and was based on a Celeron 500. Of this 32 MB, 16 MB 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[4][dead link] 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[citation needed] and viewed a demonstration of Smallfoot. Further funding and support followed.

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

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 [4]

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 led the OS image generation part and Sujit Kuma in India led the GUI frontend development.

The technology incubated and the customer interest rose after a number of press releases and technology previews.

Within 12 months, SCO management added 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 defined the initial technical architecture during the first meetings in New Jersey and set the commercial and technical scene. The high level requirements, including network provisioning, POS stack, smart configuration and look/feel formed this initial brief.

Within 2 months of the initial meetings, Richards became product manager and Allan Clark chief architect, all development moved to the US and was 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 responsibility 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[edit]

In August 2002 Caldera International renamed to The SCO Group and somewhat later 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 up until then while a previous version of OpenServer had a one-off implementation. However, a quick prototype based on GRUB (later rewritten into a proper independent PXEBOOT loader by core kernel developer Alex Sack) sealed the decision towards UnixWare.

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 known 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 (Alex Sack, Walter Croom, and Sergey Babkin) were tasked with adding the missing features to UnixWare, Allan Clark was single-handedly responsible for adapting the Smallfoot 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.[5]

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 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 a 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 (note, that very early in the project Alex Sack was also a proponent of script-based build environment), 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 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 status. The development of Alpha was completed in the remaining six weeks and demonstrated to The SCO Group 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 would 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 The SCO Group 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[edit]

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.[6][dead link]

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 before,[7][8] I had faith, that Linux was going to be the right choice.

From this early, controversial start[9] we eventually took the open source approach further saving thousands"[10][dead link] - Luke Trevorrow (Application Architect - IBM)

The first OEM to re-sell Smallfoot - almost...[edit]

In 2002, David Taylor, Larry Gasparro, Jack Richards and Avinash Verma lead a delegation from The SCO Group 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 The SCO Group had a change of direction and decided to take IBM to court over Linux instead (April 2003).

Smallfoot derivatives[edit]

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 The SCO Group 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, 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 and no longer provides support or sales to the public.

Potential GPL violation of Smallfoot[edit]

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 The SCO Group any offering of code base.

Technical specifications - Linux version[edit]

Linux kernel: 2.4.10 and 2.6.1 with Linux Progress patch Glibc-based

RAM footprint: 32 MB

Disk footprint: 8 MB through 128 MB

Minimum boot media footprint: 1.44 MB basic functionality, 8 MB 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 International

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[edit]

Base OS: UnixWare 7.1.3, upgradeable

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

Minimum boot media footprint: 1.44 MB basic functionality, 16 MB 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[edit]