Installing Shinobi (CCTV software) in an FN11 jail

Status
Not open for further replies.

moeiscool

Cadet
Joined
Sep 1, 2018
Messages
6
I stumbled across this post today when it hit the top of "New Posts", and it really got me excited. I've been using ZoneMinder for years, but ZoneMinder is getting extremely long in the tooth, and either some serious development work, or a new program was needed. And here we have Shinobi.

However, then I started reading about the project and its short history, and my heart fell. It sounds like Moe, the original creator of Shinobi, started with the right intentions. He set out to create a better ZoneMinder to power a hosted service providing a CCTV platform. And Shinobi was born.

Unfortunately, Moe has clearly demonstrated that he doesn't know anything about open source software. About six months after he started, he split the project into a Pro and CE edition, re-licensing the code to Creative Commons NC for the Pro version. He segregated the support network into a CE chat and a private, invite-only Pro chat (and made explicitly clear that no developers would provide CE support). And then immediately shut down any community pull requests to the CE edition (there have only been 6 commits since its been relicensed). Instead of using the community edition as the platform to develop a stable, monetizeable product, he's using the Pro version to control everything, and only feeds down to the CE whenever a "critical release" happens.

The Shinobi community, though small, was understandably upset by this move. They had contributed (whether in code, support time, or publicity) in good faith, and Moe had pulled the rug out from under them. His response to the issue was basically "F you, it's my code, read the contribution guidelines." His blog posts are full of anecdotes about "people wasting [his] time" and "users ... taking earnings". His closing remark as justification for this whole fiasco is a bitter "I didn't pick up a fork and start editing it, I started from line 1."

I don't begrudge anyone the ability to make money on software. Developing code is not an easy job, and I think that you should be able to sell your efforts. However, I do get heartburn about people marketing themselves as "the open source CCTV solution" when they are anything but. And what's really unfortunate here, is that Moe started down the right path. He recognized many of the failings of the ZoneMinder project, and is making a worthy replacement. His early blog posts include lines like "When someone cares about something they will give their time and effort for that. I care about Shinobi, that is why it has progressed so quickly." My favorite is from his "The Aim of Shinobi" article:

But instead of recognizing the power of the community to bolster his product, he saw the community as people out to take advantage of him. And, ironically, he's making one of the biggest mistakes that hurt ZoneMinder over the years: in his own words, "developer arrogance". He could have gone down many different paths to monetize his software, but when his "I'm going to rely on community donations to fund my life" didn't pan out, he turned his back on the community. And to make matters worse, he still solicits community donations on his website.

I'm really disappointed, because I think Shinobi was just the project that the CCTV community needed. If the CE edition is updated during the next "critical release" (whatever that means), perhaps there is hope for Shinobi as a real open source project. But with the direction the project is heading now, I'm not holding out hope.
interesting story :eek: that moe guy, what a jerk.
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
interesting story :eek: that moe guy, what a jerk.

Well, if you are actually Moe, perhaps a rebuttal is in order. The cutting edge is pretty sharp when it comes to finding ways to fund development and the open source model, especially where many people seem to assume someone else will pay for the development, or even expect it to happen entirely for free. It's not trivial.
 

moeiscool

Cadet
Joined
Sep 1, 2018
Messages
6
Well, if you are actually Moe, perhaps a rebuttal is in order. The cutting edge is pretty sharp when it comes to finding ways to fund development and the open source model, especially where many people seem to assume someone else will pay for the development, or even expect it to happen entirely for free. It's not trivial.

I am :D I actually just sent it to him a private message but if you insist :D

I stumbled across this post today when it hit the top of "New Posts", and it really got me excited. I've been using ZoneMinder for years, but ZoneMinder is getting extremely long in the tooth, and either some serious development work, or a new program was needed. And here we have Shinobi.

However, then I started reading about the project and its short history, and my heart fell. It sounds like Moe, the original creator of Shinobi, started with the right intentions. He set out to create a better ZoneMinder to power a hosted service providing a CCTV platform. And Shinobi was born.

