The History of Interchange
Interchange is a descendent of Vend, an e-commerce solution originally developed by Andrew Wilcox in early 1995. Mike Heins took the first publicly-released version, Vend 0.2, and added searching and DBM catalog storage features to create MiniVend. Mike released MiniVend 0.2m7 on December 28, 1995. Subsequent versions of MiniVend took parts from Vend 0.3, especially the vlink and Server.pm modules, which were adapted to run with MiniVend. In the four years that followed, Mike Heins expanded and enhanced MiniVend, creating a powerful and versatile e-commerce development platform. MiniVend grew to support thousands of businesses and their e-commerce sites.
Separately, an experienced e-commerce development team founded Akopia. Their goal was to create a sophisticated open source e-commerce platform that was both feature-rich and easy to use. Their product, Tallyman, was intuitive, and had great content-management features, but lacked many of MiniVend’s capabilities.
Akopia acquired MiniVend in June 2000. Mike Heins and the Tallyman developers combined MiniVend 4 with Tallyman’s features to create Interchange. In order to preserve compatibility, it was decided that the name “MiniVend” and prefixes like mv_ and MVC_ continue to appear in source code and configuration files. Interchange’s first stable release was version 4.6.
In January 2001, Red Hat acquired Akopia and created its new E-Business Solutions Division. Red Hat sponsored the development of Interchange 4.8 and the Red Hat E-Commerce Suite.
In mid-2002 Red Hat stopped supporting Interchange development, and its core developers formed the Interchange Development Group to coordinate development independently. Their first stable release was Interchange 5.0.
In 2004/2005, the Interchange documentation system was completely redesigned in to achieve better output results and bring the documentation up to date.
Around 2007 Stefan Hornburg spearheaded a new Interchange catalog template called WellWell, with a number of contributors and users.
In 2008 for Interchange 5.6, Sonny Cook and others added complete Unicode support for the UTF-8 character-set encoding, after several years of partial ad-hoc approaches to using UTF-8 in Interchange. Improvements and accommodation to Perl’s finicky Safe module continued over the next year or so.
From around 2009 through 2015 possible future directions for Interchange were discussed and experiments developed. An incompatible new Interchange 6 was begun, code-named first Bongo and then Nitesi. It “stands on the shoulders of giants” such as Plack/PSGI, Dancer, CPAN modules, and modern Perl, and uses UTF-8 throughout. Plugins provide additional functionality like payment gateways, coupons, shipping calculation, reviews, etc. While it was used on a couple of production sites, it never became a general replacement for Interchange 5.
During those same years Interchange 5 saw a steady flow of improvements, including full IPv6 support, bcrypt password hashing with automatic promotion from older hash types, new and updated payment gateway modules, increased performance, support for fine-grained HTTP caching control and modern cookie features, increased default security by limiting access to session dump & code evaluation features, and many new convenience features making development more efficient.
Late 2015 Josh Lavin changed the default Interchange demo catalog (application) to a new one called Strap, replacing the previous “Standard” demo. Strap is based on the Bootstrap framework and brought many new features: UTF-8 by default, SEO-friendly URLs, gift certificates, stock alerts, address books, default email for user names, bcrypt passwords, password reset links in email instead of reminders sending old passwords, and simpler templating and configuration. This made it much easier to use many longstanding Interchange features out of the box.
In 2018 we increased the minimum Perl version required by Interchange to 5.14.1, after many years of conservative support for Perl versions as old as 5.8.5. This allowed core Interchange code to take advantage of newer Perl syntax, updated standard modules, and better Unicode support in Perl.
Today, Interchange 5 continues to power many busy ecommerce sites. It is well-maintained and supported, with new integrations and features being added as needed. The current stable release is version 5.10.0. See the download page to access the source code repository and package downloads now!
Retired Core Team Members
Name | Started | Retired | Tasks |
Brev Patterson | Mar 2001 | Nov 2007 | Developer |
Daniel Browning | Jun 2001 | Nov 2016 | Developer |
David Christensen | Aug 2009 | Nov 2020 | Developer, release manager |
David Kelly | May 2002 | Jul 2009 | Design |
Davor Ocelić | Jun 2004 | Mar 2011 | XMLDOCS Interchange documentation system, icdevgroup.org website, I18N |
Ed LaFrance | Sep 2001 | Dec 2004 | Developer |
Ethan Rowe | Nov 2004 | Oct 2010 | Developer |
Jonathan Clark | Jan 2001 | Jun 2009 | Developer |
Josh Lavin | Feb 2012 | Feb 2018 | Developer |
JT Justman | Dec 2008 | Jan 2010 | Developer |
Jure Kodžoman | Jun 2008 | Apr 2020 | Interchange 6, Design |
Kevin Walsh | Jan 2002 | Mar 2011 | Developer, mod_interchange Apache module maintainer |
Mark Lipscombe | Jun 2009 | Oct 2014 | Developer |
Paul Vinciguerra | Sep 2003 | Jun 2009 | Developer |
Randy Moore | Dec 2002 | Jul 2009 | Developer |
Ton Verhagen | Jun 2001 | Oct 2014 | Developer |
Other contributors
Alison Smith | Andreas Koenig | Andrew Rich |
Bill Carr | Bill Dawkins | Bill Randle |
Birgitt Funk | Bob Jordan | Brent Kelly |
Brian Bullen | Brian Kosick | Brian Miller |
Bruce Albrecht | Cameron Prince | Carl Bailey |
Chen Naor | Christian Mueller | Christopher Miller |
Christopher Thompson | Christopher Wenham | Dan Busarow |
Dan Collis-Puro | Dan Helfman | Daniel Hutchinson |
Daniel Thompson | Dave Wingate | David Adams |
Dennis Cronin | Don Grodecki | Don Hathaway |
Donald Alexander | Eric Zarko | Frank Bonita |
Frederic Steinfels | Gary Benson | Gunnar Hellekson |
Hamish Bradick | Hans-Joachim Leidinger | Heinz Wittenbecher |
Hiroyuki Cozy Kojima | Ignacio Lizarán | Ivan Kohler |
Jack Tsai | Jason Holt | Jason Kohles |
Javier Martin | Jeff Barr | Jeff Boes |
Jeff Carnahan | Jeff Fearn | Jeff Nappi |
Jochen Wiedmann | Jonathan Walker | Jordan Adler |
Josh Braegger | Josh Lavin | José Mª Revuelto |
Jurgen Botz | Justin Otten | Kaare Rasmussen |
Keiko | Keith Oberlin | Kim Lauritz Christensen |
Larry Huffman | Larry Leszczynski | Lars Tode |
Lyn St George | Marc Austin | Marco Pessotto |
Mark Stosberg | Marty Tennison | Massimiliano Ciancio |
Mat Jones | Matthew Schick | Max Cohan |
Michael Lehmkuhl | Michael McCune | Michael Wilk |
Mick Weiss | Mike Frager | Neil Evans |
Nelson Ferrari | Paul Delys | Paul Jordan |
Phil Smith | Raj Goel | Ray Desjardins |
Reid Sutherland | René Hertell | Ryan Perry |
Sergiusz Jarczyk | Shozo Murahashi | Sonny Cook |
Spencer Christensen | Steve Graham | Thomas J.M. Burton |
Tim Baverstock | Tom Friedel | Tom Tucker |
Tommi Labermo | Toni Mueller | Troy Davis |
Victor Nolton | William Dan Terry | Zachary Matthews |
And, of course, the entire Perl team without whom Interchange could not exist.
Site Areas
- About Interchange
- Live demo
- Gallery of sites running Interchange
- Downloads & source code
- Documentation
- Community resources (mailing lists etc.)
- Professional support
What Interchange users are saying:
When we first got into the web application business, we made an exhaustive look at the available technologies (at the time). It was apparent Interchange had the highest learning curve, but also one of the few with the ability to do just about anything you’d ask of it.
Since our applications can take any form, we needed something extremely flexible, and something that if asked, could handle ecommerce, email, CRM, CMS, and anything else that comes our way. Interchange has never once disappointed.
We’ve always considered ourselves lucky in making that decision some 7 years ago.
Paul Jordan, Gish Network