CentralNic's story goes back more than a quarter of a century, to 1996 (the year that gave birth to the Spice Girls, Duke Nukem 3D, Internet Explorer 3 and DVDs, amongst others), when NomiNation was launched, offering third-level registrations under the .UK.COM domain name. Throughout all that time, we've developed and maintained our own in-house registry systems. In the time since its launch, the registry system has grown in both its scale and maturity, and is now the leading domain registry platform for new TLDs.
What follows is an edited version of an internal document that is at least 20 years old. Its final entry was added in 2006. It is a curious historical artefact, which describes some of the arcane (and archaic) technology upon which the CentralNic registry system was once based. The true identity of its author(s), and its level of historical accuracy, are unfortunately unknown.
$Id: history.txt,v 1.14 2006/10/13 21:59:22 gavin Exp $
The History of the CentralNic Registry System
Versions beginning "N" are NomiNation-branded systems, versions beginning "C" are CentralNic-branded systems.
NomiNation was the predecessor company to CentralNic: Steve D went into partnership with Laszlo H (who was the original owner of UK.COM) to create a second-level domain registry in 1994. The company was folded into CentralNic upon its incorporation in 2000.
1995-1997: N0
Built on an Altos 386, running Informix. Very few domains still exist from this era. Coded by Steve D. Used UUCP protocols to transfer system setup information to a SunOS/Solaris box, which at regular intervals, rebuilt the UK.COM zonefile. There was no automaton and everything was manual.
Later on, J. Bean (who named a Perl package, Jelly::Bean after himself which was an amusingly integral part of the NomiNation code for quite some time), wrote an automaton on Solaris, that was capable of taking in correctly formatted email templates, and used Msql (miniSQL) as a back end. The system would do very basic validation of information, and then 'queue' the request, for manual processing, whenever anyone had time to run the script.
1997-1998: N1
Built by Craig B. System was writted in Perl and shell-script under Solaris 2.5.1, with a MySQL back-end. Various data anomalies appear in this system as a result of the port of invoice data from the Altos. Still taking data from the Altos system, as well as email submissions, data integrity and flow was still a major issue, the system was still 'messy'. The invoicing system at the time was written to use Nroff to format invoices :) There was no financial auditing and basic accounting. A web interface at this point had not been discussed at all, and most jobs were done using a command line console interface.
Key dates:
12/12/1997 - expiry dates set to this for all imported Altos stuff as a result of bugger-up import.
1998 - April 2000: N2
Written by Paul H and Joel R, and subsequently altered by Andy S to do proforma invoicing and other strange financial calculations. First renewal run completed around September 2000. Domain names were still manually "approved" up until around September 2000, when the system was placed onto automatic unvalidated registrations.
Automaton handled templates which looked like the Network Solutions template format.
Invoicing was handled as postscript documents which were sent directly to the Laserwriter printer.
Key dates: 02/2000 - move to proforma invoicing.
04/2000 - move to CentralNic, cobranded system with dual accounting.
Note that there are a *lot* of accounting evilnesses around this time.
April 2000 - June 2000: C1
Written by Andy S, part of the dual system which had N2 in it. Difference between NomiNation and CentralNic domains was with the inclusion of a "branding" flag associated with each domain.
June 2000 - March 2001: C2
Written by Peter C and Rob A. Used Perl and MySQL. First version of system to log as "History".
A move was made to an automaton template format which resembled the Nominet/RIPE template format.
Invoicing was printed via LaTeX/postscript piped to a printer.
Key dates:
06/2000 - move to C2 caused some proformas to be issued in error
March 2001 - December 2004: C3
Written by Joel R, Gavin Brown, and others. First system which used modules for different tasks rather than integrating automaton as sole method of registration. Also first version to use Datacash as a credit card clearance method.
Invoicing is generated from PDF documents which are translated to postscript and piped to the printer.
Subsequent innovations included a real-time HTTP based reseller API, an affiliates scheme, e-mail invoicing and rich intra- and extranets.
Key dates: 04/2002 - move to full domain lifecycle
December 2004 - Present: C3.1 (C4)
Written by Gavin Brown, Jon H, and others. This system was built using the same database schema and underlying architecture as C3 but used a library of object classes to reduce duplicate code and naked SQL. Based on PHP5 and DB_DataObject. Closely associated with the GRS registry system developed for the .LA ccTLD.