Science and technology

The mysterious historical past of the MIT License

Recently, David Humphrey posed a seemingly easy query on Twitter.

I say “seemingly straightforward” as a result of the MIT License is among the hottest licenses utilized by open supply software program. The MIT License, Apache License, and BSD license are the principle permissive licenses, a time period that contrasts with reciprocal licenses just like the GPL, which require supply code to be made out there when software program is redistributed.

Given its reputation, you’d assume the license’s inception can be well-documented. I discovered numerous clues that added as much as a date within the late 1980s however nothing definitive. However, Keith Packard and Jim Gettys jumped on the thread to supply first-hand accounts of the license’s creation. In addition to offering early examples of the license, their assist additionally gave me the context to higher perceive how the license advanced over time.

The date? The greatest single reply might be 1987. But the whole story is extra sophisticated and even somewhat mysterious.

This story begins with Project Athena on the Massachusetts Institute of Technology (MIT). “Project Athena was a joint project of MIT, Digital Equipment Corporation (DEC), and IBM to produce a campus-wide distributed computing environment for educational use,” says Wikipedia. Launched in 1983, it gave rise to vital software program that will find yourself getting used broadly, together with the X Window System and Kerberos.

The X Window System particularly supplies the essential framework for “drawing and moving windows on the display device and interacting with a mouse and keyboard,” says Wikipedia. Version 1 of X got here out in June 1984. The software program reached model 11 in 1987 (therefore “X11,” as all subsequent releases have been known as). Minor releases use nomenclature akin to X10R4 or X11R7.7.

X was initially beneath a proprietary license however, in accordance with Packard, what we’d now name an open supply license was added to X model 6 in 1985. (I say “now call” as a result of the time period “open source” wasn’t coined till Christine Peterson did so in 1998.) According to Gettys, “Distributing X under license became enough of a pain that I argued we should just give it away.” However, it turned out that simply putting it into the general public area wasn’t an possibility. “IBM would not touch public domain code (anything without a specific license). We went to the MIT lawyers to craft text to explicitly make it available for any purpose. I think Jerry Saltzer probably did the text with them. I remember approving of the result,” Gettys added.

There’s some ambiguity about when precisely the early license language stabilized; as Gettys writes, “we weren’t very consistent on wording.” However, the license that Packard signifies was added to X Version 6 in 1985 seems to have endured by X Version 11, Release 5. A later model of the license language appears to have been launched in X Version 11, Release 6 in 1994.

Hence, there is a good argument to be made that the MIT License, additionally known as the X Consortium or X11 License on the time, crystallized with X11 in 1987, and that is the very best date to make use of. You may argue it was created in 1985 with potential changes over the following couple of years. Licenses typically advanced incrementally in these days. For instance, Gettys noticed that though the GPLv1 license was formally launched in 1989, Richard Stallman’s Emacs was beforehand distributed beneath a license much like the GPL.

But the story does not finish there. If you take a look at the license used for X11 and the approved MIT License on the Open Source Initiative (OSI), they don’t seem to be the identical. Similar in spirit, however considerably totally different within the phrases used.

The “modern” MIT License is identical because the license used for the Expat XML parser library starting in about 1998. The MIT License utilizing this textual content was a part of the first group of licenses authorised by the OSI in 1999. What’s peculiar is that, though the OSI described it as “The MIT license (sometimes called called [sic] the ‘X Consortium license’),” it isn’t in truth the identical because the X Consortium License.

How and why this shift occurred—and even when it occurred accidentally—is unknown. But it is clear that by 1999, the authorised model of the MIT License, as documented by the OSI, used language totally different from the X Consortium License. This is the rationale why some, together with the Free Software Foundation, desire to keep away from the “MIT License” terminology fully, provided that it might discuss with a number of associated, however totally different, licenses.

(The MIT License is just not distinctive in such inconsistency. For instance, there’s a Three-Clause BSD License and an older Four-Clause one, though there isn’t any express versioning.)

So, there you have got it. Pick your date. Precursors from 1985. The X Consortium or X11 License variant from 1987. Or the Expat License from 1998 or 1999.

Thanks to the individuals in this Twitter thread for making this text potential.

Most Popular

To Top