Unfortunately, Moe has clearly demonstrated that he doesn't know anything about open source software. About six months after he started, he split the project into a Pro and CE edition, re-licensing the code to Creative Commons NC for the Pro version. He segregated the support network into a CE chat and a private, invite-only Pro chat (and made explicitly clear that no developers would provide CE support). And then immediately shut down any community pull requests to the CE edition (there have only been 6 commits since its been relicensed). Instead of using the community edition as the platform to develop a stable, monetizeable product, he's using the Pro version to control everything, and only feeds down to the CE whenever a "critical release" happens.

The Shinobi community, though small, was understandably upset by this move. They had contributed (whether in code, support time, or publicity) in good faith, and Moe had pulled the rug out from under them. His response to the issue was basically "F you, it's my code, read the contribution guidelines." His blog posts are full of anecdotes about "people wasting [his] time" and "users ... taking earnings". His closing remark as justification for this whole fiasco is a bitter "I didn't pick up a fork and start editing it, I started from line 1."

I don't begrudge anyone the ability to make money on software. Developing code is not an easy job, and I think that you should be able to sell your efforts. However, I do get heartburn about people marketing themselves as "the open source CCTV solution" when they are anything but. And what's really unfortunate here, is that Moe started down the right path. He recognized many of the failings of the ZoneMinder project, and is making a worthy replacement. His early blog posts include lines like "When someone cares about something they will give their time and effort for that. I care about Shinobi, that is why it has progressed so quickly." My favorite is from his "The Aim of Shinobi" article:

But instead of recognizing the power of the community to bolster his product, he saw the community as people out to take advantage of him. And, ironically, he's making one of the biggest mistakes that hurt ZoneMinder over the years: in his own words, "developer arrogance". He could have gone down many different paths to monetize his software, but when his "I'm going to rely on community donations to fund my life" didn't pan out, he turned his back on the community. And to make matters worse, he still solicits community donations on his website.

I'm really disappointed, because I think Shinobi was just the project that the CCTV community needed. If the CE edition is updated during the next "critical release" (whatever that means), perhaps there is hope for Shinobi as a real open source project. But with the direction the project is heading now, I'm not holding out hope.

Here is what I sent him with a few additional points :

```

A : i spend a lot of time in the community, to say i turned my back on it only shows how little this you know of my effort towards it. (It's literally my job to work on Shinobi)

B : Open Source doesn't mean Free. Making any part of it Free was my decision. Open Source never dictates that fact.

C : Donations not panning out is NOT something I blame on the community, i blamed on myself. I didn't setup the donation thing properly and Capitalistic economy doesn't work on donations. Sadly I live in one and had to split it for monetization.

Currently my split method is working very well for me and because of it I spend a lot of time on the public builds of Shinobi. Just FYI i don't use CC4 anymore. It is under the "Shinobi Open Source EULA" now.

Quite honestly I'd rather not use the split method but legalities say I should to protect my right to monetize or trade it. Don't blame me, blame government.

D : Also "They had contributed (whether in code, support time, or publicity) in good faith, and Moe had pulled the rug out from under them." is over the top. The contribution guidelines never changed in the time they had posted their additions. Even when i had no obligation to do so I removed the contributed code at the request of the contributor.

Then that developer started posting about how I wronged him in the issues section. This is not acceptable. If he had a personal problem with me it would have been better suited to a private conversation. With his behavhiour he incited others to do the same. Essentially trying to waste my time because he didn't get his way.

Quite frankly, I don't know how many people have the patience for that kind of person. Just like you quoted "I didn't pick up a fork and start editing it, I started from line 1." this is truth and nothing but. I don't deserve that kind of abuse. I will not accept it even for money.

In essence : that guy was mad that I was monetizing my work. He simply just wanted it all to be free, no strings attached. He didn't care that a GPLv3 version still existed and would still provide the experience he wanted.

Really though I listen to the community's problems and requests as often as I can. This is my job. If you have looked at the history recently you'll notice many features are not thought up by me. I just added them.

E : my arrogance only shows itself when its necessary (or when I'm cranky, which is pretty rare). I don't blast my ego at every question that is thrown at me. Review my interactions in the community chat (if you were ever there).

While it's true I haven't seen the zm devs talk like this recently it was partly why I couldn't stick to zm. If you feel I have dipped to that level then I appreciate your telling me and I'll do my best not to dip again.

F : The reason I post changes to the Pro branch first should be obvious. I am trying to incite usage of the Pro version (which is free for personal use btw). More Pro usage means I am more likely to be able to spend time on the platform.. or is that something you don't want? You could technically rip me off and use Pro for free. It is built on trust. You pay if you can or if it suits your purpose. There is no mechanism for me to stop you from using the program.

G : in a simple sense the name is true. The server you have that runs shinobi is probably sitting in a room with the lights off... but there is greater meaning behind the name and why i chose it.

"The name Shinobi is a representation of warring nations that come together to find peace rather than conflict."

https://shinobi.video/articles/2018-05-09-what-does-shinobi-mean
```

