PANOPTES is driven primarily by an open source model with regards to both software and data. In addition, the goal has always been to create an entire “scientific platform” that could be used for educational purposes. Because modern scientific practices usually include some component of software development [1], one of the early design goals for the project was to have a software base that was not only completely open source but also easily readable (and modifiable) by individuals just learning how to program.

Importantly, the software must also be accurate and robust in order to handle long-term unattended and remote operations and must also be customizable based on potential hardware differences between units.

The PANOPTES code repositories can therefore be used in two different contexts: automatically by installed hardware units responsible for collecting data; and interactively by developers, including students and amateurs, who can choose to modify existing operations, add new functionality, or simply use the software as a learning tool for astronomy and software development. The two distinct but equally important uses of the software, one as an automatic observatory control system (OCS) for data collection and the other as a tool for learning, place unique constraints on the decisions made regarding software. I have designed and written all software with these overarching goals in mind.

[1]Ayer2014, Wilson2014