Tech Pioneers

Peter Mattis: Co-Creator of GIMP and CockroachDB Who Bridged Open-Source Graphics and Distributed Databases

Peter Mattis: Co-Creator of GIMP and CockroachDB Who Bridged Open-Source Graphics and Distributed Databases

Few engineers can claim they reshaped two entirely different corners of the software world. Peter Mattis is one of them. In 1995, as an undergraduate at UC Berkeley, he co-created GIMP — the GNU Image Manipulation Program that became the open-source answer to Photoshop and spawned the GTK toolkit powering the entire GNOME desktop. Nearly two decades later, drawing on years of building planet-scale infrastructure at Google, Mattis co-founded Cockroach Labs and launched CockroachDB, a distributed SQL database designed to survive anything — including the metaphorical nuclear apocalypse of datacenter failures. His career is a masterclass in how deep systems knowledge, combined with a willingness to build from scratch, can produce tools that millions of people rely on every day.

Early Life and Education

Peter Mattis grew up with a fascination for computers that led him to the University of California, Berkeley, where he pursued a Bachelor of Science degree in Electrical Engineering and Computer Science. Berkeley in the early 1990s was a hotbed of open-source culture — the campus had already given the world BSD Unix, and a generation of students was pushing the boundaries of what free software could do.

At Berkeley, Mattis joined the eXperimental Computing Facility (XCF), an undergraduate organization established in 1986 that gave students access to advanced hardware and encouraged collaborative, experimental computing projects. The XCF was the kind of place where ambitious students could pursue ideas well beyond the scope of standard coursework. It was there that Mattis met Spencer Kimball, his roommate and future long-term collaborator. The two would go on to build some of the most consequential open-source software of the decade.

The Berkeley environment was crucial. Surrounded by peers who valued open standards and knowledge sharing — values that Richard Stallman had codified in the GNU Project — Mattis absorbed a philosophy of building software that anyone could use, study, and improve. This ethos would define his entire career.

Career and Technical Contributions

GIMP: Rewriting the Rules of Image Editing

In 1995, Mattis and Kimball began developing GIMP as a semester project for the XCF. The name originally stood for “General Image Manipulation Program” — and the pair formed the acronym by adding the letter G to “-IMP.” What started as a class project quickly grew into something far more ambitious: a full-featured raster graphics editor that could rival commercial tools costing hundreds of dollars.

The first public beta appeared in November 1995, and by the 0.54 release in 1996, GIMP was gaining serious traction in the Linux community. But Mattis was already looking beyond the application itself. Frustrated with Motif — the proprietary widget toolkit GIMP initially used — he decided to write his own. The result was GTK (the GIMP ToolKit) and GDK (the GIMP Drawing Kit), which replaced Motif entirely by the 0.60 release. GTK was later rewritten to be fully object-oriented and renamed GTK+, forming the foundation of the GNOME desktop environment.

This was not a trivial achievement. By creating GTK, Mattis inadvertently built one of the most important GUI frameworks in the Linux ecosystem — a toolkit that would be adopted by the GNOME Foundation and used by thousands of applications. As Mattis himself later noted, they never intended GTK to become a general-purpose toolkit; they simply needed something better than Motif for GIMP.

Technical Innovation

The technical architecture of GIMP was remarkably forward-looking for a student project. It featured a plug-in system that allowed third-party developers to extend functionality, supported multiple image formats and color spaces, and offered a scripting interface through Script-Fu (based on Scheme) and later Python-Fu. The architecture demonstrated a deep understanding of software extensibility — the same principle that Eric S. Raymond would later celebrate in his analysis of successful open-source projects.

Here is an example of a Script-Fu batch command demonstrating GIMP’s programmable architecture — a feature that set it apart from commercial alternatives in the late 1990s:

