OpenCannabis is a multilateral industrial effort to create an interoperable technical data specification tailored for the worldwide legal cannabis market.
As legal markets to buy, sell, cultivate and manufacture cannabis products come online, a need is emerging for a universal way of connecting data systems and components that work with cannabis or cannabis-related data.
Why write a spec?
Currently, the state of the art in cannabis technology is one of two options: Massive, sweeping ecosystems of proprietary code (that frequently break), and isolated, SaaS-style startups that provide great tools but without the ecosystem around them for maximal value.
Some business operators opt for the big players, and feel the pain when they go down. Others spread that pain out over many smaller providers but both are still unhappy. What's the answer to fixing these problems?
An open specification, for cannabis data. For menus, transactions, customers, and so on - so that when one provider isn't enough, or it's time to switch, or you want to write your own code - your data and your business aren't locked away.
Authors and backers
OpenCannabis was conceived at Bloombox, but it's open and free to the world (under the GNU GPLv3 license). Early adopters and collaborators include industry players across the global cannabis supply chain, including Caliva, Nabis, GLH and Abatin Sacramento.
If you'd like to adopt the spec, or list yourself as a backer, file a pull request and we'll get you added!
|Bloombox||bloombox.io||Software Provider||San Francisco, California|
|Caliva||caliva.menu||Cultivator, Retailer, Manufacturer||San Jose, California|
|Chalice Farms/GLH||chalice.menu||Cultivator, Retailer, Manufacturer, Multi-Location||Portland, Oregon|
|Abatin Sacramento||abatinsacramento.com||Retailer||Sacramento, California|
|M3 Mobile Meds||m3meds.com||Distributor||Sacramento, California|
|Nabis||nabisholdings.com||Cultivator, Retailer, Manufacturer, Multi-Location, International||Toronto, Ontario, CA|
Contributor License Agreements (CLAs)
Each individual and corporate contributor must complete and sign a Contributor License Agreement before contributions may be accepted. This agreement stipulates that contributions to the OpenCannabis Project are owned by the Project and automatically made open source, among other things.
You can preview the CLAs in PDF form before signing. They very closely follow the Apache Foundation CLAs:
- Specifications MUST be created and modified by pull requests according to RFC 1/C4
- Specifications MUST follow the lifecycle defined in RFC 2/COSS
- Specifications MUST use a share-alike compatible license.
- Specifications SHOULD use GPL v3 or a later version of the license
- Specifications SHOULD use RFC 2119 key words.
- Specifications MUST be considered immutable, except for cosmetic changes, after exiting Draft status.
On the shoulders of giants
The OpenCannabis Specification and related materials are written with modern, cutting-edge tools. The project structure is inspired by Unprotocols RFC, which is a repository for universal, cross-project protocols used in software development, ranging from workflow to technical.
The specification is codified in a series of documents - referred to as the "Specification," or "Spec," and a software implementation, referred to as the "Protocol," which is written in Protocol Buffers, a language from Google. Other specifications written in industrial circumstances have seen success with this exact model (see: OpenRTB).
Copyright (©) 2019, the OpenCannabis Editor and Contributors. All rights reserved.
This Specification is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This Specification is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses.