HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
PDP-10
its
Assembly2017–2026
PDP-10 / its

its

Incompatible Timesharing System

23Distinct people
76Mentions
0Explicit recommenders
963GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Incompatible Timesharing System

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 4:00:59 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year76 dated mentions

Observed mentions: 2017-01-24 01:14:25 UTC to 2026-09-12 02:00:03 UTC.

051015202017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 9 mentions; 0 submissions, 9 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 8 mentions; 1 submissions, 7 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 7 mentions; 1 submissions, 6 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 19 mentions; 2 submissions, 17 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 11 mentions; 2 submissions, 9 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC211
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC606
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC615
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC909
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC817
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC716
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC19217
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC1129
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC514
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC303

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Incompatible Timesharing System About ITS ITS, the Incompatible Timesharing System, is an operating system for the PDP-10 computer family. It was created by hackers at MIT in the 1960s. The MIT site was shut down in 1990, but enthusiasts continue to operate ITS systems to this day. Some notable ITS features: Hosted the first versions of Emacs, Zork, Macsyma, Maclisp, Scheme, and multi-player Maze War Virtual memory User-space device drivers Networking: TCP/IP, ARPAnet, Chaosnet Transparent network file system Terminal-independent text output Graphical workstations There is a mailing list for discussion about ITS. Go to http://its.victor.se/mailman/listinfo/its-hackers_its.victor.se for more information. About this project This repository contains source code, tools, and scripts to build an ITS system from scratch. The goals are: To provide an automated build from start to end. No user intervention is necessary. To check which programs have source code, and which programs are missing source code. To ensure that we know how to build all programs. To update programs with the latest bug fixes and enhancements. To be able to set configurable options across the whole system, such as host name, IP address, hardware devices. The build currently runs on the SIMH and KLH10 emulators. Of course, we'd be delighted to test this on a real KS10. Building To build ITS with this repository, you need some tools installed; see the table below. Ensure all submodules are checked out, and then type make EMULATOR=simh, make EMULATOR=pdp10-ka, make EMULATOR=pdp10-kl, make EMULATOR=pdp10-ks, or make EMULATOR=klh10. This will leave built files in the out directory, some of which are disk images with ITS installed. Emulator Dependencies klh10 git, c compiler, make, expect, curses, autoconf simh git, c compiler, make, expect, curses, autoconf, sdl2 pdp10-ka git, c compiler, make, expect, curses, autoconf, sdl2, sdl2-image, sdl2-net, gtk3 pdp10-kl git, c compiler, make, expect, curses, autoconf, sdl2, sdl2-image, gtk3 pdp10-ks git, c compiler, make, expect, curses, autoconf, sdl2 Usage To start ITS, type ./start. If you see KLH10#, type go and Enter. If you see the DSKDMP prompt, type its, press Enter, and then ESCG. If you use the pdp10-kl emulator there is no prompt and you need to type ESCL ITS, press Enter, and then ESCG. Eventually, you will see SYSTEM JOB USING THIS CONSOLE. You are now ready to log in, so type CTRLZ. See doc/DDT.md for a list of useful commands. Alternatively to logging in directly in the system console window, which will always be displaying daemon messages, you may prefer to use a separate terminal session for logging in. To do this just run telnet localhost <port> from another shell window and press CTRLZ to log in there. The port should be determined as per this list: Port Type Emulator 10000 TK10 pdp10-ka 10002 Datapoint kludge pdp10-ka 10003 Morton box pdp10-ka 10004 DZ11 simh, pdp10-ks 10007 DTE2 pdp10-kl 10008 DL10 (pdp10-kl in the future?) To shut down ITS, type :lock and then 5down. Log yourself out to avoid the 5 minute grace period: type :logout. When ITS writes SHUTDOWN COMPLETE, it's safe to stop the emulator. Press CTRL\ to escape to the simulator command prompt and quit to close it. If you had a separate telnet user session running you can similarly press CTRL[ and then exit telnet. ITS can optionally use some additional peripheral devices. To attach a simulated GT40 graphics terminal, type ./start gt40. If you run the KA10 emulator, you can use the Knight TV raster display by typing ./start tv11 tvcon. On a TV, type F1 instead of CTRLZ. Here is an overview of the repository: bin - PDP-10 binary files necessary to bootstrap the system. build - build scripts. conf - configuration for building ITS. doc - documentation, most of which appear in the INFO system. src - source code for ITS and all programs. tools - build tools. out - build output. user - optional user files installed in ITS. Terminal Emulators Several emulators for terminals and peripheral processors are built along with ITS. They can be started conveniently with the start script, or separately. Not all terminal emulators are set up to work with all PDP-10 emulators by default. Name Description Type klh10 pdp10-ka pdp10-kl pdp10-ks simh type340 Type 340 vector no yes no no no gt40 GT40 PDP-11 vector no yes no yes yes imlac Imlac PDS-1 vector no yes no no no simh_imlac Imlac PDS-1 vector no yes no no no tv11 Knight TV PDP-11 cpu no yes no no no tvcon Knight TV console raster no yes no no no datapoint Datapoint 3300 text no yes no no no vt52 VT52 text no yes yes yes yes tek Tektronix 4010 vector no yes yes no no Documentation See the doc subdirectory for documentation. There are some short introductions for beginners: How to create a new user DDT cheat sheet for Unix users Basic editing with EMACS TECO survival guide DDT debugging newbie guide Hello MIDAS Hello Maclisp Introduction to Muddle DUMP and itstar Games Printing Assembling ITS Com link mode Logo PDP-6 Networking A list of known ITS machines. How ITS is built. Applications Some major applications: Adventure, game C10, C compiler CLU, programming language. DDT, debugger Emacs, editor Logo, interpreter Mac Hack VI and Tech II, chess programs Maclisp, interpreter and compiler Muddle, interpreter Macsyma, symbolic math Maze War, game Midas, assembler Muscom and musrun, for playing music PDP-11 simulator Scheme, interpreter Spacewar!, game Stanford University Drawing System TECO, editor TOPS-10 and WAITS emulator There is a detailed list of all installed programs.
Read the full README on GitHub