;; GIMP Script-Fu: Batch resize and sharpen images
;; Demonstrates GIMP's powerful scripting extensibility
(define (batch-resize-sharpen pattern width height)
  (let* ((filelist (cadr (file-glob pattern 1))))
    (while (not (null? filelist))
      (let* ((filename (car filelist))
             (image (car (gimp-file-load RUN-NONINTERACTIVE
                                         filename filename)))
             (drawable (car (gimp-image-flatten image))))
        ;; Scale image preserving aspect ratio
        (gimp-image-scale-full image width height
                               INTERPOLATION-LANCZOS)
        ;; Apply unsharp mask for post-resize sharpening
        (plug-in-unsharp-mask RUN-NONINTERACTIVE
                              image drawable 3.0 0.5 0)
        ;; Export as high-quality JPEG
        (file-jpeg-save RUN-NONINTERACTIVE image
                        (car (gimp-image-flatten image))
                        filename filename
                        0.92 0.0 0 0 "" 0 0 0 2)
        (gimp-image-delete image))
      (set! filelist (cdr filelist)))))

This scripting capability meant GIMP was not merely an image editor but a programmable image processing pipeline — a concept that professional photographers and web developers would embrace heavily as digital workflows matured.

Google: Building Infrastructure at Planetary Scale

After graduating from Berkeley in 1997, Mattis joined Google, where he spent over a decade working on some of the company’s most critical distributed systems. His contributions were foundational:

  • Gmail Backend: Mattis designed and implemented the original Gmail backend search and storage system, the infrastructure that supported one of the world’s most popular email services.
  • Google Servlet Engine: He worked on the internal servlet engine that powered many of Google’s web services.
  • Colossus: Perhaps most significantly, Mattis designed and implemented Colossus, the successor to the Google File System (GFS). Colossus was a next-generation distributed file system that addressed the limitations of GFS and scaled to exabyte levels of data — infrastructure that Sanjay Ghemawat and Jeff Dean had originally pioneered.

Working at Google also exposed Mattis to Bigtable and, critically, to Google Spanner — the globally distributed database that used atomic clocks and GPS receivers to achieve external consistency across datacenters worldwide. Although Mattis was not on the Spanner team directly, he worked alongside them for years and deeply understood both the motivation behind the project and its architectural trade-offs. This proximity planted the seed that would eventually grow into CockroachDB.

CockroachDB: Bringing Spanner to the Open-Source World

In January 2012, Mattis and Spencer Kimball left Google to start Viewfinder, a mobile photo-sharing app. Ben Darnell, formerly of the Google Reader team and then at Dropbox, joined them shortly after. Viewfinder was acquired by Square in December 2013, but the experience was transformative: while building Viewfinder, the trio realized how desperately startups needed a database with the consistency guarantees and global distribution capabilities of Spanner — without requiring Google-scale resources or proprietary hardware.

In 2014, Mattis, Kimball, and Darnell founded Cockroach Labs and launched CockroachDB as an open-source project on GitHub. The name was deliberate: like its namesake insect, the database was designed to survive anything. CockroachDB offered serializable SQL transactions — the strongest isolation level in the SQL standard — across a geo-distributed cluster, all without atomic clocks.

Why It Mattered

Before CockroachDB, organizations that needed globally consistent distributed SQL had essentially two options: build their own Spanner-like system (feasible only for the largest tech companies) or accept weaker consistency guarantees from NoSQL databases. CockroachDB democratized access to strong consistency, bringing Spanner-class capabilities to any team that could run a cluster.

The architecture uses the Raft consensus protocol for replication, with data divided into 64 MB ranges that are automatically distributed and rebalanced across nodes. Each range is replicated to at least three nodes, and a Raft leader coordinates all writes within each group. This design means CockroachDB can survive the loss of individual nodes — or entire datacenters — without losing a single committed transaction.

Here is a simplified CockroachDB cluster configuration showing multi-region deployment with locality flags, demonstrating the kind of geo-distribution that was previously only available inside Google:

# CockroachDB Multi-Region Cluster Setup
# Demonstrates geo-distributed deployment with locality awareness

# Start node in US East region
cockroach start \
  --insecure \
  --store=node1-data \
  --listen-addr=node1.us-east.example.com:26257 \
  --http-addr=node1.us-east.example.com:8080 \
  --locality=region=us-east,zone=us-east-1a \
  --join=node1.us-east.example.com:26257,\
node2.eu-west.example.com:26257,\
node3.ap-south.example.com:26257

# Start node in EU West region
cockroach start \
  --insecure \
  --store=node2-data \
  --listen-addr=node2.eu-west.example.com:26257 \
  --http-addr=node2.eu-west.example.com:8080 \
  --locality=region=eu-west,zone=eu-west-1b \
  --join=node1.us-east.example.com:26257,\
