What Leo saw at Kafka, 1. One more channel, added to a brain Leo already had
Leo knew Apache Kafka from four board reports a year: 11 lines, 6 processes, no flows. We added the project's dev list and JIRA for 2019. In 69 minutes it held 837 lines, 28 processes and 25 flows, and had corrected what the board picture got wrong.
The worry we hear most from people who run firms is that a tool like Leo needs hundreds of hours of setting up before it knows anything. This post is about the second half of that worry: once Leo knows something, what does it take to make it know more?
We had already given Leo the Apache Software Foundation's 2019 board minutes, with every project's chair as a person of their own. One of those projects is Kafka. Then we added one more channel: the mail Kafka's own people wrote to the project's dev list, and what they wrote in its JIRA, for the same year. Nobody wrote a document. Nobody at Kafka spent a minute.
Where this comes from
Apache Kafka's dev mailing list and its JIRA are public, kept by the Apache Software Foundation. The foundation and the Kafka project did not take part, and nothing here is their view of Leo. People are taught by role and number and named nowhere.
The claims, and where to check them
| Claim | Where to check it |
|---|---|
| From the 2019 board minutes alone, Leo held 11 lines about Kafka, 6 Kafka processes, 5 open questions and no flows | Leo's own run log for this test |
| Leo was then given what 16 of Kafka's most active people wrote on the dev list and in JIRA during 2019, 707 weekly files, 3.08 million characters | The dev list archive for 2019 and Kafka's JIRA; Leo's own run log for this test |
| The teaching took 69 minutes and cost US$41.99, with no time from anyone at Kafka | Leo's own run log for this test |
| Afterwards Leo held 837 lines about Kafka from 16 people, 28 Kafka processes and 25 flows | The same brain after teaching; the Kafka team page |
| The board picture had a feature release "roughly every three months"; Kafka's own plan said every four | The Kafka chair's 2019 board reports (minutes); Kafka's Time Based Release Plan, version 6, 24 Apr 2018: "At this stage we are planning to make a release every 4 month" |
| Kafka announced seven releases in 2019; the board reports covered five | The [ANNOUNCE] mails on the dev list: 2.1.1 (19 Feb), 2.2.0 (26 Mar), 2.2.1 (3 Jun), 2.3.0 (25 Jun), 2.3.1 (24 Oct), 2.2.2 (1 Dec), 2.4.0 (16 Dec) |
Before: what the board saw
The board hears from Kafka four times a year, in a report from its chair. From those four reports Leo had a fair outline: five releases, three Kafka Summits, a handful of new committers, one big proposal (KIP-500). It had six processes for Kafka, none of them drawn as a flow, and five questions it could not answer from the reports, among them "Who on Kafka manages a release, and what decides the roughly three monthly feature release rhythm?"
What we added
The 16 people who wrote most on the dev list and in JIRA in 2019, each taught as a person of their own, by role and number, never by name. Each sent Leo a year of their own words, one file per week: their mail to the list, the JIRA issues they opened and their comments. Quoted text, signatures and the automated mail (build robots, JIRA's own notices) were cut. The project's chair was one of the 16, so his own mail joined the person his board reports had already made.

| From the board minutes | After the dev list and JIRA | |
|---|---|---|
| People Leo heard from about Kafka | 1 (the chair) | 16 |
| Lines Leo holds about Kafka | 11 | 837 |
| Kafka processes | 6 | 28 |
| Flows drawn step by step | 0 | 25 |
| Ways forward on Kafka's work | 1 | 53 (40 on the teachers' pages, 13 from Leo's second look) |
| Time and cost | 69 minutes, US$41.99 to teach (US$45.80 with the second look and the comparison), nobody's time at Kafka |
What the new channel corrected
- The rhythm. From the board reports Leo had read "a feature release roughly every three months". The developers' mail says Kafka aimed at a release every four months, with dates set in advance, and that releases ran late: 2.2.0 was announced 26 days after its planned date (28 Feb to 26 Mar), 2.4.0 47 days after (30 Oct to 16 Dec). Kafka's own wiki agrees with the developers: "a release every 4 month".
- The count. The board saw five releases because the last report was in November. The list announced seven in the year, the last two in December.
- The detail behind a headline. The board reports said two people joined the committee on one April day and a third declined; the chair's own mail announced one. Leo did not pick a winner. It asked.
What nobody had written down
The richest pages came from the ordinary work: how a release is run from volunteering to announcement, how a failing test that has nothing to do with your change gets handled, how a newcomer gets access, how a proposal moves from discussion to vote. Posts 2 and 3 follow two of them through to what Kafka did later.
What this does not show
- This was a backtest, loaded by a script. Each person's mail and JIRA comments were sent to Leo as their own attachments. Leo has no mailing list or JIRA connection today; at a firm, the same step would be a connection somebody approves, per mailbox.
- Leo did not close the board era's questions when the new channel answered them. "Who on Kafka manages a release" is still open on the Kafka page, though several developers have now said how it works. We have reported that as a fault to fix.
- Kafka is famous. The model behind Leo knows things about Kafka from the internet. That is why this post counts and corrects ordinary routines, checked against Kafka's own dated records, and never famous outcomes.
- Sixteen people is not everyone. The 16 wrote most; quieter people's work is thinner in the picture.
Leo learns how a business really runs by reading what its people write and talking with them, lays out the ways the work could go, side by side, and keeps the choice with the people who make it. When they take a path, its card records it, including one Leo did not offer.