What Hacker News says

6 sources
Either Gosling is being taken out of context or he's willingly obscuring the issue and occluding important information. Gosling did not invent Emacs and he has no claims to it like it's implied by this interview. Gosling Emacs was a different concept, much inferior to the original idea. Which is a good reason for why it's now in the trash bin of history. Guy Steele, David Moon, Dan Weinreb (RIP) and (later) Stallman were the originators and major forces and that's where credit should be given for Emacs-the-Lisp-virtual-machine that has stood the test of time. Origins of Emacs from Guy Steele himself: https://github.com/PDP-10/its/issues/1633 Gosling is not even mentioned, once.
In James Gosling on Richard Stallman [video]
Fen Labalme did confirm Stallman's claim, but could not find the email; remember this is in the days of backups on 9-track tapes, and he was looking for an email he had presumably deleted several years earlier. > It's important here to note that Stallman does not claim it was his own brainchild, and did give Gosling credit. This is true in a very limited way, but by itself it is a very misleading partial truth. Stallman gave Gosling credit for Gosmacs, not for EMACS. Stallman had been working on EMACS on ITS on the PDP-10 for years before Gosling started writing his version, but the inception of EMACS was, as I understand it, a collaboration between Stallman, Steele, and Moon — a set of macros for ITS TECO, which was maintained by Stallman https://github.com/PDP-10/its/issues/1633. Gosling's Emacs wasn't even the second Emacs; Multics E
Read the rest
macs was Bernie Greenberg's reimplementation of the PDP-10 EMACS Stallman was the maintainer of, and it was the first (corrected by trn: second) Emacs to use Lisp as its scripting language, which is where Gosling got the idea. EINE (the first version of Lisp-Machine Emacs, as trn corrected me below) and ZWEI also preceded Gosmacs. From the Emacs FAQ https://www.gnu.org/software/emacs/manual/html_node/efaq/Ori...: > Emacs originally was an acronym for Editor MACroS. RMS says he “picked the name Emacs because E was not in use as an abbreviation on ITS at the time.” The first Emacs was a set of macros written in 1976 at MIT by RMS for the editor TECO (Text Editor and COrrector, originally Tape Editor and COrrector) under ITS (the Incompatible Timesharing System) on a PDP-10. RMS had already extended TECO with a “real-time” full-screen mode with reprogrammable keys. Emacs was started by Guy Steele as a project to unify the many divergent TECO command sets and key bindings at MIT, and completed by RMS. Gosling wrote Gosmacs in 1981, five years later, as a copy of Stallman's work; Stallman published a widely-cited paper that year describing many features of EMACS which were unusual or unique at the time, but are now the standard way to design text editors: https://dspace.mit.edu/bitstream/handle/1721.1/5736/AIM-519A.... Gosling sold his Unix clone of Stallman's Emacs to UniPress in 1983, after Stallman had spent seven years writing the editor Gosling had copied; Stallman's version had perhaps a thousand users before Gosling wrote a line of Gosmacs. Stallman tells the story in 2002 in the lecture linked above. Other people like Bernie Greenberg confirm Stallman's version. I find it quite dispiriting that 34 years after The Great Emacs Copyright Debate was conclusively settled (by Stallman replacing the disputed redisplay code with a better algorithm, three months after the initial release of the first version of GNU Emacs and the ensuing hue and cry) we are still having to rebut Gosling's baseless slander of the man whose work Gosling copied to get rich.
In James Gosling on Richard Stallman [video]
> The inspiration was the TOPS-20 input JSYS (system call) mixed in with Emacs. I find this interesting, because the t in tcsh comes from TENEX, the immediate predecessor to TOPS-20. https://web.archive.org/web/20120414085306/http://www.tcsh.o... > TENEX was created at Bolt, Beranek & Newman (a Cambridge, Massachusetts think tank) in 1972 as an experiment in demand-paged virtual memory operating systems. They built a new pager for the DEC PDP-10 and created the OS to go with it. It was extremely successful in academia. > In 1975, DEC brought out a new model of the PDP-10, the KL10; they intended to have only a version of TENEX, which they had licensed from BBN, for the new box. They called their version TOPS-20 (their capitalization is trademarked). A lot of TOPS-10 users (`The OPerating System for PDP-10') objected; thus DEC found themse
Read the rest
lves supporting two incompatible systems on the same hardware--but then there were 6 on the PDP-11! > TENEX, and TOPS-20 to version 3, had command completion via a user-code-level subroutine library called ULTCMD. With version 3, DEC moved all that capability and more into the monitor (`kernel' for you Unix types), accessed by the COMND% JSYS (`Jump to SYStem' instruction, the supervisor call mechanism [are my IBM roots also showing?]). https://groups.google.com/forum/?hl=en#!msg/net.sources/BC0V... Purely as a side note, TOPS-20 was commonly called TWENEX ("Twenty TENEX", because the machines it ran on were branded DECSYSTEM-20 by DEC) and the ITS Emacs info file had an interesting note to this effect: https://github.com/PDP-10/its/blob/master/doc/info/emacs.147 Twenex Twenex is the operating system which DEC likes to call "TOPS-20". However, a person should not be forced to call a system "tops" unless he really thinks so. Come now, DEC, don't you think people will praise your products voluntarily? The name "Twenex" is also more appropriate because Twenex was developed from the Tenex system, and has no relationship to "TOPS-10". What's more, it's very euphonious.
In Things to Know About GNU Readline
>I would add that "debugger" is not mostly a tool for finding and fixing bugs. It is tool for code-understanding, giving you a "live view" of your code, for READING your (or someone else's) code in the order it executes. Absolutely! I couldn't agree more. From the discussion about forking sub-processes from the shell: The compiler/assembler/disassembler/debugger should be built into the shell, just like ITS DDT at the MIT-AI Lab in 1969! ;) https://en.wikipedia.org/wiki/Incompatible_Timesharing_Syste... https://dspace.mit.edu/handle/1721.1/6153 https://github.com/PDP-10/its/blob/master/doc/info/ddt.33 https://github.com/PDP-10/its/blob/master/doc/_info_/ddtord.... https://github.com/PDP-10/its/blob/master/doc/debugging.md
In Virtual DOM is pure overhead (2018)
In Understanding the fork system call in Unix

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.