node2.eu-west.example.com:26257,\
node3.ap-south.example.com:26257

# Initialize the cluster (run once)
cockroach init --insecure \
  --host=node1.us-east.example.com:26257

# Configure zone for geo-partitioned table
cockroach sql --insecure -e "
  ALTER TABLE users
  PARTITION BY LIST (region) (
    PARTITION us_east VALUES IN ('us-east'),
    PARTITION eu_west VALUES IN ('eu-west'),
    PARTITION ap_south VALUES IN ('ap-south')
  );
  ALTER PARTITION us_east OF TABLE users
    CONFIGURE ZONE USING
    constraints='[+region=us-east]',
    lease_preferences='[[+region=us-east]]';
"

This approach to database design reflects a philosophy that Mattis shares with other pioneers of distributed data infrastructure. Jay Kreps, who built Apache Kafka at LinkedIn, faced a similar challenge: making real-time distributed data processing accessible to organizations beyond the tech giants. Like CockroachDB, Kafka succeeded by providing an open-source abstraction over a pattern that had previously required bespoke internal infrastructure.

Other Notable Contributions

GTK and the GNOME Ecosystem

The impact of GTK deserves separate emphasis. What Mattis built as a workaround for GIMP’s toolkit problems became one of the two dominant widget toolkits on Linux (alongside Qt). GTK went on to power the GNOME desktop environment, the default interface for Ubuntu, Fedora, and many other major Linux distributions. Applications from the GIMP itself to GNOME Terminal, Inkscape, and hundreds of others rely on the toolkit Mattis originally designed. The GNOME Foundation eventually took over GTK maintenance and continued evolving it through GTK 2, GTK 3, and GTK 4.

Open-Source Leadership

Throughout his career, Mattis has demonstrated that commercial success and open-source commitment are not mutually exclusive. CockroachDB’s core was released under the Apache 2.0 license initially, and later under the Business Source License — a model designed to protect the company’s ability to sustain development while keeping the code available. This reflects the same tension that database pioneers like Michael “Monty” Widenius navigated with MySQL and MariaDB, balancing openness with commercial sustainability.

Mentorship and Knowledge Transfer

Mattis has been an active participant in the engineering community, sharing insights through conference talks at venues like QCon and through podcast appearances on Software Engineering Daily and the Kubernetes Podcast from Google. His willingness to explain CockroachDB’s architecture in depth — including its trade-offs and design decisions — has made these resources invaluable for engineers building distributed systems. For teams evaluating modern technology stacks, including tools for project management and distributed collaboration, understanding the database layer that Mattis helped define is essential context.

Philosophy and Key Principles

Several recurring themes define Mattis’s approach to software engineering:

  • Build what you need, then generalize: Both GIMP and CockroachDB started as solutions to specific problems. GTK was never intended to be a general-purpose toolkit; CockroachDB grew from the frustration of not having Spanner available outside Google. Mattis builds for immediate need, then lets the community find broader applications.
  • Correctness over speed: CockroachDB’s insistence on serializable isolation — the strongest correctness guarantee — reflects Mattis’s belief that data integrity is non-negotiable. In a world where many NoSQL databases traded consistency for performance, this was a deliberate and principled stand.
  • Long-term collaboration: Mattis and Spencer Kimball have worked together for over three decades, from their Berkeley dorm room to Cockroach Labs. This kind of sustained creative partnership is rare in technology and speaks to a shared vision and mutual trust.
  • Open source as a force multiplier: From GIMP to GTK to CockroachDB, Mattis has repeatedly chosen to release his work as open-source software, understanding that community participation accelerates development beyond what any single team can achieve.

This philosophy of prioritizing correctness aligns with the principles championed by Jim Gray, whose work on transaction processing established the ACID guarantees that CockroachDB upholds across distributed clusters. Mattis’s approach also resonates with how modern web development agencies must balance technical rigor with practical delivery when building applications atop distributed databases.

Legacy and Impact

