Hacker News new | past | comments | ask | show | jobs | submit login
Multics Simulator (multicians.org)
59 points by kristopolous on April 28, 2020 | hide | past | favorite | 20 comments



I've been running multics on simh for a while - it's amazing and a revelation to experience some of the ways that it surpasses UNIX (memory safe implementation in PL/I -> no stack and buffer overflows, unified storage model, nested ring security and system call architecture, long command forms, etc.) while also trying out ancient forms of email, emacs, lisp, BASIC, C and Fortran as well as weird and obsolete, but historically interesting, languages like BCPL (predecessor of C) and PL/I (predecessor of... nothing, probably, except maybe Ada in some sense.)

If modern UNIX/Linux distros were to adopt three features from Multics, I'd love to see memory safe compilation, long-form commands (e.g. in multics, "ls" is a shortcut for "list-segments"), and ring security (which is basically flexible nested paravirtualization, enabling many of the things we currently do with VMs, containers, and user mode drivers.)


Also advisable is to spend a couple of minutes going through https://www.multicians.org/myths.html


There's some useful perspective in there, but they're not exactly unbiased.

> Myth: Multics was closed source

> Bull HN has made the entire source available "for any purpose and without fee" at MIT as of November 2007.

So it was only proprietary (shared source, looks like) for the first 4 decades. Right.


I believe UNIX source code was proprietary as well

> Until then, all versions of BSD used proprietary AT&T Unix code, and were therefore subject to an AT&T software license. ... This led to Networking Release 1 (Net/1), which was made available to non-licensees of AT&T code and was freely redistributable under the terms of the BSD license. It was released in June 1989. > Within eighteen months, all of the AT&T utilities had been replaced, and it was determined that only a few AT&T files remained in the kernel. These files were removed, and the result was the June 1991 release of Networking Release 2 (Net/2), a nearly complete operating system that was freely distributable.

Still

> The USL v. BSDi lawsuit was filed in 1992

https://en.wikipedia.org/wiki/Berkeley_Software_Distribution


We should also consider that the current mainstream definition of "open source software" only dates from the 1998 founding of the Open Source Initiative; yet debates about "open"-vs-"closed" source code have been going on in the industry since at least the early 1980s, and I'm sure someone at some point would have used the phrase "open source" prior to 1998, but not in the exact same sense it is currently used.

IBM caused immense controversy in 1983 with their "Object Code Only" (OCO) announcement–they were no longer going to ship the source code to customers with new versions of their mainframe operating systems. Might it make sense to describe that as a shift from "open source" to "closed source"? Even though, most of that software was copyright by IBM and required paying IBM license fees to legally use, and hence isn't "open source" by the contemporary meaning of the phrase.

IBM's "closed source" decision upset a lot of their customers, who found source code availability very useful in debugging problems and also implementing local customisations/extensions. And I'm sure competing mainframe vendors who had an "open source" policy instead (including Honeywell, owner of Multics) would have emphasised that differential to their customers.


But open source existed long before 1998.


What we now call “open source software” existed before 1998, but the phrase “open source software” wasn’t in widespread use prior to 1998, and any pre-1998 uses of the phrase don’t have the current quite specific meaning.

The FSF promoted the phrase “free software”. The “open source” term was chosen as an alternative because (1) English “free” is ambiguous (price vs liberty) (2) the FSF’s strict ethical stances weren’t very corporate-friendly and so “open source” avoided the association with FSF which was seen as alienating many corporate executives (3) it represented a broader range of acceptable licensing conditions than the FSF’s strict ethics would allow


There's no need to pick such nits. The point was clear: "open source" -even with very loose definitions of "open source"- was one key to Unix's triumph over Multics. BSD was "open source" even in 1978 because Bill Joy did nothing to verify that recipients of BSD source had AT&T Unix source licenses. Eventually BSD became truly open source when the AT&T-Berkeley lawsuit was settled -- truly open source by the standard you mention, even though that was before 1998. That no one spoke of "open source" in 1978 is neither here nor there. Multics is practically unused by comparison to Unix. The End.


UNIX was proprietary licensed code developed and owned by AT&T / Bell Labs. You had to pay for a license. The source was distributed to academic institutions and OEMs/VARs–but not always the customers of those OEMs/VARs. As such, in some ways it was less "open source" than Multics was–every Multics customer got the source, but not all end-users of UNIX (buying it through an OEM/VAR) did.

The first freely available (without paying for an AT&T license) distribution of BSD was Net/1 in 1989. (And even that was under a legal cloud which was not resolved until the USL vs. BSDi lawsuit was settled in 1994.) Active development and marketing of Multics was terminated in 1987, although bug fixes continued to be made for existing customers until the last customer site shut down in 2000. So the statement that "UNIX is open source but Multics is not" wasn't true in the relevant timeframe, and differences in source model aren't a good explanation of the failure of Multics vs. UNIX's success.

> BSD was "open source" even in 1978 because Bill Joy did nothing to verify that recipients of BSD source had AT&T Unix source licenses.

I haven't heard before the claim that Bill Joy distributed BSD to non-licensees–which, if true, probably violated the license agreement his employer signed with AT&T. (Prior to Net/1, BSD lacked a clean separation between code originally developed by Berkeley, and modified AT&T code). If a person distributes source code in violation of license agreements, does that make the source code "open source"?


Oh, totally; if they want to make a page, "unix really wasn't better than multics", and include such points as "Bell Labs Unix was also proprietary/shared-source", then I'd 100% support that. But I have to object to a page of "myths" that range from partially true to completely true.


But making Multics open source wasn't useful until the simh simulation of the processor became available. Before that, you're going to run it on what, your Honeywell mainframe?


The way I see it, the biggest achievement of Multics is if it wasn't for its (perceived or real) faults we'd never had UNIX.


I bet there are plenty of developers that would consider it a positive timeline.


I love that one of the main goals of that system was to provide a computing utility, very similar to what AWS and friends have become.


Why?


To gain an understanding on how it actually looked like, instead of just listening to UNIX marketing.


It's not marketing, is it. Unix, then Linux, won all the mindshare. No company is advertising Unix or Linux as better than Multics. Multics is culturally not a thing. It wasn't AT&T who dun it. It was Berkeley.


Free beer has lots of power.


Doesn't have to be free to get mindshare, though it helps.

Multics lost the mindshare battle when Berkeley started distributing BSD. They would have had to go open source / free way back then, in 1978 or so.

Mindshare, mindshare, mindshare. That's the key for this sort of thing.

Oracle, for example, locked in SQL mindshare long ago. I'm not sure that Larry Ellison understands this -- after all, he (well, Safra Katz) killed OpenSolaris when that was a vehicle for gaining mindshare. But then again, maybe it was too late for Solaris anyways.


1. For the sheer interestingness of history.

2. To mine it for ideas. I did this once with a different "old" OS that you never heard of. Found a cool feature, added it to Linux, and there's a fair chance you use it today. (details omitted to avoid self-dox)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: