SHINOBI OPEN SOURCE SOFTWARE LICENSE AGREEMENT
==============================================

Copyright (C) 2023 [Shinobi Systems](https://shinobi.systems)

*We'll try to keep it simple. Thanks for using Shinobi Software!*

Definitions.
-----------
In this license, which also serves as a general End User License Agreement [EULA], the following
terms shall be interpreted by these definitions:
 * "EULA" shall mean this End User Licence Agreement
 * "Licensor" shall mean SHINOBI SYSTEMS
 * "Licensee" shall mean YOU, or the organisation (if any) on whose behalf YOU are taking the EULA.

"SOFTWARE PRODUCTS" or "SOFTWARE" or "PRODUCTS" shall mean the Software Product this License is
included with and any additional modules or add-ons delivered by Shinobi Systems. The term
"SOFTWARE" includes, to the extent provided by SHINOBI SYSTEMS:
 1) any revisions, updates and/or upgrades thereto;
 2) any data, image or executable files, databases, data engines, computer software, or similar
 items customarily used or distributed with computer software products;
 3) anything in any form whatsoever intended to be used with or in conjunction with the SOFTWARE;
 4) any associated media, documentation (including physical, electronic and on-line) and printed
 materials (the "Documentation").

Purpose of the Agreement.
-------------------------
**The Short**: Protect the rights of this Software Product and the LICENSOR.

**The Long**: The LICENSOR grants the LICENSEE a non-exclusive, non-transferable and perpetual
licence to use the SOFTWARE PRODUCTS listed therein and under the terms thereof. By accepting
the terms and conditions established in this agreement, the LICENSEE does not acquire any
ownership of copyright or other intellectual property rights in any part of the SOFTWARE
PRODUCTS. The LICENSEE is only entitled to use the SOFTWARE PRODUCTS in accordance with the
terms and conditions set forth by Shinobi Systems. By using the SOFTWARE PRODUCTS, the
LICENSEE agrees to accept the terms and conditions presented.

LICENSEE must purchase the applicable subscription in any other use case unless otherwise
granted. If the use case does not have a subscription applicable please contact a
representative at support@shinobi.systems.

#### Commercial Uses
- Selling usage of the software
- Selling hardware with the software on it
- Using the software in locations that engage in the buying and selling of goods and services

As of 2022-07-12 the noted situations below are seen the same as "Commercial Use".

- 15 Active Monitor Rule : Having at least 15 Active Monitors and not a Primary School or Secondary School. Does not apply to Personal Use.
- 150 Active Monitor Rule : If you have more than 150 Active Monitors please contact support for an Enterprise License. The retail Shinobi Pro license will not be applicable for these installations.
- Used on a Device that was part of a commercial transaction. This can be, but not limited to, being sold or provided additionally to a sale.

#### Conditions for Free (Unpaid) use.
If you fall under any conditions for "Commercial Use" none of the following can apply unless otherwise noted.

- Personal use
- Use in a non commercial area
- Used for non commercial purposes
- When used for research or educational purposes
- Testing Purposes (5 Cameras Maximum, 14 Days)
- Usage by Primary Education or Secondary Education Schools
- Use for Emergency Services and facilities associated like Search and Rescue Services or
Ambulance Services with less than 50 cameras
- Use in Health Care facility like a hospital or walk-in clinic with less than 100 cameras
- Schools and Organizations that have been given exemption

As of 2022-07-12 If you are an organization that falls under one or more of these conditions for free use then you must display that you are using Shinobi Systems software as "shinobi.video". This can be physically on premise or on your organization's public web page.

Falling under the conditions for Free use does not guarantee you a License Key. It simply means you are allowed to use it without paying or trading for that use.

#### Unsure if your use is commercial or non-commercial

Please contact us through the Live Chat of our website and we can negotiate or make exceptions based on the circumstances of your use case.

#### Registration

Schools and Resellers must register with Shinobi Systems at https://licenses.shinobi.video.
In your account please fill out the "Apply for a School License" form or "Apply to be a Reseller" form.

#### Support Services.
The Maintenance and Support Service shall be contracted and provided as per selected plan
agreement, taxes will be included in all prices for Support Services.

Support Services will only provide support services as per the selected agreement.

This is not the entire agreement on support services. You must also review all agreements
provided with subscription plans provided.

#### Software Product Ownership.
This software is property of Shinobi Systems. LICENSEE must keep all copyright notices
unchanged.

This software contains or uses other software with their own licenses attached. See "List of Included Software" at the bottom of this document.

#### Modification of this Software Product.
LICENSEE may modify source code. LICENSEE may not alter or change
copyright notices. All code changes by LICENSEE shall fall under the copyright of Shinobi
Systems in the case code modified by LICENSEE is integrated into the official Shinobi code base.

#### Software Product Rebranding or "White-Labelling".
LICENSEE can remove the Shinobi branding from the front end but all copyright notices must
remain unchanged.

#### Software Product Contributions.
All contributed code becomes the property of Shinobi Systems. All contributors give permission
to Shinobi and Shinobi developers to use the code however it is seen fit.

#### Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM
"AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK
AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE,
YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

#### Changes to the Agreement.
Shinobi Systems reserves the right to change the license and set of terms at any time.
Continued use is agreement to those possible changes. Changes to this license will be provided
in the commit history of the repository it is located in.

#### Legal Proceedings.
All lawsuits must be filed at the Vancouver Court House.

Courthouse Vancouver Robson Square
800 Hornby St, Vancouver, BC V6Z 2C5

#### List of Included Software

    This list is completed to the best of our knowledge.

    Node.js - https://nodejs.org/en/
    MariaDB - https://mariadb.org/
    FFmpeg - https://www.ffmpeg.org/
    pam-diff (Motion Detector) - https://github.com/kevinGodell/pam-diff
    pipe2pam (for pam-diff) - https://github.com/kevinGodell/pipe2pam
    mp4frag (Poseidon's main engine) - https://github.com/kevinGodell/mp4frag
    mse-live-player (for mp4frag) - https://github.com/kevinGodell/mse-live-player
    pipe2jpeg - https://github.com/kevinGodell/pipe2jpeg
    hls.js - https://github.com/video-dev/hls.js/
    flv.js - https://github.com/Bilibili/flv.js/
    Material Design Lite - https://getmdl.io/
    socket.io - https://socket.io/
    fullcalendar - https://fullcalendar.io/
    jQuery & jQuery UI - http://jquery.com
    Bootstrap - https://getbootstrap.com/
    PNotify - https://sciactive.com/pnotify/
    Font Awesome - https://fontawesome.com/
    Gridstack.js - http://gridstackjs.com/
    Date Range Picker (daterangepicker.js) - http://www.daterangepicker.com/
    Hero Pattern CSS Backgrounds - http://www.heropatterns.com/
    Bootstrap Table - https://github.com/wenzhixin/bootstrap-table
    placeholder.js - https://jamesallardice.github.io/Placeholders.js/
    Moment.js - https://momentjs.com/
    Livestamp.js - https://mattbradley.github.io/livestampjs/
    Lodash - https://lodash.com/

	**npmjs.com packages**

	async - https://www.npmjs.com/package/async
	aws-sdk - https://www.npmjs.com/package/aws-sdk
	backblaze-b2 - https://www.npmjs.com/package/backblaze-b2
	body-parser - https://www.npmjs.com/package/body-parser
	bson - https://www.npmjs.com/package/bson
	connection-tester - https://www.npmjs.com/package/connection-tester
	cws - https://www.npmjs.com/package/cws
	digest-fetch - https://www.npmjs.com/package/digest-fetch
	discord.js - https://www.npmjs.com/package/discord.js
	ejs - https://www.npmjs.com/package/ejs
	express - https://www.npmjs.com/package/express
	express-fileupload - https://www.npmjs.com/package/express-fileupload
	fs-extra - https://www.npmjs.com/package/fs-extra
	ftp-srv - https://www.npmjs.com/package/ftp-srv
	googleapis - https://www.npmjs.com/package/googleapis
	http-proxy - https://www.npmjs.com/package/http-proxy
	jsonfile - https://www.npmjs.com/package/jsonfile
	knex - https://www.npmjs.com/package/knex
	ldapauth-fork - https://www.npmjs.com/package/ldapauth-fork
	moment - https://www.npmjs.com/package/moment
	mp4frag - https://www.npmjs.com/package/mp4frag
	mqtt - https://www.npmjs.com/package/mqtt
	mysql - https://www.npmjs.com/package/mysql
	node-abort-controller - https://www.npmjs.com/package/node-abort-controller
	node-fetch - https://www.npmjs.com/package/node-fetch
	node-onvif-events - https://www.npmjs.com/package/node-onvif-events
	node-ssh - https://www.npmjs.com/package/node-ssh
	node-telegram-bot-api - https://www.npmjs.com/package/node-telegram-bot-api
	nodemailer - https://www.npmjs.com/package/nodemailer
	pam-diff - https://www.npmjs.com/package/pam-diff
	path - https://www.npmjs.com/package/path
	pipe2pam - https://www.npmjs.com/package/pipe2pam
	pixel-change - https://www.npmjs.com/package/pixel-change
	pushover-notifications - https://www.npmjs.com/package/pushover-notifications
	sat - https://www.npmjs.com/package/sat
	shinobi-onvif - https://www.npmjs.com/package/shinobi-onvif
	shinobi-sound-detection - https://www.npmjs.com/package/shinobi-sound-detection
	shinobi-zwave - https://www.npmjs.com/package/shinobi-zwave
	smtp-server - https://www.npmjs.com/package/smtp-server
	socket.io - https://www.npmjs.com/package/socket.io
	socket.io-client - https://www.npmjs.com/package/socket.io-client
	tree-kill - https://www.npmjs.com/package/tree-kill
	unzipper - https://www.npmjs.com/package/unzipper
	webdav-fs - https://www.npmjs.com/package/webdav-fs