Quite honestly from my point of view : you just seem jealous and short-sighted.
 
Last edited:

moeiscool

Cadet
Joined
Sep 1, 2018
Messages
6
Woah, hang on.

The dev is getting shadier and shadier by the second.

I posted this: https://www.reddit.com/r/ShinobiCCTV/comments/9c1msa/shinobis_stupidness_stubbornness_and_idiotic/

And someone quoted this VERY well written post. He (dev) replied to MY post, searched for the original post, and then replied here.

Quite honestly from my point of view : Dev seems SHADY AS **** and I really hope someone forks this project.
no, i found my way here because someone linked to it.

I replied here because a moderator asked me to.

so much facepalm i don't think my face can take it.

Your reddit post has been removed because you are just spamming, god knows why.
 
Last edited:

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
Woah, hang on.

The dev is getting shadier and shadier by the second.

I posted this: https://www.reddit.com/r/ShinobiCCTV/comments/9c1msa/shinobis_stupidness_stubbornness_and_idiotic/

And someone quoted this VERY well written post. He (dev) replied to MY post, searched for the original post, and then replied here.

Quite honestly from my point of view : Dev seems SHADY AS **** and I really hope someone forks this project.

I suggested and invited Moe to respond here.

One of the problems with the open source movement is that it does not provide a natural method to fund itself. I have some experience with that:

For twenty years now, I have been a primary developer of the Diablo USENET news package, and have sponsored many of the resources to do development. If you've ever used USENET news, my stuff has enabled your stuff to work. I've been fortunate in that I've been able to recover some of that cost through commercial support contracts to major providers, but that hasn't been steady or sufficient, and very little of it in recent years. Either way, it comes out of my pocket. I occasionally get people telling me that "this" should be done or "that" should be done, which invariably means "jgreco should do this and do it for free."

More recently, I've also undertaken a role running infrastructure for NTP.ORG. Here's something that literally everyone on the Internet is dependent upon. Correct time underpins so many aspects of the modern Internet, perhaps most insidiously as SSL is implemented everywhere, as SSL is largely dependent on correct(ish) time. Funding? There's minimal funding available. Developers are mostly volunteers. Servers donated are from ~2010 era. I'm donating shop time and old equipment, parts, and supplies to make things work. I recently drove across most of North America to do a data center deployment, and I suspect I'll be eating a lot of the expenses there. This stuff is important, and yet it is dependent on the generosity and dedication of a small handful of people trying to maximize a shoestring budget.

The FreeNAS project is basically a "Community Edition" of TrueNAS that is supported by the development of TrueNAS. We can thank the people buying iX hardware for that. This seems similar to Moe's model to me. I "pay" for FreeNAS by acting as a moderator here and answering questions when I am able to. I try not to complain too much about the development model, which I don't always agree with.

In no case that I am aware of is any serious open source software package actually able to develop without some method of financial support. You do not necessarily have to agree with the model that Moe is using. You do not have to like Moe. But if you refuse to understand that the way that modern software projects work are that developers have to find ways to pay the bills, and that monetizing the thing and providing a community edition provides a path forward that has sometimes worked out for others, you're really a much bigger part of the problem than Moe is. You're always free to create your own CCTV software package if you don't like that.
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
no, i found my way here because someone linked to it.