Peter Mattis’s contributions span an unusually wide range of computing:

  • Creative tools: GIMP remains the most widely used open-source image editor, with millions of users across Linux, macOS, and Windows. It has been a gateway for artists, students, and professionals who needed professional-grade image editing without commercial licensing costs.
  • Desktop infrastructure: GTK underpins the GNOME desktop environment used by tens of millions of Linux users. Without Mattis’s decision to replace Motif with a custom toolkit, the Linux desktop landscape would look fundamentally different.
  • Distributed databases: CockroachDB has become a critical component of infrastructure at global enterprises, offering Spanner-like capabilities without proprietary hardware dependencies. The project helped catalyze the “NewSQL” movement — the idea that you can have the scalability of NoSQL with the transactional guarantees of traditional relational databases.
  • Google infrastructure: Mattis’s work on Colossus and the Gmail backend contributed to systems that serve billions of users daily.

The trajectory from GIMP to CockroachDB mirrors a broader pattern in the careers of engineers like Edgar F. Codd, who started with theoretical foundations and saw their ideas reshape entire industries. Mattis’s story is a reminder that the most impactful software often comes not from grand plans but from engineers scratching their own itches — and having the skill and perseverance to see those solutions through to maturity.

Key Facts

Detail Information
Full Name Peter Mattis
Education B.S. in Electrical Engineering and Computer Science, UC Berkeley (1997)
Known For Co-creating GIMP, creating GTK, co-founding CockroachDB / Cockroach Labs
Key Collaborator Spencer Kimball (GIMP, Viewfinder, Cockroach Labs)
Google Contributions Gmail backend, Google Servlet Engine, Colossus distributed file system
CockroachDB Founded 2014 (with Spencer Kimball and Ben Darnell)
GIMP First Release 1995 (beta), 1996 (public v0.54)
GTK Created Mid-1990s; adopted by GNOME Foundation for the GNOME desktop
Viewfinder Photo-sharing startup (2012); acquired by Square in December 2013
Role at Cockroach Labs Co-Founder, CTO and VP of Engineering

Frequently Asked Questions

What is Peter Mattis best known for?

Peter Mattis is best known for two major contributions to computing. First, he co-created GIMP (the GNU Image Manipulation Program) in 1995 with Spencer Kimball while they were students at UC Berkeley. GIMP became the leading open-source alternative to Adobe Photoshop. During GIMP’s development, Mattis also created GTK, which became the foundation of the GNOME desktop environment. Second, after spending over a decade at Google working on distributed systems including Colossus and the Gmail backend, Mattis co-founded Cockroach Labs in 2014 and launched CockroachDB, a distributed SQL database inspired by Google Spanner.

How does CockroachDB relate to Google Spanner?

CockroachDB was directly inspired by Google Spanner, the globally distributed database that Google built for internal use. While working at Google, Mattis sat alongside the Spanner team and deeply understood the system’s goals and architecture. When he left Google and realized that startups had no access to Spanner-class consistency guarantees, he set out to build an open-source alternative. The key architectural difference is that CockroachDB achieves distributed consensus through the Raft protocol and hybrid logical clocks, rather than relying on Spanner’s atomic clocks and GPS receivers — making it deployable on commodity hardware in any cloud environment.

Why did Peter Mattis create the GTK toolkit?

Mattis created GTK because he became frustrated with Motif, the proprietary widget toolkit that GIMP originally used. Rather than continuing to work around Motif’s limitations, he wrote a new toolkit from scratch — GTK (the GIMP ToolKit) and GDK (the GIMP Drawing Kit). Mattis has noted that he never intended GTK to become a general-purpose toolkit; it was built purely to serve GIMP’s needs. However, its clean design and open-source license attracted the attention of the GNOME project, which adopted GTK as the basis for the GNOME desktop environment, transforming it into one of the most important GUI frameworks in the Linux ecosystem.

What is the connection between Peter Mattis and Spencer Kimball?

Spencer Kimball and Peter Mattis have been collaborating for over thirty years. They met as roommates and fellow members of the eXperimental Computing Facility at UC Berkeley in the early 1990s. Together they co-created GIMP in 1995, then both joined Google where they worked on infrastructure projects. In 2012, they left Google together to found Viewfinder, a photo-sharing startup that was acquired by Square in 2013. In 2014, they co-founded Cockroach Labs along with Ben Darnell to build CockroachDB. Kimball serves as CEO while Mattis serves as CTO — a partnership that has endured across multiple decades and ventures.