A Word on Licensing

Sometimes I get emails with questions about how our license works, and also why we chose the AGPL. I’m happy to discuss this if anyone has questions. I think there are some common misconceptions about the AGPL / commercial option.

Why the AGPL?

All Numenta codebases containing patented works are licensed AGPLv3, which means you may use it in almost any way you want as long as any code you write using it is also AGPLv3. This helps keep new innovations open to the community and allows Numenta to perform open research of new theory and implementations in a transparent way. You may build commercial applications under the AGPL.

HTM is both a discovery and an ongoing investigation. We realize that the idea of HTM is bigger than one person or company. Numenta chose the AGPL as a way to ensure its accessibility to a broader audience and allow ourselves and outside parties to perform research and development atop core theory. We at Numenta believe that HTM will be a foundational technology, thus important enough to share. We are also a privately-funded organization with a significant investment in this technology. The AGPL allows us to develop and share HTM while opening an avenue for monetization via commercial licenses.

Opting out

If the terms of the AGPL are too strict and you would like to keep your codebases proprietary, you may contact Numenta about commercial license options. We aim to make licensing easy and cheap for new businesses.

Not All AGPL

All Numenta codebases that do not contain patented works are licensed using other non-restrictive licenses like MIT.


@rhyolight what’s Numentas position regarding code derived from the HTM research papers and not from Numentas projects?

For instance, assuming /github.com/calclavia/htm-tensorflow/ was based only under the HTM paper (I’m asking under /github.com/calclavia/htm-tensorflow/issues/3), can the author assign whichever license they find appropriate?

The HTM paper contains this statement…

“The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest. JH, SA, and YC were employed by Numenta Inc. Numenta has some patents relevant to the work. Numenta has stated that use of its intellectual property, including all the ideas contained in this work, is free for non-commercial research purposes. In addition Numenta has released all pertinent source code as open source under a GPL V3 license (which includes a patent pesubjectovision).”

It would be my understanding that the research papers are NOT subjet to AGPL licensing since they were “conducted in the absence of any commercial or financial relationships”, correct?

Thank you, Matt.

1 Like

You can license this code however you want, since you are the author and you own the copyright on the code. However, I would encourage you to put a clear notice in the README stating the codebase implements HTM, which is the intellectual property of Numenta, Inc.


Great, this makes a lot of sense.

For others reading this thread, I would also read Numentas position on patents: /numenta.org/blog/2013/07/01/patent-position/. My understanding is that the intellectual property is being held by Numenta to protect the HTM Community, which would help protect contributions in this space.

I’m a fan of the work Numenta is doing. Thank you, Matt.


@rhyolight “commercial license options” link is broken

1 Like

Hello Matt,

I’m super sorry to ask again, but I am really not sure how the license thing works :sweat_smile:

I am working in a small start-up and we want to use HTM Systems as tool for prediction and anomaly detection.
Sooo… We understand that we have to pay, if we want to use the Numenta codebase for commercial purpose. We checked the license AGPLv3. So the payment conditions are clear in the case we use the codebase provided by Numenta.

But what is, if we implement the HTM System from scratch based on the research papers.
I know that these are the intellectual properties of Numenta.
So do we have to pay for this as well?
Where can I find more information about all this?
Or whom can I contact to figure out more about this?

We really want to use the HTM Systems for our software. So a clear explanation would be really appreciated.
Thank you very much in advance.


You might want to look into Numenta’s license page.


That’s not actually true. You only need to negotiate a commercial license with Numenta if you can’t use the AGPLv3 for your own codebase that uses NuPIC. If you are ok making your codebase that depends on NuPIC APLv3, no need to talk to us about a commercial license.

Look at our validation license and contact @cmaver for details.

1 Like

Hi Helena.

You’ve hit on a topic I am also interested in.

Numenta’s Nupic is Python 2.x only, and is dual licensed - AGPL
or another license for use in closed-source applications. Python
2 will no longer be supported by the core python developers as of
January 1st, 2020 - less than a half year away.

There’s a community fork of Nupic called htm.core. It is AGPL,
and runs on Python 3.x, but it is not yet clear whether it is
available for use in a closed-source application due to its many
contributors without a CLA. It may prove best to think of this
code as AGPL-only.

AGPL code can be used in commercial applications, but you have to
give away the source code. You’re allowed to charge money for it,
but it turns mostly into charging for support at that point.

There’s also Etaler, which is under a BSD license, so it may be
better suited to use in a closed-source application. I think it
is C++ only at this time - no Python yet. But it might be a good
starting point if you’re considering writing your own HTM
library. Etaler is purportedly very fast.

I think Numenta has a patent on HTM, so a license would need to
be negotiated for that even with htm.core or Etaler, most likely.


1 Like

This is true. If you want to use htm.core without the AGPL part, you should get an IP license from Numenta. Etaler is BSD, not AGPL, but if you want to use it for commercial purposes, contact Numenta for an IP license. We are very flexible about this for start-ups. Validation licenses are typically free while you try to implement something.

EDIT: Please see post below for explanation of strike-out.

1 Like

Thank you all so much for your help.
I’ll talk to my colleges and come back to you :blush:

Thanks a lot!

Do you mean NuPIC.core or HTM.core? So there is a agreement between Numenta and the community fork devs?

1 Like

Yes, Etaler only supports C++ now. While Python binding is planned in the future.

@helena_Thielen Hacking one right away is doable. Just I won’t maintain it as Etaler’s API might change a bit later on. I’m open to contracting if you need one right now.

1 Like

I did mean htm.core. No agreement is necessary. If someone attempts to use htm.core for a commercial application using proprietary code (thus violating the AGPL), it would be irresponsible for us (Numenta) to assume the fork developers will hire lawyers to uphold the license. The IP and patents at the core of both nupic.core and htm.core are the responsibility of Numenta to protect.

EDIT: Please see post below for explanation of strike-out.


I mean, what if a contributor want his/her code only available in AGPL and nothing else? There is no consensus about using htm.core in a closed-sourced project (as @Dan_Stromberg mentioned. There is no CLA signed by every developer like how NuPIC does). The upstream licensing the downstream’s code in another license is quite a bold move.


I see what your concern is. I have been thinking about IP licenses. I’ll talk it over with my colleagues tomorrow and get back to you.


I have edited my posts to clarify that we are not offering commercial license options for externally developed community codebases. I am not a lawyer, but I will say that the htm.core community fork is simply AGPL. I’m sorry if that was not clear in my earlier posts. We are very supportive of that community, and I encourage them to do what they think is best with that codebase.


We have recently reviewed our licensing strategy, and we’ve decided to make a change.

Commercial licenses are now only available under the terms of the AGPLv3 license. Although Numenta previously offered non-AGPL commercial licenses, we have discontinued that practice. The work we were licensing is now many years old and we are not maintaining it. Our new technology, pertaining to machine learning, is not yet available for licensing. We will announce a commercial licensing program when available.

If you are interested in using our intellectual property without our software in a commercial application, or have questions about our patents and licensing, contact us at licenses@numenta.com. More info here.

1 Like