渾儀ARMILLARY

法律 · LEGAL

著作權與原始碼

本版文案已由 Sebastian 認可。每一個live版本都必須有自己的公開原始碼與發布識別;日後版本仍須由發布流程產生自己的exact identity,不沿用前版。

本服務以 GNU Affero General Public License v3 授權。不是部分、不是雙授權——公開的原始碼樹整棵是它,發布清單裡的授權表述就是一行 AGPL-3.0-only。

授權表述AGPL-3.0-only
發布位置github.com/sa3952/Armillary
散布形式僅託管服務
版本識別由服務自報

01

取得你正在使用的那一版

AGPL 第 13 條要求你能取得的,是你正在互動的那一版的對應原始碼——不是程式庫當下的最新狀態。後端會持續更新,線上跑的版本不必然等於公開程式庫的最新提交,所以取得路徑必須從你這一側的證據出發,而不是從我們的說法出發。

  1. 打開你那一次計算的〈計算收據〉。 它在結果頁裡,屬於驗證層。這份收據是隨計算一起產生的,不是我們事後補的。
  2. 讀「版本與來源」表裡的後端公開原始碼修訂與前端公開原始碼修訂兩列。 前端與後端分開發布,兩個修訂可能不同,要各自對應,不要把其中一個套到另一個上。值都是 40 位小寫十六進位字元,由發布流程寫入,不是有人手打的。
  3. 打開同一張表的後端原始碼網址與前端原始碼網址。 https://github.com/sa3952/Armillary/tree/<公開原始碼修訂>

同一張表還會列出建置識別、組合發布識別、後端 image 與前端 artifact 的摘要值。這些發布列只在服務回報了發布身分時出現;本機或診斷建置沒有。收據在結果頁、列印版面與「運算結果+驗算資料」匯出裡都有,預設的「運算結果」匯出不含收據。

前端 artifact 摘要若要由第三方獨立重算,需要該版本的前端發布收據;它隨每次發布一起公開在 github.com/sa3952/Armillary。

這個識別碼不是有人手打上去的。後端的公開原始碼修訂在建置映像時,由同一個建置參數同時寫進映像標籤與應用程式設定;部署時由發布工具核對:載入映像時確認標籤等於要發布的修訂,切換後再確認服務回報的修訂與標籤相同,不同就自動換回前一版。範圍要說清楚:它是發布可追溯性的強化,不單獨證明簽出是乾淨的、原始碼提供是完整的,或已符合 AGPL 的全部義務。

02

為什麼這一頁不手填版本號

因為真正的版本必須來自目前服務回傳的發布識別,不能由文案作者猜寫。

每一個live版本都必須有自己的public revision、source archive與exact image identity。這條identity chain只回答它所屬的那個版本;後續版本仍須建立自己的chain,不能沿用前一版的答案。

依內部裁決,這一頁的版本識別與封存檔欄位只能由發布收據產生器寫入,禁止手動填寫。收據缺失或前後矛盾時,流程失敗關閉——寧可讓公開文件維持未發布,也不接受手打的身分。

Release producer先建立可匿名取得的public revision與source archive,再把exact image與runtime自報識別綁回該revision;任何一段缺失或矛盾都會停止release。前一版的證據不會預填到下一版。

03

隨服務一起送出的東西

下列每一項的確切版本與雜湊值固定在鎖定檔與物料清單裡。各授權分別適用,不因本頁的總述而被取代。

項目授權出處與姓名標示
Swiss Ephemeris
經 pyswisseph 2.10.3.2
GNU AGPL v3 或更新版本
pyswisseph 的授權;Swiss Ephemeris 本身為雙授權,本專案走 AGPL 路線
Copyright © 1997–2021 Astrodienst AG, Switzerland
作者:Dieter Koch、Alois Treindl
Swephelp
pyswisseph 內附的輔助程式,編入同一個擴充模組
GNU GPL v2 或更新版本 作者:Stanislas Marquis;不屬於 Swiss Ephemeris 本體
星曆檔
基於 JPL DE441
同上 由 Astrodienst 建立,隨映像一起送出(見下方摘要)
全球地名
cities500 衍生快照
CC BY 4.0 GeoNames,geonames.org
另以 GeoNames 的 admin1CodesASCII、admin2Codes 與 alternateNamesV2 取得行政區名稱與繁體中文地名,同為 CC BY 4.0。
臺灣地名
行政區域 + 聚落
政府資料開放
授權條款 1.0
內政部地政司 2026「臺灣地區地名資料_行政區域類」、「臺灣地區地名資料_聚落類」(2026-10-09 取得;資料集未標版本號)
data.gov.tw/dataset/40281
data.gov.tw/dataset/53677
此開放資料依政府資料開放授權條款 (Open Government Data License) 進行公眾釋出,使用者於遵守本條款各項規定之前提下,得利用之。政府資料開放授權條款:https://data.gov.tw/license
時區資料 Public Domain IANA 時區資料庫。所用版本寫進每一份計算卷宗
Python 相依套件
確切組成以production lock與映像的軟體物料清單(SBOM)為準,不以本頁手抄套件清單代替
MIT / BSD / PSF /
Apache 等,各自適用
確切版本與雜湊固定於 deploy/requirements.lock;軟體物料清單(SBOM):Gate D 由映像以 syft 產生,與 lock 比對,保存在發佈收據中
容器基礎映像 Debian,多為
GPL / LGPL
python:3.14.8-slim-trixie,以摘要釘選於 deploy/Dockerfile

