Time to time, the question of “what astrophotography software do I use?” is asked on forums. Users of various software relate their impressions and preferences and, presumably, the person who posed the question is armed with the knowledge and clarity needed to make their decision.
N.I.N.A. is usually mentioned during the course of such a thread and the fact that it being a Free/Open Source Software (FOSS) application is often brought up. What is interesting is that this aspect prompts some to be cautious or circumspect about using it. That’s understandable as the pursuit of astrophotography is inhabited by people from all walks. They might not have the background knowledge of what FOSS applications mean and how they come to be, are maintained, and are supported. I’ll aim to answer some of these questions below.
Beyond the software itself, N.I.N.A. is a collaborative open source software project. There is no “N.I.N.A. Inc.” with an office suite, no receptionist waiting to take calls, and certainly no paid employees. The project was founded and is managed by Stefan Berg and is contributed to by a cast of volunteers. Donations made via the link on the N.I.N.A. website go to Stefan and are used to pay for things such as website hosting, the content distribution network, and defraying other such real-world costs of running the project that would otherwise be paid out of his own pocket.
Everything starts with an idea and an itch that needs to be scratched. In N.I.N.A.’s case, it came into existence because its progenitor, Stefan Berg, simply wanted to do more with his astrophotography orchestration than what was available to him, so he decided to take a crack at doing that himself. He decided that he’d follow an open source model in the development of this idea. Slowly, word got around and users and contributors started appearing.
N.I.N.A. has no real stated goal. I know it’s natural to assume that everything exists to attain some end or goal, but it’s more nuanced than that. It’s not that the contributors want it to be better than anything else per se; only that it be an expression of a sum of ideas from them and ideas do change and evolve over time. Innovation can happen here, and certainly borrowing of concepts, as other software also borrow from it (judging from posts in the Suggestions forums of other astrophotography software.)
The project is not out to stamp out or suffocate other applications. On the contrary, an app ecosystem is better off with more choices and ways to access capabilities and friendly competition foments innovation and focus. Having more to choose from helps prevent a software monoculture from developing, which sometimes befalls other interests and fields. On the whole, we’d rather N.I.N.A. speak for itself. Personally, it would not matter differently to me if N.I.N.A. had 5 or 500 users. What matters to me is its design and execution of ideas, its form and fit. The FOSS model is a good way to see this happen.
Contributors to the project come from a wide range of backgrounds and nationalities. Naturally, the ones who contribute code tend to have backgrounds in IT. But there are non-technical contributors as well. Documentation and translations for the more than 20 different languages and dialects that are available are created and contributed by people who simply wish to do just that. Users who help out other users with problems are also contributors. It is these contributors who form the core of the N.I.N.A. community. There are no lofty titles such as “Director of Customer Support” or “Managing Editor of Translations.” In the FOSS world, if an assertion or desire is prefaced with “Somebody should…”, that somebody could be yourself! This is a basic FOSS ethos.
It’s important to note that contributors participate by their own volition. They do all that they do on their own time because they want to; not because there is, necessarily, a paycheck involved somewhere. Of course professional careers and day jobs, family, and other normal parts of life often take precedent. Some contributors prefer to be visible and interact with users a lot. Others might prefer to quietly contribute in the background. There are no requirements and there is no job or service that is assumed of them.
Sometimes contributions can come from a commercial entity. Innovations Foresight recently contributed code that integrates N.I.N.A. with their commercial guiding product. Like all the other code in N.I.N.A., their contribution is also open source. This kind of arrangement is not uncommon in the FOSS world, especially where there is direct interaction between external things such as hardware devices and other applications. These types of relationships are welcome and are usually a benefit to both the FOSS application (by enriching its functionality and the options available to users) and the commercial product’s users (by giving them an additional means to utilize their purchase.)
If you are a N.I.N.A. user, click the ℹ︎ icon in the lower left of the main window, then the Authors tab on the window that appears. Those are the folks you can thank for making N.I.N.A. what it is, with Stefan playing the role of “benevolent dictator.”
In the age of the modern hustle, it would seem odd that anyone would put a magnitude of work and toil into an application such as N.I.N.A., including its paraphernalia such as documentation and plugins, without expectation of monetary compensation. N.I.N.A. developers even expend what is, arguably, the most precious resource of our pursuit – clear nights – testing new code and refining their creations instead of getting just 5 more hours of data on M40 like any normal astrophotographer would.
So what gives? This really isn’t a question that is specific to N.I.N.A. because it could be asked about any FOSS developer. Krzysztof Pietraszek explores this question and, I think, comes up with a decent summary. There isn’t a single reason and each FOSS developers’ motivations are their own business, but Krzysztof touches on what I think are two of the major ones – the challenge of technical puzzles and the thrill of accomplishment that comes with solving them.
I’ll give a personal example. I wanted to know how computers control cameras. Sometimes I’ve wondered just what mysterious things go on when I press a button in an app and a cascade of complexity ensues, ultimately resulting in an image on my screen. I believe in learning by example and experiment, so I set out to code the native QHY driver for N.I.N.A. as a way to answer this question for myself. The journey posed its challenges and riddles, I did my best to understand and solve them and, in the end, I produced my first camera driver. I didn’t need to make a business case to gratify a decision maker. I didn’t have to do a cost-benefit study. I just woke up one morning and started doing it. The real reward for me? The driver is now used to operate QHY cameras that do hard science, which has produced discoveries and confirmations. How cool is that? I’m sure other contributors have similar motivations that can range from the altruistic to the unapologetically selfish.
One thing is for sure, though. I still enjoy my day job. It also gives me a paycheck that would certainly be impossible for me to match if I were to take up astrophotography software programming as a self-driven career. I also have no interest in operating a business and managing all the things that would require. So, for now, I’d like to keep this enjoyment and the daily hustle separated.
As explained above, there is no “they” as far as a commercial entity goes. Again, N.I.N.A. is a project, not a product. It’s maintained by a loose group of people in their free time, not by a company. N.I.N.A. being a FOSS application, whose source code is licensed under a FOSS license, means that it would not only be incredibly hard and impractical to convert to a closed-source product, but there would be absolutely no advantage to doing that even if such a conversion were plausibly attainable and sustainable.
First, the source code has always been freely copyable and anyone would be able to use it as a base to continue developing a “free N.I.N.A.” So, why attempt to have a commercial product that is charged for when anyone can download the source code and build it for themselves at no cost?
Second, the license under which all N.I.N.A. source code is governed would have to be changed to permit the total removal of it from public access. Changing the license requires the permission of everyone who has contributed to it under the existing license. If any contributor disagreed, their contributions would have to be removed and reimplemented in a “clean room” style, as the contributions are that person’s own intellectual property which they granted use of under the original license. Past a certain point, this prospect becomes impractical and costly to do in its own right.
This does not mean that commercialization is impossible. In the FOSS world, commercialization often comes in the form of services or add-ons that are based around a project. Many companies and consultancies exist on this model in the FOSS world. Nothing is stopping someone from creating a for-profit support or consulting company with a 24/7 N.I.N.A. help line that you can buy a subscription to, or charging for N.I.N.A. training materials and coursework they might create, or even creating a closed-source N.I.N.A. plugin and selling it. But these are always in addition to the core community, which will always remain as previously described – a FOSS community that follows the FOSS ethos.
Yes! More than you might realize! The following app/projects are also developed similarly, with a FOSS license and mindset:
– ASCOM
– PHD2
– Stellarium
– Cartes du ciel
– The INDIlib and INDIGO platforms
– Ekos and kStars
– ASTAP
– Astrometry.net
– The IAU SOFA library of astrometry functions
– The US Naval Observatory’s NOVAS library of astrometry functions
– And many more apps, libraries, and services.
If you are curious about FOSS in general and wish to know more details about why it exists and how open source enriches everyone, I suggest heading over to the Free Software Foundation and Open Source Initiative and delving into their plethora of resources on the topic.
Your Ground Station plugin is great. Been looking for something like this for letting me know if NINA freezes up or ends abnormally. Ever given any thought to creating an app for that?