Incompatible Timesharing System (ITS) is a time-sharing operating system developed principally by the MIT Artificial Intelligence Laboratory, with help from Project MAC. The name is the jocular complement of the MIT Compatible Time-Sharing System (CTSS).
ITS, and the software developed on it, were technically and culturally influential far beyond their core user community. Remote "guest" or "tourist" access was easily available via the early ARPANET, allowing many interested parties to informally try out features of the operating system and application programs. The wide-open ITS philosophy and collaborative online community were a major influence on the hacker culture, as described in Steven Levy's book Hackers,
By simplifying their system compared to Multics, ITS's authors were able to quickly produce a functional operating system for their lab.<!-- I don't have a copy of this book, but the table of contents has CTSS not ITS. I guess I could use a library. --> ITS was written in assembly language, originally for the Digital Equipment Corporation PDP-6 computer, but the majority of ITS development and use was on the newer, largely upwards-compatible, PDP-10. Logging on was considered polite, though, so other people knew when one was active on the system.
- To deal with a rash of incidents where users sought out flaws in the system in order to crash it, a novel approach was taken. A command which could be run by anyone would cause the system to crash, taking away the challenge and notoriety of doing so. It first also broadcast a message to say who was initiating the crash.
- All files were editable by all users, including online documentation and source code. A series of informal papers and technical notes documented new commands, technical issues, primitive games, mathematical puzzles, and other topics of interest to the ITS hacker community. Some were issued as more formal AI Memos, including the iconic HAKMEM compendium.
- All users could talk with instant messaging on another's terminal, or they could use a command (SHOUT) to ask all active users for help.
- Users could see what was happening on another's terminal (using a command called OS for "output spy"). A target of OS could detect and kill it using another command called JEDGAR, named after FBI Director J. Edgar Hoover. This facility was later disabled with a placebo command: it appeared as if the remote session was killed, but it was not.
- Tourists (guest users either at MIT AI Lab terminals, or over the ARPAnet) were tolerated and occasionally invited to actively join the ITS community. Informal policy on tourist access was later formalized in a written policy. Ease of access, with or without a guest account, allowed interested parties to informally explore and experiment with the operating system, application programs, and hacker culture. Working copies of documentation and source code could be freely consulted or updated by anybody on the system.
- System security, to the extent that it existed, was mostly-based on de facto "security by obscurity". Guest hackers willing to dedicate significant time and effort to learning ITS were expected to behave respectfully, and to avoid interfering with the research projects which funded the hardware and software systems. There was little of exclusive value on the ITS systems except information, much of which would eventually be published for free distribution, and open and free sharing of knowledge was generally encouraged.
The wide-open ITS philosophy and collaborative community were the direct forerunner of the free and open-source software (FOSS), open-design, and Wiki movements.
Important applications developed on ITS
The EMACS ("Editor MACroS") editor was originally written on ITS. In its ITS instantiation it was a collection of TECO programs (called "macros"). On later operating systems, it was written in the common language of those systems – for example, the C language under Unix, and Zetalisp under the Lisp Machine system.
GNU′s info help system was originally an EMACS subsystem, and then was later written as a complete standalone system for Unix-like machines.
Several important programming languages and systems were developed on ITS, including MacLisp (the precursor of Zetalisp and Common Lisp), Microplanner (implemented in MacLisp), MDL (which became the basis of Infocom's programming environment), and Scheme.
Among other significant and influential software subsystems developed on ITS, the Macsyma symbolic algebra system, started in 1968, was the first widely-known mathematical computing environment. It was a forerunner of Maxima, MATLAB, Wolfram Mathematica, and many other computer algebra systems.
Terry Winograd's natural-language interpreter SHRDLU was developed on ITS. The computer game Zork was also originally written on ITS.
Richard Greenblatt's Mac Hack VI was the top-rated chess program for years and was the first to display a graphical board representation.
Miscellaneous
The default ITS top-level command interpreter was the PDP-10 machine language debugger (DDT). The usual text editor on ITS was TECO and later Emacs, which was written in TECO. Both DDT and TECO were implemented through simple dispatch tables on single-letter commands, and thus had no true syntax. The ITS task manager was called PEEK.
The local spelling "TURIST" is an artifact of six-character filename (and other identifier) limitations, which is traceable to six SIXBIT encoded characters fitting into a single 36-bit PDP-10 word. "TURIST" may also have been a pun on Alan Turing, a pioneer of theoretical computer science. The less-complimentary term "LUSER" was also applied to guest users, especially those who repeatedly engaged in clueless or vandalous behavior.
The Jargon File started as a combined effort between people on the ITS machines at MIT and at Stanford University SAIL. The document described much of the terminology, puns, and culture of the two AI Labs and related research groups, and is the direct predecessor of the Hacker's Dictionary (1983), the first compendium of hacker jargon to be issued by a major publisher (MIT Press).
Different implementations of ITS supported an odd array of peripherals, including an automatic wire stripper devised by hacker Richard Greenblatt, who needed a supply of pre-stripped jumper wires of various lengths for wire-wrapping computer hardware he and others were prototyping. The device used a stepper motor and a formerly hand-held wire stripper tool and cutter, operated by solenoid, all under computer control from ITS software. The device was accessible by any ITS user, but was disappointingly unreliable in actual use.
The Xerox Graphics Printer (XGP), one of the first laser printers, was supported by ITS by 1974. The MIT AI Lab had one of these prototype continuous roll-fed printers for experimentation and use by its staff. By 1982, the XGP was supplemented by a Xerox Dover printer, an early sheet-fed laser printer. Although any ITS user could send files to the laser printers, physical access to pick up printouts was limited to staff and others who obtained access to the MIT lab, to control usage of printer supplies which had to be specially ordered.
CTSS and ITS file systems have a number of design elements in common. Both have an M.F.D. (master file directory) and one or more U.F.D. (user file directories). Neither of them have nested directories (sub-directories) Both have file names consisting of two names which are a maximum of six-characters long. Both support linked files.
Original developers
- Richard Greenblatt
- Stewart Nelson
- Tom Knight
- Richard Stallman
See also
- Time-sharing system evolution
References
Bibliography
- An Introduction to ITS for the MACSYMA User
External links
- ITS System Documentation
- SV: An ITS system running online and open for logins
- UP: Public ITS system operated by the Update Computer Club at Uppsala University
<!--
- file system images of various ITS machines, including source and documentation of the final system
- Donald Fisk's ITS info
The above two URIs are inaccessible as of 2010/6/3 -->
- KLH10: Ken Harrenstien's PDP-10 emulator
- instructions allowing ITS to run on the SIMH PDP-10 emulator.
- Jargon File Entry
- ITS bibliography
