Thanks go out to the following wonderful folks:

First and foremost, John Hagan, best friend, lead beta-tester, and guy who got me a new job. He's been the driving force behind much of xv. Nearly all the major differences between the xv that you see today, and the xgif of four (five? six?) years ago can be traced to the years of continual harassment because of alleged (and actual) weaknesses in xgif. xv probably never would've been written, were it not for his input. Many of the features in the code were his idea. For example, he'd been asking for a Visual Schnauzer for years now...

Filip Fuma, my former boss, deserves a great deal of thanks for seeing the value of xv, and allowing, (if not actually encouraging) me to write it. I also owe him an eternal debt of gratitude (if not actual money) for being the genius who said "You know, you should make this into shareware..."

Helen Anderson has provided many fine ideas over the years, and has continued to be amused by xv for much of that time, more than I can occasionally say for myself. She also proofread the 2.20 version of this document, much of which remains verbatim.

Patrick J. Naughton ( provided 'gif2ras.c', a program that converts GIF files to Sun Rasterfiles. This program provided the basis for the original xgif, which eventually grew into xv. As such, it would be safe to say that he "started it all." This code, now somewhat modified, is still in use in the module xvgif.c.

Michael Mauldin ( provided a short, understandable version of the GIF writing code. This code, essentially unmodified, is in the module xvgifwr.c .

Dave Heath ( provided the Sun Rasterfile i/o support in the module xvsunras.c . Ken Rossman ( fixed it up somewhat.

Tom Lane (, for much advice and assistance on 24->8 bit quantization, color allocation, and, of course, JPEG issues.

Of course, many thanks go out to Tom and all the rest of the folks in the Independent JPEG Group for providing a freely-distributable version of the JPEG software, thereby providing the rest of us with the new standard graphics format (replacing GIF).

Sam Leffler ( has not only come up with a freely-distributable library for doing TIFF file i/o (the libtiff package), but also wrote the xv interface modules xvtiff.c and xvtiffwr.c . Thanks Sam!

Paul Haeberli ( provided me with nice clean, portable code to read and write IRIS 'rgb' files.

Jef Poskanzer ( is responsible for coming up with several cool/whizzo general image formats (pbm, pgm, ppm), and a package of programs for image manipulation and format conversion. Part of this code has been snarfed and incorporated into xv in the form of the -best24 algorithm and the XWD format support.

Rick Dyson ( has been doing the VMS ports of xv for the past couple years now. All you VMS users owe him a great big "Thank you," because you wouldn't have xv if it weren't for his efforts. I won't go near a VMS system. Rick also gets a "Thanks" from me for doing a good deal of beta-testing, as well.

David Elliot ( gets a special thanks for being the guy who has submitted more bug fixes and feature requests than anybody else. You'd almost think he has more time to work on xv than I do!

Bernie McIlroy ( for providing me with information on the BMP format. (Which is included in the docs subdirectory, so please don't bother him!)

Anthony Datri ( for writing the PDS/VICAR i/o module.

Thomas Meyer ( for writing the IFF i/o module.

Chris Ross (, for writing the XPM i/o module, and in the process, inadvertently making me think about a great number of things...

David Robinson ( for writing the FITS i/o module.

The Hall of Fame

The following folks have all contributed to the development of xv in the form of bug reports, bug fixes, patches, support for additional systems, and/or good ideas. See the CHANGELOG file for specifics:

Jimmy Aitken (
Satoshi Asami (
Leon Avery (
Tim Ayers (
Bill Barabash (
Markus Baur (
Jason Berri (
Richard Bingle (
Alan Blanchard (
Bob Boag (
David Boulware (
Thomas Braeunl (
Jon Brinkmann (
Andrew Brooks (
David Brooks (
Kevin Brown (
Elaine Chen (
Jeff Coffler (
Reg Clemens (
Paul Close (
David A. Clunie (
Jan D. (
Anthony Datri (
Berthold Dettlaff (
L. Peter Deutsch (
Derek Dongray (
Rick Dyson (
Dean Elhard (
David Elliot (
Scott Erickson (
Stefan Esser (
Bob Finch (
Robert Forsman (
Peter Glassenbury (
Michael Gleicher (
Robert Goodwill (
Dave Gregorich ( Brian Gregory (
Ted Grzesik (
Harald Hanche-Olsen (
Charles Hannum (
Dave Heath (
Scott D. Heavner (
Bill Hess (
Dave Hill (
Tom Hinds (
Ricky KeangPo Ho (
Mark Horstman (
Tetsuya Ikeda (
Yasuhiro Imoto (
Lester Ingber (
Dana Jacobsen (
Roy Johnson (
Dave Jones (
Kjetil Jorgensen (
Jonathan Kamens (
Vivek Khera (
Tero Kivinen (
Rainer Klute (
Marc Kossa (
Bill Kucharski (
( Bruce Labow (
Dave Lampe (
Tom Lane (
Peder Langlo (
Jeremy Lawrence (
Sam Leffer (
Jim Lick (
Jean Liddle (
Michael Lipscomb (
Eam Lo (
Rolf Mayer (
Stephen Mautner (
Tom McConnel (
Craig McGregor (
Thomas Meyer (
Peter Miller (
Erwan Moysan (
Chris Newman (
Lars Bo Nielsen (
James Nugent (
Arthur Olson (
Machael Pall (
Mike Patnode (
Nigel Pearson (
Joe Peterson (
Colin Plumb (
Daniel Pommert (
Robert Potter (
Werner Randolf (
Eric Raymond (
Eric Rescorla (
Phil Richards (
Declan A. Rieb (
David Robinson (
R. P. Rodgers (
Chris P. Ross (
Eckhard Rueggeberg (
Arvind Sabharwal (
Hitoshi Saji (
Nick Sayer (
Klaus Schnepper (
Steven Schoch (
Bill Silvert (
Ben Simons (
Cameron Simpson (
Mark Snitily (
Karsten Spang (
Greg Spencer (
Matthew Stier (
Andreas Stolcke (
Rod Summers (
Steve Swales (
Tony Sweeney (
Matt Thomas (
Rich Thomson (
Bill Turner (
Larry W. Virden (
John Walker (
Doug Washburn (
Drew Watson (
Chris Weikart (
Michael Weller (
Kenny Zalewski (
Jamie Zawinski (
Dan Zheme (

The Beta Testers

Eric Demerling (AIX)
Rick Dyson (VAX VMS, VMS on Alpha, SunOS)
Tom Lane (HP systems)
Sam Leffler (SGI systems)
Chris Ross (Solaris, SunOS, Ultrix, NetBSD)
Michael Weller (Linux)
Me (OSF/1, SunOS)

Thanks to these folks we can be pretty sure that xv will at least compile cleanly on the vast majority of systems. Any bugs that have slipped through are entirely my fault, as, in all fairness, I haven't given these guys much time to test it. As such, the only platform that I can say xv has been seriously tested on is OSF/1 running on a DEC Alpha, as that's been my most recent development environment.

Miscellaneous Ramblings

And, of course, thanks to everyone else. If you contributed to the developement of xv in some way, and I somehow forgot to put you in the big list, my humble apologies. Documentation and careful record- keeping are not my strong suits. "Heck," why do you think it takes me a year and a half to come up with a minor new release? Because, while I love to add new features to the code, I dread documenting the dumb things. Besides, we all know that writing the documentation is the hardest part of any program. (Particularly once the good folks at id Software insisted upon releasing DOOM II...)

And finally, thanks to all the folks who've written in from hundreds of sites world-wide. You're the ones who've made xv a real success. (Well, that's not actually true. My love of nifty user-interfaces, all the wonderful code I've gotten from the folks listed above, and the fact that xv actually serves a useful purpose ("displaying pictures of naked women") are the things that have made xv a real success. You folks who've written in have given me a way to measure how successful xv is.) But I digress. Thanks!

By the way, when I last counted (in October 1992), xv was in use at 180 different Universities, and dozens of businesses, goverment agencies, and the like, in 27 countries on 6 of the 7 continents. Since then, I've received messages from hundreds of new sites. And xv has been spotted in Antartica, bringing the total to 7 of 7 continents, and allowing me to claim that xv is, in fact, truly global software. That's probably a good thing. Does anybody know if there's a Unix workstation in the Space Shuttle?... :-)