Nice to meet someone from the current generation of CCTV software developers, by the way.

Through what has got to be the most obscure and unusual coincidence, I'm the developer of the AXIS cambot broadcaster software from back in ~1996-1998. It used the AXIS NetEye 200 IP camera (still have some!) or the newer AXIS 2100, downloading continuous motion JPEG and breaking it up into frames so that it could be broadcast on website homepages by a CGI that basically looped getting the latest frame. This effectively offloaded multiple client support onto a big "real" web server so that you could have a few hundred clients simultaneously watching "live" video. This powered both the "ExecPC Cambot" and the "Summerfest Cambot" along with some other less-known ones.

You are welcome to tell me how amazingly stupid and trite that is (by today's standards), but at the time it was something that had never been done. The folks at AXIS were gobsmacked. :smile:

It eventually died a painful death as I tried to add more DVR-ish capabilities but it didn't work too well as web browsers of the time didn't have the proper capabilities and I wasn't about to learn Flash.
 

moeiscool

Cadet
Joined
Sep 1, 2018
Messages
6
Nice to meet someone from the current generation of CCTV software developers, by the way.

Through what has got to be the most obscure and unusual coincidence, I'm the developer of the AXIS cambot broadcaster software from back in ~1996-1998. It used the AXIS NetEye 200 IP camera (still have some!) or the newer AXIS 2100, downloading continuous motion JPEG and breaking it up into frames so that it could be broadcast on website homepages by a CGI that basically looped getting the latest frame. This effectively offloaded multiple client support onto a big "real" web server so that you could have a few hundred clients simultaneously watching "live" video. This powered both the "ExecPC Cambot" and the "Summerfest Cambot" along with some other less-known ones.

You are welcome to tell me how amazingly stupid and trite that is (by today's standards), but at the time it was something that had never been done. The folks at AXIS were gobsmacked. :)

It eventually died a painful death as I tried to add more DVR-ish capabilities but it didn't work too well as web browsers of the time didn't have the proper capabilities and I wasn't about to learn Flash.

I am humbled to (virtually) meet a predecessor in the arts. If you have had a chance to spin up Shinobi i would be interested in knowing what you think :D like and dislike :)

i'm going to be honest with you, i was about 4 years old at that time :D I don't think i even knew what an IP was. :rolleyes: I wish i could say i know your struggles but it was probably harder to work with the browser than i can imagine :p Now a lot is pretty easy-going. People are very crafty when it comes to breaking the limitations of the browser. Things like kevin's Poseidon or libde265.js. They are magical and make life simple.
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
I am humbled to (virtually) meet a predecessor in the arts. If you have had a chance to spin up Shinobi i would be interested in knowing what you think :D like and dislike :)

i'm going to be honest with you, i was about 4 years old at that time :D I don't think i even knew what an IP was. :rolleyes: I wish i could say i know your struggles but it was probably harder to work with the browser than i can imagine :p Now a lot is pretty easy-going. People are very crafty when it comes to breaking the limitations of the browser. Things like kevin's Poseidon or libde265.js. They are magical and make life simple.

Well, the irony is that it was all So Much Simpler. These days there's layers upon layers upon layers of crap. Back then the continuous motion JPEG was just a stream of stills presented one after another and it only took a small high-performance C program to establish and maintain the connection, and then a few other CGI's for access. This was the ENTIRETY of cambot's source:

