Skip to content

Philosophy

Nicholas K. Dionysopoulos edited this page Oct 17, 2023 · 4 revisions

The executive summary

Panopticon does not make site monitoring possible. There are ways to do that, be it manually or with a third party service.

Panopticon makes site monitoring easier than manual methods, while allowing you to maintain ownership and control of the data and software used to perform this task.

Panopticon gives you choice. You don't have to use it, but should you choose to use something else — be it manual monitoring, or a third party service — it will be an informed choice, instead of being forced into doing something due to lack of choice.

FOSS, SaaS, and Freedom

We build our sites using CMS distributed under Free and Open Source license, such as the GNU General Public License family of licenses. These licenses afford you four fundamental freedoms. These Freedoms are the foundation which allows us to build beautiful, complex, efficient sites tailored to our needs using commodity FOSS software.

When you use a Software as a Service you are not afforded any of these Freedoms. You do not have access to the source code of the software you use. You cannot study it. You cannot modify it. You cannot share it. You cannot even use it for any purpose you want, just for the limited scope the SaaS vendor allows you to use it for. Even worse, you do not even own your data; they are by definition at the mercy of the SaaS vendor. Finally, you have to blindly trust that the SaaS vendor's goals are aligned with yours in the long term. That's a big ask, and we've seen how sour this can turn out.

When it comes to site monitoring, the only options you get is either do-it-yourself, or using a SaaS. The former is complicated and beyond the skill set and financial ability of most of the target audience of FOSS CMS, even for relatively large website design firms with a portfolio in the hundreds of sites. The latter is antithetical to the very reasons we use FOSS CMS to build our sites to begin with. The lack of choice and Freedom is antithetical to the ideals of the FOSS communities which are the bedrock of our favourite CMS. This is an anomalous situation.

FOSS gives Freedom, and choice

We became FOSS developers because we believe in the core tenets of FOSS: collaboration, meritocracy, freedom, and privacy. This has guided the decision in all software we've created and published (including our direct contributions to FOSS projects, like the Joomla! project).

For example, Akeeba Backup does not implement its own storage service even though our company is more than capable of offering it, and such an offer would be very lucrative for us. We chose the harder path of offering integrations with third party storage services, including a number of common, open protocols (FTP, SFTP, WebDAV, Swift, S3) used by a plethora of both proprietary and FOSS storage providers.

Likewise, we could have very easily built our own site monitoring and backup scheduling service. It would be very lucrative, but we refused to sell out our ideals for some easy money. That's why we had never built anything related to site monitoring. However, seeing that the only choice for site monitoring the past decade has been using a SaaS prompted us to action. No, we are not building a service, we are building a mass-distributed, Free and Open Source Software solution for site monitoring.

Like all our software, it doesn't make the task — in this case, site monitoring — possible. It only gives you the choice of doing that while maintaining ownership and control over your data and the software you use. If you decide this software is not for you, this is still a net positive. You made an informed choice instead of being forced into using a SaaS because you had no other choice.

There are always second order effects from using FOSS instead of proprietary software. We do expect that a lot of users will see a reduction in their costs for site monitoring should they choose to use Panopticon. That said, please bear in mind that being cheap is never the primary objective of FOSS. It's a positive side effect of the Freedoms the FOSS licenses afford you.

The reward of a thing well done is to have done it. — Ralph Waldo Emerson, American philosopher

Software, for all

We are taking every effort to make this software accessible to the maximum number of people, regardless of their technical ability. Being self-hosted, however, requires a modicum of setup. Not much more than what you would need to set up a new Joomla!, or WordPress, site. The only additional requirement to the user is setting up a CRON job, and for that we try to offer as much guidance as possible.

Side note: Being mass-distributed, we expect this software to run on commodity hosting platforms, set up without the help of a dedicated team of systems administrators. This is why we chose a simple, monolithic approach to the application. For example, we are aware that neither MySQL is a good choice for handling queues, nor CRON jobs a great way to process them. However, these are dead easy to set up, unlike a “correct” implementation which could, for example, be using Amazon SQS, Amazon Lambda and Amazon DynamoDB. Do not conflate writing mass-distributed software for a non-technical audience with not knowing how to architecture a service.

Having mass-distributed software means that the features which are accepted are those which won't make the application overly complex to maintain, or difficult for the less technical users to use. This necessary compromise means that some use cases cannot be catered for. This is why Panopticon is infinitely customisable. If what you want to implement cannot be part of the main distribution you can still do it. You can even “white-label” Panopticon so that your clients can perceive that they are using your branded monitoring service, on your own domain.

Finally, we did not want this software to become an unintended vector for the proliferation of proprietary, opaque services. This is why we chose the GNU Affero General Public License. Unlike the GNU GPL license, hosting the code on a server is enough to require you to share the full, unencumbered source code used on your server, free of charge, under the same license. Remember that the trigger for this provision is interacting with the software. Being able to see the login page is, indeed, such an interaction.

It is but the beginning

At the time of this writing (July 2023) Panopticon is still in Alpha. It's pretty “basic” — then again, it was written in 3 months while also doing development and support for the rest of our company's software. More features are still to come.

We welcome collaboration. If you are interested in working on improving existing features, or writing new ones, help with the documentation, support, or translation please let us know. We apologise in advance if it takes a while to respond.

However, if you are thinking of demanding a feature be implemented, or phrase your request something like “this software does not make sense unless it does X”: please don't. That's neither a feature request, nor constructive criticism; it's abuse. Treat others the way you want to be treated.

Clone this wiki locally