<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Farewell, DukaPress</title>

<!--  DukaPress orange pulled from the original dukapress.org banner  -->
<style>
:root{
  --primary:#A00004;
  --dark:#333;
  --light:#fff;
  --light-grey:#f4f4f4;
}

*{box-sizing:border-box;margin:0;padding:0;}

body{
  background:var(--light);
  color:var(--dark);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  line-height:1.6;
}

/*  A centred, responsive column  */
.container{
  width:clamp(300px,90%,820px);
  margin-inline:auto;
  padding:0 1rem 3rem;
}

header{
  text-align:center;
  border-bottom:4px solid var(--primary);
  padding:2.5rem 0 1.75rem;
}

h1{
  font-size:2.4rem;
  color:var(--primary);
  margin-bottom:.4rem;
}

header p{
  font-size:1rem;
  opacity:.85;
}

h2{
  color:var(--primary);
  font-size:1.55rem;
  margin:2rem 0 1rem;
}

p,ul{margin-bottom:1rem;}

ul{padding-left:1.25rem;}

li{margin-bottom:.5rem;}

code{
  background:var(--light-grey);
  padding:.1rem .35rem;
  border-radius:.25rem;
}

a{
  color:var(--primary);
  text-decoration:none;
}
a:hover{ text-decoration:underline; }

footer{
  border-top:1px solid #ddd;
  margin-top:2.5rem;
  padding:1.25rem 0;
  font-size:.9rem;
  text-align:center;
}
footer .links a{
  display:inline-block;
  margin:0 .75rem;
}
</style>
</head>

<body>
<div class="container">

<header>
  <h1>Farewell&nbsp;&mdash;&nbsp;and&nbsp;Thank&nbsp;You</h1>
  <p>Kelvin&nbsp;Jayanoris&nbsp;&middot;&nbsp;Nairobi, 18&nbsp;May&nbsp;2025</p>
</header>

<main>
  <br/>
  <p>Fifteen years ago, in Nairobi, a handful of us cracked open a blank <code>dukapress.php</code> file and asked a wild question: <em>&ldquo;Why shouldn&rsquo;t any shop-owner, anywhere, spin up a secure online cart in minutes?&rdquo;</em></p>

  <p>That question became <strong>DukaPress&nbsp;1.0</strong> on 19&nbsp;August&nbsp;2010&nbsp;&mdash;&nbsp;fourteen months <strong>before</strong> WooCommerce was even a fork on GitHub. From day one our ambition was global; <em>duka</em> may mean “shop” in Swahili, but the code never assumed a Kenyan postcode.</p>

  <p>What happened next still feels a little unreal:</p>
  <ul>
    <li>Thousands of live stores from Brasília to Bratislava.</li>
    <li>WordCamp Kenya&nbsp;2011, where a plugin built in Nairobi headlined an international schedule.</li>
    <li>Community translators who turned our rough strings into German, Spanish and Bahasa.</li>
    <li>A pluggable gateway API that let a Kisumu courier, a Bangkok Stripe account and a Boston fulfilment house all settle the same checkout flow.</li>
    <li>The inevitable 3&nbsp;a.m. security scramble when TimThumb bit us in&nbsp;2011&nbsp;&mdash;&nbsp;lesson learned.</li>
  </ul>

  <h2>Why we&rsquo;re signing off</h2>
  <p>By April&nbsp;2017 our last major tag, <strong>v&nbsp;3.2</strong>, landed. WordPress commerce had shifted; Automattic&rsquo;s resources made WooCommerce the gravitational centre, and our volunteer bandwidth couldn&rsquo;t stretch to PHP&nbsp;8 migrations or new payment rails. Rather than drift into quiet breakage, we&rsquo;re freezing the repo:</p>

  <ul>
    <li><strong>DukaPress is now sunset software.</strong></li>
    <li>No new features, no support nor scheduled patches.</li>
    <li>The docs, changelogs and final ZIPs remain online for historians and nostalgic diff-hunters.</li>
  </ul>

  <h2>Where to next?</h2>
  <ul>
    <li><strong>GitHub mirror</strong>&nbsp;&ndash;&nbsp;<code><a href="https://github.com/wp-plugins/dukapress">wp-plugins/dukapress</a></code> is archived read-only&nbsp;&mdash;&nbsp;fork at will.</li>
    <li><strong>Migration</strong>&nbsp;&ndash;&nbsp;WooCommerce or Easy Digital Downloads both import CSV exports from DukaPress.</li>
  </ul>

  <h2>Parting thoughts</h2>
  <p>We built DukaPress to prove world-class code could spring from Kenya as readily as California&nbsp;&mdash;&nbsp;and for a bright stretch, it did. Its deeper legacy is the conviction it left in a generation of African engineers: you can start local and aim planetary.</p>

  <p>To everyone who installed, forked, translated, criticised or evangelised DukaPress: <strong>asante&nbsp;sana</strong>. You gave the project its pulse. I leave proud, humbled and fiercely curious about whatever you code next.</p>

  <p>See you in the repos.</p>
</main>

<footer>
  <div class="links">
    <a href="https://github.com/moshthepitt" target="_blank">GitHub</a>
    <a href="https://twitter.com/moshthepitt" target="_blank">Twitter</a>
    <a href="https://trueafricanhistory.com" target="_blank">True African History</a>
  </div>
</footer>

</div><!-- /container -->
</body>
</html>