Code:
-r--r--r--  1 root	wheel	 184 Mar 30  2000 COPYRIGHT
drwxr-xr-x  2 jgreco  system	512 Jul 28  2000 RCS
-r--r--r--  1 root	wheel	 575 Apr 23  2000 build
-r--r--r--  1 root	wheel	5355 Jun 27  2002 cambotdaemon.c
-r--r--r--  1 root	wheel	1165 Apr 23  2000 getcurrent.c
-r--r--r--  1 root	wheel	1670 Apr 23  2000 nph-srvpush.c
-r--r--r--  1 root	wheel	1719 Apr 23  2000 nph-srvpush5.c
-r--r--r--  1 root	wheel	4508 Jul 28  2000 nph-vcrplay.c
-r--r--r--  1 jgreco  system	660 May  8  1997 prune.c
-r--r--r--  1 jgreco  system   1540 Apr 17  1997 rapidget.c
-r--r--r--  1 root	wheel	4374 Apr 24  2000 sensorprune.c
-r--r--r--  1 root	wheel	1920 Mar 31  2000 settimedate.c
-r--r--r--  1 jgreco  system  10362 Apr 17  1997 socket.c
-r--r--r--  1 jgreco  system   1857 Apr 17  1997 socket.h
-r--r--r--  1 root	wheel	2868 Mar 30  2000 util.c
-r--r--r--  1 root	wheel	6642 Jul 28  2000 vcr.c


That's it, both camera client and client CGI server. No external libraries (other than libc). It was actually pretty easy to handle the web browser stuff since cambot just duplicated the AXIS motion JPEG strategy, only adding a few buttons. Cambot was just able to do hundreds of concurrent streams whereas the AXIS barely had the CPU to do one or maybe two, and the camera was usually on the far side of a T1 (1.5Mbps) data circuit whereas the web server running cambot had massive bandwidth. Because cambot was mostly a frame-storing engine, it was easily expanded from its original mission of doing "broadcast video" on an ISP's home page, and moved on to providing security video for ExecPC's buildings as well, which at the time was something that commercial vendors generally did on videotape-based systems.

Obviously there's a ton of crap you *could* then do with the data, something I wasn't really inclined to pursue, as I tend to write things that are sufficient for a limited task. Being able to rewind and review things that had tripped the camera's sensor input (door opening etc) or to see what happened at a given time was sufficient, so that was pretty much the extent of it. It is a testament to the awesomeness of offloading the ENTIRE CAMERA PROBLEM to a network appliance. Up til then, PC video capture had been a twitchy mess of add-on cards and drivers and particular operating systems and cabling. This? Open a socket and ask for a URL.

Zoneminder and some other projects obviously took this ball and ran with it. There's so much you can do, and obviously web programming these days has a massive amount of sophistication, so you have nearly endless possibilities both on the server-side and the client-side. Plus, CPU is pretty cheap these days.

Interestingly enough I had been planning to spin up Zoneminder "soonish" as I recently found we had reason to sample a Hikvision DS-2CD2142FWD 4MP camera, which should be here Tuesday. Odd that this whole thread happened this weekend. My last attempt to spin up Zoneminder on FreeBSD wasn't super-successful, partly because it seemed to be a train wreck of perl and PHP. So who knows. If I can get Shinobi to work without beating my head too hard, it's possible I'll do that. So maybe it was serendipity that I had to read your post (moderated because you're a new user) and approve it. :smile:
 

moeiscool

Cadet
Joined
Sep 1, 2018
Messages
6
hehe i love it when you whip something up and it just performs like an ox.

yah, there is a lot that could be attempted still but much of it is either more learning, like Flash, or bad on resources. LOL i can only vaguely remember pci capture cards. These days when I think capture card I think of a USB adapter with an HDMI port :p

Node.js makes things fairly simple though. From blank text file to a webserver. It really is something. Quite frankly if Node.js hadn't matured as much as as it had when I started I am not so sure I'd have gotten very far. I actually tried to build in PHP and it ended in synchronous flames.

zoneminder is a train wreck of many things, back to front. Although I admit they have gotten things along in the last little while. I follow their progress and they've now got h.264 passthrough (copy encoder) which should help a lot for newer cameras. I would still imagine MJPEG/JPEG Saving causes all sorts of storms still, it does on Shinobi. I feel MJPEG heaviness is unavoidable but still relevant because the framerate comes out with less latency than h.264 based methods... i think the latency factor is more a browser fault though and less a fault of what kind of data it is... but i could be wrong.

