How moira-astro.com runs a paid product on an MIT-licensed Swiss Ephemeris alternative.

By Daniel Burkett ·

The fork in the road

Every developer building astrology software hits the same moment: you pick a chart library, and without noticing, you've also picked a legal architecture. Nearly every path leads to Swiss Ephemeris — Kerykeion, Immanuel, and pyswisseph are all wrappers over the same C library. It's mature, accurate, and widely deployed. It is also licensed AGPL-3.0, and the AGPL is not the GPL: its network clause means that users merely interacting with your service over the internet triggers the copyleft. Build a web app on it, and your entire application must be released under the AGPL — or you purchase a commercial license from Astrodienst (CHF 750+, per product). Open everything, pay, or find another engine. Most developers discover this fork after they've built the prototype.

The constraint we set

moira-astro.com is a commercial product: free calculators, a paid Enhanced tier, a professional workspace. When we built it, we set three requirements no Swiss Ephemeris wrapper could meet at once — sell subscriptions without a dependency dictating our source policy, pay no per-product license fees, and be able to audit every intermediate value in the calculation chain.

The solution

Moira implements the full stack independently under MIT. It reads NASA JPL's DE-series kernels directly (public-domain data), implements the IAU 2006 reduction pipeline itself, and is validated against ERFA/SOFA and JPL Horizons rather than linking AGPL code. Every dependency in the chain is permissive. In practice: no network clause, no fee, nothing for an acquirer's due-diligence checklist to flag — attribution is the entire obligation.

The outcome

Today moira-astro.com runs six free calculators, paid subscriptions through Stripe, a professional workspace, astrocartography, and automated celestial-event detection posting to social media — all on one pip install, closed-source where we choose. The engine underneath: 22 house systems, 887,000+ minor planets, 1,809 fixed stars, timing techniques from Vimshottari to primary directions, an audited fixed-star residual of 0.00048″, and 30,000 years of ephemeris range. Licensing spend: zero. AGPL obligations: none.

The honest trade-off

Swiss Ephemeris remains excellent software, and Astrodienst's license is a legitimate business model. If your application is already open-source, the AGPL costs you nothing; if CHF 750 is trivial against your budget, the commercial license is simple. What you cannot buy at any price is the other half of what pushed us: the C binary doesn't let you step through a calculation or validate an intermediate stage. Moira's answer to both problems is the same one — implement the stack in the open, in Python, under MIT.

(Licensing decisions deserve real counsel; this is our experience, not legal advice.)

Try the comparison yourself → feature-by-feature comparison · documentation · pip install moira-astro