星曆檔的 SHA-256

這五個檔案隨映像一起送出,內容在部署前後都被核對。你可以拿它們跟原始碼樹裡的 deploy/ephemeris.sha256 對。

seorbel.txt97b454ff78f4f4716b5cc987a93ca8f33e44ef4b524a165a155a8a4885fd2e18
seas_18.se1a2cd8fc33807c78ca9a700c91c2e042258b12fc4796519e00781440b5ad8b2e2
sepl_18.se1ca1393ceab3a44fbc895887cf789c68819ae6a1cbc9b22225872dbe4ccd99a66
semo_18.se11ca07bd67c24374d77226180c20a4f9996cba013697894810518e7eb582ca4f7
sefstars.txt18b0dcafbe5b7240773daba2c038a325f5b3fc4163f61e0a7f4e92abd4f517c6

Astrodienst、Swiss Ephemeris 的作者與著作權人並未控制本衍生服務,GeoNames 與內政部亦然。此處列名是授權要求的姓名標示,不表示任何一方為本服務或任何占星結果背書。地名座標是代表點,不保證到地址等級、不保證即時、不保證完整正確。

04

Debian 基底:這是揭露,不是原始碼提供

這個區分是刻意的,而且它是本頁最容易被寫錯的一段。

GPL 的義務

由交付二進位檔觸發。而這個映像不交付給任何人——不推送到任何 registry,也不交給任何人執行。使用本服務的人收到的是 HTTP 回應,不是映像。

AGPL 第 13 條的義務

由網路互動觸發。它涵蓋本應用程式與 pyswisseph,由上方的公開程式庫履行——完整履行的前提見第 02 節。

如果這件事改變——映像被推送到 registry、交給任何人、或由第三方執行——Debian 元件就需要一條原始碼取得路徑,而本頁必須據此改寫。在那之前,那些套件的上游原始碼就是 Debian 自己發布的那些,版本以物料清單記載者為準。

同一個理由決定了目前的散布形式:僅託管服務。依內部裁決,發布的是託管版本所需的對應原始碼,不散布執行映像或二進位檔。日後若有任何第三方映像、二進位或封存檔的散布,授權、來源、掃描與散布審查全部重開。

05

對應原始碼的範圍

在範圍內

程式碼、build 與安裝腳本、鎖定檔、介面定義,以及形成並執行該版本所需的一切對應原始碼。公開程式庫採封閉白名單複製——是逐條列出要發布什麼,不是列出要排除什麼。

不在範圍內

私人開發歷程、內部審查報告、工作紀錄,以及與執行中服務無關的內部研究。這些不因「對應原始碼」一詞而自動成為發布範圍。

但實際部署所需的原始碼不得為了保持私密而漏發。發布集合以部署映像的實際內容與 AGPL 的定義判斷,不以我們想不想公開判斷。

06

你的資料與計算結果

權利歸屬寫在〈使用條款〉第二條:你的輸入與由它產生的結果是你的。這一節只補著作權面向的兩件事。

計算所得的客觀數值本身是否受著作權保護,依適用法律判斷。本服務不藉條款對不可受保護的事實主張排他權利。

產品輸出中的歷史尊貴表(界、面/旬、三分性、廟旺)是古代文本的轉錄。我們對這些數值不主張任何排他權利;每一套表都標明它的來源版本,包含我們是從一手文本還是從二手彙編取得的。

07

商標與官方依據

渾儀 Armillary、Astrodienst、Swiss Ephemeris、GeoNames、Python 及其他名稱與標誌,各歸其權利人所有。除授權明示者外,本頁不授與任何第三方商標的使用權,也不暗示合作或認證關係。

第 02 節照實列出我們為 AGPL 第 13 條做了什麼、還有什麼沒做;本頁不宣告已滿足全部義務。