ah good ol, hikvision. That can do H.264 and should do nicely with both ZM and Shinobi. I think a user on this thread actually came over to the community chat and expressed that the FreeBSD installer script did not work for them. So I will be checking up on that tonight or tomorrow.

hehe. It's quite possible it's just luck but as Artanis says "Luck is a concept that is purely human in origin. We protoss see the synchronicity of events and know there is a grander design behind them."
 

gremblin

Dabbler
Joined
Aug 2, 2016
Messages
13
A comment in another thread mentioned Shinobi as an open-source CCTV app which seems to compare very favorably with Zoneminder. Their docs don't say anything about installing under FreeBSD, but the relevant software sounded like it should work there as well.

Thank you for putting this together. I was a bit nervous after reading that others had issues, but it worked great for me! I had to switch over to gitlab, since the project moved over there after the Microsoft acquisition, but other than that not to bad! I appears to run better than in the VM I had it in before. I was also able to save my monitor config from my VM and import it into the jail, cameras all populated nicely. Now if I could only figure out why continual recording and the discord bot isn't working. :smile: I got zoneminder working in a jail as well, but since all of my cameras are IP cams and sending H.264 video I just don't have the horsepower to even just view the cameras, let alone do motion detection. Shinobi does a much better job.
 

riahc3

Cadet
Joined
Sep 1, 2018
Messages
4
I kept on using Shinobi because right now its the only one that truely works (no thanks to dev; Followed other instructions that did work)

I asked a question on updating/upgrading repos...Because I called the dev out on changing repos, it was removed and I got this message from moe:

iC6wLlC.png


If anyone has any alternatives, Im eyes open. One thing is doing IMO dumb stuff like changing repos because now Microsoft has it, another is turning your back on your userbase because they called you out.
 

moeiscool

Cadet
Joined
Sep 1, 2018
Messages
6
I kept on using Shinobi because right now its the only one that truely works (no thanks to dev; Followed other instructions that did work)

I asked a question on updating/upgrading repos...Because I called the dev out on changing repos, it was removed and I got this message from moe:

iC6wLlC.png


If anyone has any alternatives, Im eyes open. One thing is doing IMO dumb stuff like changing repos because now Microsoft has it, another is turning your back on your userbase because they called you out.

Your first post was removed because you were being obnoxious (if i recall the title had references to my decisions being idiotic.. among other things) and your second post was removed because you again decided to be obnoxious (not asking for help, simply complaining) under a new account after your first 5 accounts were banned.

I didn't turn my back on the user base... I have been talking to people in the community chat all day :p but seriously though you are calling me dumb and asking people to replace my software. what part of that earns help? it's even more audacious because you say the software itself is fine.

You didn't call me out on anything. I came to my conclusion after research and deducing what i think is true. Of course, as mentioned in the article, there are other reasons that are not actually suited to sharing in the Shinobi community. In short : politics is not something everyone is comfortable with.

Honestly though if you had an opinion about how I should operate all you had to do was tell me decently.
 

riahc3

Cadet
Joined
Sep 1, 2018
Messages
4
your second post was removed because you again decided to be obnoxious (not asking for help, simply complaining) under a new account after your first 5 accounts were banned.
Stop lying. I simply said that the repo change was not working and I suspected it.

You didn't call me out on anything.
Yes, I did just like Nick2253 did.

Honestly though if you had an opinion about how I should operate all you had to do was tell me decently.
I did. Except you arent a small child that needs to be explained things, in a soft tone. I straight up said that your reasoning was idiotic. If you were a small child, I would have explained it "decently" as you put it.
 

riahc3

Cadet
Joined
Sep 1, 2018
Messages
4
BTW, if you are truely the "CEO of Shinobi Systems", its 2018...there is no reason that your page does not redirect me to HTTPS. (thats decent BTW)
 

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
I'm closing this thread. This is not productive. It's fine to disagree with the decisions some developer made, but you don't get to call him idiotic for it. If you don't like the choices made, develop your own package.
 
Status
Not open for further replies.
Top