The processes used news groups (USENET), and (predominantly) email. A bug "existed" as a thread, putting "
[BUG REPORT]" or "
LINUX BUG REPORT" in the subject was a common convention. There were no bug IDs. Given the typical user-base, a bug report often came with a patch. There was one long-forgotten software tool used:
ibug (see below), other than that
From Linux Installation and Getting Started (Jan 1994, v2.0 archived copy)
2.6 The Design and Philosophy of Linux
When new users encounter Linux, they often have a few misconceptions and
false expectations of the system. Linux is a unique operating system,
and it is important to understand its philosophy and design in order to
use it effectively. Time enough for a soapbox. Even if you are an aged
UNIX guru, what follows is probably of interest to you.
In commercial UNIX development houses, the entire system is devel-
oped with a rigorous policy of quality assurance, source and revision
control systems, documentation, and bug reporting and resolution. [...]
With Linux, you can throw out the entire concept of organized
development, source control systems, structured bug reporting, or sta-
tistical analysis. Linux is, and more than likely always will be, a
hacker's operating system.(4)
[...] For the most part, the Linux community communi-
cates via various mailing lists and USENET newsgroups. A number of con-
ventions have sprung up around the development effort: for example, any-
one wishing to have their code included in the ``official'' kernel
should mail it to Linus Torvalds, which he will test and include in the
Here's a bug report and fix from December 1992 (0.98.6) on comp.os.linux:
Very early on there was an email list ml-linux-bugs (1992/1993), from this early FAQ in the Slackware 1.01 distribution:
VI.01) It seems that $#@! ported on linux don't run correctly, what
do I do about reporting bugs?
Note that my "firstname.lastname@example.org" bug reporting list has been
phased out. It turns out that Linux has so few bugs, most of which are
resolved on the newsgroup or through Linus before I can accumulate them
and post. :) In short: if there's a bug in Linux or in Linux-ported
software, it will usually be fixed in the next patchlevel or version.
There was the "linux-kernel" email list (which ran on the original
vger), newsgroups alt.os.linux, then comp.os.linux (which quickly split to a hierarchy in 1993).
This early Linux FAQ (v1.11 Nov 1992) from comp.os.linux also suggests emailing Linus directly.
In 1992 Matt Welsh (Running Linux, Linux Bible, TLDP) announced
ibug to assist in generating emailed bug reports (ironically, you could not run this on Linux at that time since it lacked sufficient networking to be able to send an email).
An email bug report template
linux.temp was periodically posted on comp.os.linux too, and updates to a bug report had an update template
There was also a patch repository (FTP), as far as I can tell this was mostly (not exclusively) for patches to programs for porting to Linux.
CVS copies of the kernel source were common, the earliest I can find is Dirk Steinberg's, from kernal-0.99.14 era. The first announcement I can find is from Jan 1993 on linux-activists. You can still find archived copies (1994). Dirk also maintained cvs binaries and libc source in CVS.
CVS wasn't used to track bugs in the contemporary sense, some developers preferred to use it, and patches were frequently submitted in the form of cvs generated diffs.
Around this time (Oct 1995) David S. Miller started using CVS for the SPARC port of the Linux kernel (The Linux/SPARC port).
By Feb 1996 several other kernel developers were independently using CVS to keep track of patches, from linux-kernel this thread and this thread: Alan Cox, Stephen Tweedie, Kai Henningsen. (The second thread reports Russ Nelson stating first-hand Linus' aversion to CVS.)
In April 1998, shortly after the birth of Linus' second child the issue of CVS came up again, from linux-kernel see this subthread (Linus reiterates his concerns about CVS there directly).
In Dec 1997, Andrew Tridgell released jitterbug, a web-based bug tracker. By June 1998 the "linux-patches" JitterBug was being advocated on linux-kernel by Alan Cox. This was as far as I can tell, the first actual bug tracking system used by Linus and other key developers, sadly the "linux-patches" instance is no longer online.
In September 1998, bitkeeper is first promoted on linux-kernel by Larry McEvoy.
1999 and later
By 1999/2000 the lkml FAQ started referring (Q 1-16) to the CVS tree on (the original) vger. This was maintained at the time by Andrew Tridgell.
By December 2001, Jitterbug had fallen out of favour, see this linux-kernel thread, Linus, Alan Cox and many others get involved in discussing why.
By Jan 2002, Linus started getting interested in bitkeeper (already used by the PowerPC Linux kernel team).
In Feb 2002 Linus started using Bitkeeper for the 2.5 development tree.
In Nov 2002 the OSDL hosted Linux Bugzilla for the 2.5 tree was announced. (If you haven't already read the bugzilla link in the question, go and read it now, it contains vintage Linus rants).
In April 2005 Linus announced a move away from BitKeeper, around the time he first mentioned
git by name. Shortly after git had become capable of self-hosting, Linus ceased using BitKeeper and started using git for the kernel.
In December 2008 the Patchwork patch tracker for linux-kernel was announced, this is a SCCS-agnostic web-based patch tracker that integrates with mailing lists to track patches and followups. Its use continues to this day, there are approximately 40 lists tracked this way on https://patchwork.kernel.org/ , though not all are active.