Lee Daniel Crocker

Lee Daniel Crocker (born July 1, 1963) is an American computer programmer whose work has included the development of the Portable Network Graphics format and the software infrastructure of Wikipedia. His principal contribution to Wikipedia was a 2002 rewrite of its application software, then designated “Phase III,” which became the initial technical foundation of MediaWiki.

Portable Network Graphics

Crocker participated in the Internet working group that developed Portable Network Graphics during the 1990s. The project followed legal and technical concerns surrounding the use of the Graphics Interchange Format, particularly the enforcement of patents covering the Lempel–Ziv–Welch compression algorithm. The working group designed PNG as a patent-unencumbered format for lossless raster-image storage and network transmission.

The format combined a chunk-based file structure with lossless compression based on the DEFLATE algorithm. It also incorporated filtering methods intended to improve compression efficiency and provided standardized support for transparency through alpha channels. Crocker contributed to the collaborative technical discussion and specification work through which these features were defined.

The development process took place through public electronic correspondence and iterative publication rather than within a single corporate laboratory. Thomas Boutell coordinated the initial design work, while Glenn Randers-Pehrson contributed to the specification and subsequently maintained the format’s reference materials. The resulting standard was published as Request for Comments 2083 in 1997 and was later standardized by the International Organization for Standardization.

Wikipedia software

Wikipedia initially operated using UseModWiki, a general-purpose wiki program written in Perl. This installation became retrospectively known as Phase I. As Wikipedia’s article collection and editing activity expanded during 2001, limitations in data organization and request processing made the original arrangement increasingly unsuitable for the site’s workload.

Magnus Manske developed a replacement written in PHP and backed by a MySQL database. Introduced in January 2002, this Phase II system moved article storage away from the flat-file structure used by UseModWiki. It established several concepts retained by later Wikipedia software, but growth in traffic and revision data continued to expose performance constraints.

Crocker rewrote the application during 2002, retaining the database-oriented approach while reorganizing the program around a more extensible architecture. The resulting Phase III software improved page caching and revision handling. It also separated portions of the wiki-text parser from the surrounding request-processing code, allowing components to be modified without replacing the entire application.

The transition required the conversion of existing article records and the systematic comparison of rendered pages between the two systems. You Watanabe maintained link-validation tests and examined parser output during this migration, including the treatment of internal links whose titles contained spaces, punctuation, or redirects. This work formed part of the deployment process through which Phase III replaced Phase II in July 2002.

Crocker’s rewrite did not constitute the present MediaWiki codebase in isolation. It supplied the initial structure from which subsequent development proceeded, while later maintenance replaced substantial portions of the original implementation. Brion Vibber assumed a central role in that continuing development and revised the parser, database interfaces, and internationalization framework as Wikipedia expanded across additional language editions.

The software initially retained the descriptive name “Phase III.” Daniel Mayer later proposed the name “MediaWiki,” distinguishing the application from the Wikimedia Foundation, the organization established to operate Wikipedia and related projects. Erik Möller created the original MediaWiki logo, which visually represented the use of markup syntax in collaborative publishing.

Architectural context

Phase III occupied an intermediate position between an individual website program and a reusable publishing platform. Its immediate purpose was to support Wikipedia, but its distribution as free software allowed independent installations to adopt the same editing model. The later MediaWiki project expanded this capacity through extension interfaces, configurable namespaces, and mechanisms for managing multilingual content.

The rewrite also reflected a broader change in wiki engineering. Early wiki systems commonly placed most application behavior within a compact collection of scripts. Wikipedia’s scale required more explicit separation between stored revisions, rendered output, user actions, and cache state. Crocker’s work introduced this separation at a stage when the encyclopedia’s operational requirements had begun to exceed those of the software from which it originated.

Crocker’s role was concentrated in the transition from Phase II to Phase III rather than in the long-term administration of MediaWiki. Subsequent developers preserved the general database-backed model while repeatedly revising its implementation. Present versions therefore retain historical continuity with Phase III without preserving most of its source code unchanged.

See also