bhagolblog

Founder notes · Ankit Sahu

Why the arithmetic is open

What open computation means in practice: ephemerides named with their build, conventions stated exactly, and steps a stranger can redo without our help.

Two ways in. The gist assumes you have never met any of this before.

A brass astrolabe hanging by its ring in a museum case, photographed from the front. Above the disc sits a pierced openwork crown. The face is a fretwork of curling leaf-shaped pointers over engraved circles, with a straight rule laid across the middle, and a band of Arabic script and graduated marks runs round the rim. The metal is warm gold against a dark background.
Astrolabe by Jamal al-Din ibn Muqim, Lahore, 1666, in the Science Museum, London; photograph by Daderot, 2024. Wikimedia Commons, CC0.

Every chart bhagol prints will show the arithmetic that produced it, starting with which of the four settings called Lahiri it used. In the Swiss Ephemeris, the library most astrology software computes with, they are numbered 1, 43, 44 and 46 in the source code, and they are not four spellings of a single number. A chart that says "ayanamsha: Lahiri" has given you a family name.

That is one line of a footer. The promise underneath the whole footer is one sentence: a stranger can redo our arithmetic without asking us.

Redoing it is smaller than it sounds. Meghnad's essay on the day number every ephemeris agrees on sets out four steps that turn a calendar date into one running count of days, the number every chart program works out before it looks up a single planet. The steps are multiplication, division, dropping the remainder, and addition. Take your own birth date through them with a pencil and you finish with a seven-digit number.

Now check that number against somebody who is not us. The Jet Propulsion Laboratory runs a free public service called Horizons. It asks for no account, and it prints the same day number beside any date you give it. If your pencil and Horizons agree, our essay was right about the first link in the chain. If they disagree, you can show it, and nobody has to take your word for it.

That last part is the point. A complaint about a chart needs standing: you have to be the sort of person whose objection carries, or you have to find a second practitioner willing to contradict the first. A reproduction needs no standing. It works in the hands of a stranger with a laptop and no reputation to spend.

Three things have to be true before a chart can be checked that way, and none is a sentiment.

The build, the convention, the working

Name the source, with its version. Not "a precise astronomical engine". Precise is an adjective, and no adjective has ever been checked by anybody.

Planetary positions in serious software come from a Development Ephemeris computed at the Jet Propulsion Laboratory: a file of coefficients from which a position can be reconstructed for any moment in its range. The current pair, DE440 and DE441, were released in 2020, and Park and colleagues described them in the Astronomical Journal the year after. Most astrology software does not read those files. It uses the Swiss Ephemeris, which compresses them and does the sidereal arithmetic on top.

For about twelve years the Swiss Ephemeris built its planetary data files on an older release, DE431. They have since been rebuilt on DE441. The change to any single chart is small. But small is another adjective. Two charts of the same birth, one made before that rebuild and one after, did not come out of the same underlying numbers, and a chart that does not record its build cannot tell you which of the two you are holding. [VERIFY: that the DE441 rebuild predates this post's date; if not, recast around the earlier move from DE406 to DE431.]

Name the convention exactly. A sidereal chart needs an ayanāṁśa (अयनांश), the offset between the two ways of fixing where the zodiac starts. In India the usual answer is Lahiri, after the astronomer N. C. Lahiri, whose value the government's calendar reform committee adopted when it reported in 1955 under Meghnad Saha.

Why one name covers four settings, and where the offset comes from at all, is Meghnad's subject rather than mine; he works it out in why your moon sign changes between apps. Mine is narrower. Name which of the four, print its value in degrees and minutes for that birth minute, and a stranger can reproduce the chart.

What is at stake is easy to size. Suppose two conventions differ by 1 degree. A nakṣatra (नक्षत्र), one of the twenty-seven stations the moon passes through, is 13 degrees and 20 minutes wide. Divide that width by the 1-degree gap: shift every longitude by a degree and roughly one moon in 13 ends up in a different station. Nobody has to falsify anything. Somebody only has to pick a setting and not mention it.

Show the working wherever working exists. Positions come out of a file of coefficients and are not something to redo on paper. Nearly everything around them is. The day number is. So is the conversion from a clock time to what the sky reads over your head, and so are the sums that place a planet in one of the twenty-seven stations. That is what the computed-sky essays are for: the part of our claim a reader can test before we have sold them anything.

What closed computation protects

Two things, and only one of them sounds like a secret.

The first is error. A wrong number inside an engine nobody can reproduce does not look like a bug from the outside. It looks like a different school. Jyotiṣa (ज्योतिष) has real schools and real differences of convention, so an unexplained disagreement can be absorbed as tradition instead of examined as arithmetic. That is a comfortable place for a mistake to live for years, and it needs nobody to be dishonest. It needs only that the two cannot be told apart.

The second is choice. If nobody outside the company can redo the calculation, only the operator's own conscience stops them from picking a number instead of computing one. I am not accusing any company of doing it; I have no evidence about any, and this note would be worth less if I pretended otherwise. My claim is narrower. In every other trade where a number decides something, somebody eventually audits the number. In this one nobody can.

What being checkable costs

Four things. I would rather list them than let this sound free.

You cannot upgrade quietly. Once a chart carries a build, changing the engine makes old charts and new charts disagree, so you have to say so, date the change, and keep the old build working well enough to recompute anything printed under it. That is real storage and real maintenance for a facility almost nobody will use.

You answer the wrong corrections too. Publish your conventions and strangers write in. Most will have set something differently, found a difference, and reported it as our error. Each one needs a careful reply: a company that answers only the correct complaints has quietly decided whose arithmetic counts.

You give up the black box. "Our proprietary engine computed it" is a restful sentence to have available in a support reply, and we will not have it.

And there is a bill. The Swiss Ephemeris comes under two licences: the AGPL, which requires you to release your own source, or a professional licence of a few hundred Swiss francs, which lets you keep it closed. What the fee buys is permission to show nobody the code. I would rather pay in code.

Two refusals follow. Both cost us nothing today, because the chart tool is not built, which is the honest time to write them down.

We will not print a chart without the conventions that produced it. Every chart will carry a footer: the ephemeris and its build, the ayanamsha by its exact name with its value for that moment, the house system, the birth moment in Universal Time, and the version of our own code.

We will not treat a disagreement about a number as a support ticket. A support ticket is closed when the customer stops writing. A reported difference instead gets an entry with a number, an owner and a date on which it was settled, in a place you can read without asking us. The rest of what we refuse sits on the refusal list; this one belongs next to the arithmetic.

None of this makes our judgement about a chart worth more than anyone else's. It has nothing to do with judgement. It marks off the part of the work you no longer have to take on trust, and hands that part to you.

That footer will be the dullest line on any chart we ever print. Nobody reads it on the day their chart arrives. It is there for the year somebody wants to do the sum again.