Why Apache-2.0 — forking RESILAND for the rest of Central Asia
The reason the entire stack is open-source has nothing to do with hackathon optics. It has to do with five RESILAND CA+ countries, $256M of allocated budget, and the math on what would happen if we tried to license this.
The hackathon rewards open-source projects, so writing a hot take on why our license matters could come off as performative. Let me lay out the actual numbers and you decide.
The five-country, six-currency problem
RESILAND CA+ allocates roughly:
- Uzbekistan: $153M
- Kyrgyzstan: $52M
- Tajikistan: $45M
- Kazakhstan: $6M
- Turkmenistan: program partner
- Türkiye: partner geography (OGM/TEMA technical transfer)
Each country runs its own forestry agency, in its own language, under its own cadastral schema, on its own procurement cycle. Donor coordination happens through the World Bank task team, but the implementation is national.
The math on licensing
Imagine we kept the platform proprietary and tried to sell it. Ballpark numbers:
- License fee per country: $30-80K/year (similar GIS-platform contracts).
- Procurement cycle to approve a new tool: 6-18 months.
- Number of countries that would actually pay before procurement closes: 1, maybe 2.
- Number that would build their own version in parallel: 4.
So we would have one paying customer for an 18-month integration, four parallel rebuilds with worse data quality, and a fragmented program where each country's reports do not interoperate. Donor coordination breaks. Cross-border learning breaks. The dryland keeps degrading.
The math on Apache-2.0
- License fee per country: $0.
- Procurement cycle: zero (developer downloads the repo, installs it on a VPS).
- Customisation effort: cadastral schema swap, tile-server swap, language pack — 1-3 days for a competent backend engineer.
- Cross-country interoperability: free, by construction. Same Postgres schema, same agent contracts, same MCP tools.
The donor (World Bank) gets exactly what they want: five countries reporting in compatible formats, with citations to the same framework documents, in their respective languages. Without paying anyone for the privilege.
What "forking" actually means in practice
For Kazakhstan, the changes are:
- Replace the Uzbek cadastral shapefile with the Kazakh equivalent (KGGZ provides a public dataset).
- Translate the 64-species catalogue to add Kazakh local names — the species are mostly the same.
- Set
DEFAULT_LOCALE=kk, add a Kazakh language pack tofrontend/src/lib/i18n/. - Repoint the Sentinel Hub bbox to Kazakh national borders.
That is a long weekend for a competent developer. The Phase-4 reference reports stay; the framework alignment stays; the agent matrix stays; the cost-banding logic stays (with USD-to-KZT conversion table swapped).
Türkiye — the partner geography case
Türkiye is not a RESILAND CA+ country, but the OGM (General Directorate of Forestry) and TEMA Foundation have decades of dryland-afforestation experience that the CA+ countries actively want. The fork for Türkiye replaces "Uzbekistan" with "Anatolia" everywhere, swaps in the Turkish forest atlas as the cadastral source, and pulls Anatolian climate data from MGM (Turkish Met Service) instead of NASA POWER. We have prototype scripts for this in the repo under scripts/_fork_turkey/; that is the next thing we ship.
What we keep, what we share
Apache-2.0 is permissive. It allows commercial use, modification, and distribution without forcing source-disclosure of derivatives. So a country agency or a private consultancy can take the codebase, harden it, ship a closed product on top, and keep their changes private. We are fine with that. The clauses we want preserved — attribution, the Apache notice in modified files — are minimal.
What we keep:
- The reference document selection (the nine WB Phase-4 reports we cite).
- The agent architecture (P1-P7 + S1-S8) — improvements roll back via PRs.
- The MCP tool surface — additions belong upstream so every fork gets them.
What we share back, ideally:
- National cadastral schema adapters (each country's adapter is a public good).
- Language packs.
- Bug fixes.
The real ask
If you work on a national forestry agency, a partner NGO, or a World Bank task team for any RESILAND CA+ country, and the framework above sounds useful, fork the repo and reach out. The platform is a tool — the value comes from each country's local field data, expertise, and judgment. We are happy to be the tool.
Apache-2.0 is not a virtue signal. It is the license that makes the math work.