Для разработки астрономических программ c open source согласно лицензиям GNU, GPL, MIT, MPL, APPACHE и ряд других, прежде всего лучше использовать проверенные библиотеки с открытым исходным кодом соответствующих лицензий, как в свободно распространяемых, так и в коммерческих приложениях. Однако в них как правило указывается, что в случае изменения кода, модификации должны выполняться с сохранением оригинального копирайта и быть публичными, то-есть опять же с открытыми исходниками. Это делает практически невозможным использование открытых астрономических библиотек в коммерческих программах планетариев или астронавигаторов с закрытым исходным кодом.
Международный Астрономический Союз (МАС, IAU) на своём сайте
https://www.iau.org/ рекомендует использовать стандартную астрономическую библиотеку SOFA для создания и поддержки общедоступного и авторитетного набора алгоритмов и процедур, реализующих стандартные модели и методы фундаментальной астрономии.
SOFA
На сайте
http://www.iausofa.org/ предоставляется коллекция исходных кодов библиотеки на языках Fortran 77 и ANSI C.
Порт на C++ и плагин Python -
https://github.com/sofa-framework/SofaPython3 Порт на C# -
https://github.com/abrudana/wwa Порт на Delphi -
https://github.com/geoblock/Apclib/tree/main/source/sofa APC
Библиотека APC из книги Montenbruck O., Pfleger T.: Astronomy on the Personal Computer. Springer-Verlag Berlin Heidelberg. Исходные коды на Pascal (1993) и С/C++ (2000).
Порт на язык Perl -
https://github.com/skrushinsky/astro-montenbruckПорт на Delphi -
https://github.com/geoblock/Apclib/tree/main/source/apcINDIGO
Библиотека для астрономии и телескопии (NDIGO is a system of standards and frameworks for multiplatform and distributed astronomy software development designed to scale with your needs.) -
https://www.indigo-astronomy.org/ в основном написана на С (90%) и С++(10%).
Репозиторий исходного кода -
https://github.com/indigo-astronomy/indigo ASTRONOMY
Вся астрономическая библиотека представлена одним файлом на С, что удобно для использования её в других языках программирования после создания динамической библиотеки astronomy.dll и доступа к её функциям через один заголовочный подключаемый файл.
Адрес Astronomy -
https://github.com/cosinekitty/astronomy/tree/master/source/cПоддержка языков – С, С#, JavaScript, Kotlin, Python.
Порт на Delphi –
https://github.com/geoblock/Apclib/tree/main/source/astronomyASTROPY
Исходная библиотека на Python (70%) и С (30% кода) -
https://github.com/astropy/astropyВозможно есть порт библиотек, особенно Indigo и Astropy, на иные языки программирования. Если кому известны такие переводы, например, на Kotlin, C# или Delphi, поделитесь ссылкой.