OpenCannabis Project

Version: V1 Status: Raw License: GPL v3 Code Climate Travis branch

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.

Spec Adopters

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!

Contributor Website Category Location
Bloombox Software Provider San Francisco, California
Caliva Cultivator, Retailer, Manufacturer San Jose, California
Chalice Farms/GLH Cultivator, Retailer, Manufacturer, Multi-Location Portland, Oregon
Abatin Sacramento Retailer Sacramento, California
M3 Mobile Meds Distributor Sacramento, California
Nabis Cultivator, Retailer, Manufacturer, Multi-Location, International Toronto, Ontario, CA


You can start contributing by sending a pull request to OpenCannabis/RFC on GitHub. See for more information, including guidance on filing pull requests and issues.

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.

License License: GPL v3

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

results matching ""

    No results matching ""