The original vi program was written by Bill Joy in 1979, with later modifications by Mark (now Mary Ann) Horton, et al..
It can be found, still present, in several modern operating systems; specifically, the ones that descend from OpenSolaris.
It is exceedingly unlikely that you are using original vi, or its 'Heirloom vi' fork made by Gunnar Ritter in 2002.
The Joy+Horton code was encumbered with a restrictive copyright licence until the 21st century, when the source code of Solaris was finally opened up.
This, and the personal computer revolution of the 1980s, led to the existence of many clones of vi, both for non-Unix platforms and for Unices (e.g. the BSDs) where a free software replacement for encumbered Joy+Horton vi was desired early on.
N.B.:
It is somewhat glib, but it is largely my experience that whatever the list, there is always one more clone of vi than the list has.
vi
The earliest clone of vi that I can trace is the one that is most forgotten: the one sold by Mortice Kern Systems (MKS).
MKS sold what it named the "MKS Toolkit", which was a suite of Unix-style utilities, from ls to vi, for non-Unix platforms.
Per its "Now with vi" advertising in the likes of Dr Dobbs Journal, MKS vi was first released in 1986, the Toolkit itself dating from 1984.
Mortice Kern Systems was founded by people who had worked at the Mark Williams Company on Coherent, a ground-up reimplementation of Unix initially for 16-bit and later for 32-bit processors. MKS progressively cloned a vast range of AT&T and BSD tools. With a suitable supply of 1980s computer magazines, it is possible to plot the growth of the Toolkit over the years as the number of cloned utilities listed in the adverts grows. Beginning with just 50 utilities, it has around 450 today.
Over the years, the Toolkit would be available for MS/PC/DR-DOS and Windows NT. There was even a 16-bit OS/2 version at one point. Famously, a slightly modified version of the MKS Toolkit would provide the command-line tools for Microsoft's first POSIX subsystem on Windows NT.
MKS vi is probably the longest-lived actual clone, as it is still (at the time of writing this Frequently Given Answer) on the market.
comp.sources.unix v15 (archived by VSTA)
One of the next earlist clones of vi was STEVIE, originally written as a vi for the Atari ST in 1987 by Tim Thompson.
This was one of the cases of a clone coming about because someone wanted vi on a non-Unix platform.
Thompson posted it to the Usenet comp.sys.atari.st newsgroup in 1987, and pretty much abandoned it.
Tony Andrews picked it up, however, ported it to Unix and (then 16-bit) OS/2; and posted it to the Usenet comp.sources.unix newsgroup in 1988.
To the cognoscenti, who know the corny acrostic, it is 'STEVIE', not 'stevie'.
STEVIE is the first vi clone that I myself modified.
I experimented with fixing some of its inefficiencies (as my terminals were not particularly fast ones, which really highlighted some of the redrawing optimizations that it was lacking) and display bugs (mentioned in its README) and porting it to MS-DOS.
Alas, my access to Usenet, from the U.K., was entirely read-only and I was never able to send what I did to anyone.
I sometimes wonder what would have happened had I been able to tell those people in a faraway country on another continent what I had done.
Because of elvis.
Steve Kirkendall wrote elvis because of a bad experience with the bugs in STEVIE. It was a ground-up reimplementation that initially targetted Minix in 1990. John Campbell would port it to VMS in 1991, and Mike Rieser to AmigaDOS in 1992. Other ports included platforms that people in the 21st century will likely never have heard of, including the Atari TOS, Coherent, and OS9/68000.
By version 2 it had gained an HTML on-line help system, a novelty for the time; and for the remainder of the decade it was a significant influence on a later clone, VIM. The doco of VIM includes a number of things that Kirkendall and others put into elvis, that seemed to be good ideas and that were then adopted into VIM.
One of its offshoots was nvi.
NetBSD base: /usr/src/external/bsd/nvi
OpenBSD base: /usr/src/usr.bin/vi/vi
pkgsrc: editors/nvi
Debian: nvi
Arch: nvi
Void: nvi
Keith Bostic's nvi is, quite simply, 'new vi'. Bostic nvi began in 1993 as a fork of elvis 1.8, but has long since diverged from its origin.
It was created for the very simple reason that removing any whiff of AT&T code, in order to make 4.4BSD, entailed losing Joy+Horton vi.
It is what one used to find as the vi in the base operating system in the free software BSDs, and still finds in a couple of them today.
Or, strictly speaking, various forks of nvi, as they have all diverged from each other over the years, to various extents.
Not all of the BSDs have nvi in base any more, moreover. Some have nvi2.
FreeBSD base: /usr/src/contrib/nvi
MidnightBSD base: /usr/src/contrib/nvi
DragonFlyBSD base: /usr/src/contrib/nvi2
pkgsrc: editors/nvi2
FreeBSD ports: editors/nvi2
OpenBSD ports: editors/nvi
Bostic nvi has a long-standing problem with UTF-8 and MBCS support. As a Google Summer of Code project in 2011, Zhihao Yuan built upon some prior work by Jun-ichiro itojun Hagino (author of nvi-m17n) to add multibyte encoding support to Bostic nvi, creating nvi2.
In 2013, Peter Wemm brought a lot of this into the nvi that is in FreeBSD base, and FreeBSD's nvi is now largely nvi2. The FreeBSD derivatives have followed suit. DragonFlyBSD explicitly imported nvi2 wholesale into its base.
Just to make sure that things are not simple and straightforward, OpenBSD's nvi in its ports collection is in fact nvi2, and FreeBSD doubles up the nvi that is effectively nvi2 that it has in base with another nvi2 in its ports collection.
None of the major (non-pkgsrc) Linux-based operating systems package up nvi2. They only have nvi, if they have anything from this lineage at all. (RedHat EPEL does not have nvi.)
pkgsrc: editors/vim
FreeBSD ports: editors/vim
OpenBSD ports: editors/vim
Debian: vim
Arch: vim
Void: vim
Tribblix: cli-tools
The most famous vi clone is Bram Moolenaar's VIM.
It was a modified version of STEVIE, which Moolenaar had originally ported to the Commodore Amiga.
Released as "VI iMitation" in 1991, it gained its current name with version 2.0 in 1992.
By the middle of the decade, Moolenaar was putting out both the source and pre-built binary versions of VIM for MS/PC/DR-DOS (both ordinary 16-bit and a 32-bit version that used a DOS extender) and Win32 (console and GUI). These can still be found on shareware collection CD-ROMs and in places like the University of Kent mirror service. Interestingly, whilst Moolenaar built and published binaries for such niche platforms as MIPS and PowerPC Windows NT, xe neverproduced binaries for even 16-bit OS/2, let alone 32-bit OS/2 (far more widespread than any non-IA32 flavour of Windows NT). The OS/2 binaries were built using EMX C/C++ by Alex Taylor.
There are entire books on VIM, such as Ruslan Osipov's Mastering VIM or the O'Reilly book with the tarsier on the cover, which give potted development histories, including what features were added when, and the like. See those for further detail.
pkgsrc: editors/neovim
FreeBSD ports: editors/neovim
OpenBSD ports: editors/neovim
Debian: neovim
Arch: neovim
Void: neovim
RedHat EPEL: neovim
NeoVIM is a fork of VIM, developed since 2014 by Justin M. Keyes and others. It began with the aim of stripping out some of the features of VIM that the authors saw as less useful (such as ex mode and termcap support) and introducing things such as terminal buffers (a feature that VIM then copied, just as it copied things from elvis).
pkgsrc: editors/neatvi
Void: neatvi
Ali Gholami Rudi's neatvi is a ground-up clone that xe began in 2015.
Kyryl Melekhini forked it to make nextvi in 2020.
viless was created by Sterling Huxley in 2000.
It is the vi clone provided by BusyBox.
In 2020 Brent Roman extracted it from BusyBox to be a standalone tool.