Shout out to Zoneminder Project

For the first ten years of my open source life, I spent tens of thousands of hours pouring over hundreds of thousands of lines of source code across perhaps a dozen or fewer projects, mostly GCC, G++, GDB, and various other parts of the GNU toolchain. If there were a PhD in open source software, I was definitely specialist enough to have earned one. I was vaguely aware of the mountains of source code in the BSD distribution, and obviously Linux, but didn't really pay much attention to that until I joined Red Hat.

For the ten plus years after that, I have barely succeeded in scratching the surface of the 10,000+ packages that can be easily installed without the need to study the source code. It is both a luxury to have available the resources that are represented by the 200+ million lines of source code packaged for a typical Linux distribution, but it is also can one possibly know all there is to know? And yet, I find that when I need to look for something, it's there. When I needed to control and monitor some PTZ network cameras, I looked for an open source solution and discovered a really wonderful package called Zoneminder.

From the website:

ZoneMinder is an integrated set of applications which provide a complete surveillance solution allowing capture, analysis, recording and monitoring of any CCTV or security cameras attached to a Linux based machine. [...] A partial list is given in the Wiki and Support sections, please give feedback in the Forums if it works with yours. ZoneMinder also requires MySQL and PHP, and is enhanced by a webserver such as Apache.

The modularity of ZoneMinder--a hallmark of almost all great open source projects--delivers several benefits over traditional monolithic programs that pretend they are all one giant integrated applications. First and foremost, separate applications loosely coupled make for a naturally scalable solution. Each separate monitor spawns its own set of capture, analysis, recording, and monitoring tasks, which means that load spreads very evenly across modern multi-core processors. The loose coupling also makes it much easier to probe, query, or trigger events anywhere in the workflow, rather than dealing with some arbitrary, application-specific scripting language or having to tease apart data that's been overly processed by the time you can get your hands on it. Nice!

What's also nice is that Zoneminder integrates wonderfully with Axis cameras--the first IP cameras to my knowledge to integrate eCos, embedded Linux, and other open source software into their device and then expose that functionality to programmers and users as a feature of the camera. Together, IP cameras running embedded open source software and a video server running high-performance open source software shows that yet again that anywhere there is a need, open source can rise to the task. My explanation as to why is simple: there are so many great hands working to lift it up.

To promote and protect open source software and communities...

For over 20 years the Open Source Initiative (OSI) has worked to raise awareness and adoption of open source software, and build bridges between open source communities of practice. As a global non-profit, the OSI champions software freedom in society through education, collaboration, and infrastructure, stewarding the Open Source Definition (OSD), and preventing abuse of the ideals and ethos inherent to the open source movement.

Open source software is made by many people and distributed under an OSD-compliant license which grants all the rights to use, study, change, and share the software in modified and unmodified form. Software freedom is essential to enabling community development of open source software.