Maybe someone can give clarification on this, but the line between using TimescaleDB to build a product and providing TimescaleDB-as-a-service seems incredibly blurry. If I have a product that in some way let's you query time series data, and that product is powered by a TimescaleDB, would that count as providing TimescaleDB-as-a-service?
I used to work for Heap which is an analytics tool. In a way you can view Heap as just a wrapper around Postgres. We stored event data in Postgres and provided a UI that allowed you to express queries (e.g. count the number of logins over the past month). We would take the query in the UI, compile it into a SQL query, and run the SQL against Postgres. If Heap was powered by TimescaleDB, would that violate the Timescale License? In fact, you could technically view any dashboarding product that queries TimescaleDB as providing "TimescaleDB-as-a-service".
I looked at the actual license to see what it says, and it seems really unclear. The license gives you permission to use TimescaleDB to develop "Value Added Products or Services" which it defines as a product that uses TimescaleDB as part of a larger offering. One of the requirements for a product or service to be considered "Value Added" is:
> (ii) such value-added products or services add substantial value of a different nature to the time-series database storage and operations afforded by the Timescale Software and are the key functions upon which such products or services are offered and marketed
This seems incredibly vague. What exactly does "substantial value of a different nature" mean? In the end, tons of products are just wrappers around DBs. If products like Heap or Datadog were to be backed by TimescaleDB, would they add "substantial value of a different nature" on top of it? In the end, Heap and Datadog are products designed for querying time series data. I could definitely make a case that they don't provide value of a different nature from TimescaleDB. This vagueness seems like a huge risk and without further clarification, makes me want to stay far away from TimescaleDB.
In fact, when we were looking at Timescale licensing, we took careful look at what a lot of other like company licenses did here (Confluent, Redis, etc), and what later became the Polyform License. Most of them left this definition pretty vague -- because frankly, legal language is never as precise (and perhaps shouldn't be) as what an engineer may like.
We went a step further, and tried to define this more precisely about what it means to "offer" TimescaleDB:
(iii) users of such Value Added Products or Services are prohibited,
either contractually or technically, from defining, redefining, or
modifying the database schema or other structural aspects of database
objects, such as through use of the Timescale Data Definition Interfaces,
in a Timescale Database utilized by such Value Added Products or
What that means is that if you've defined the Heap schema, you have built the indexes and tables, and then are offering a SaaS product on this, you're fine:
- You are offering a product/marketing SaaS service around usage/product analytics, not a time-series-database-as-a-service
- You are not approaching the market and saying, "Here's how to get TimescaleDB-as-a-service" (unlike, say, Managed TimescaleDB running on Rackspace or Digital Ocean), you are saying "Here's a full Product/Marketing Analytics Solution".
- You are not giving your users direct/psql access to the raw database to define their tables/schemas/indexes and otherwise just treat that service as a hosted TimescaleDB instance.
I hope that helps!
I don't understand how the bit you posted helped make things more concrete? Section 3.21, the section you referenced lists three conditions, all of which have to be true for your product to be considered "Value Added". I agree the third condition, the one you quoted, is pretty clear. But the second condition, the one I quoted seems really vague so the definition of "Value Added" as a whole becomes really vague.
> What that means is that if you've defined the Heap schema, you have built the indexes and tables, and then are offering a SaaS product on this, you're fine.
FWIW, Heap would automatically create new tables for customers as they sign up and would also automatically create new indexes for customers as needed. For that reason alone, I'm pretty sure Heap would violate the Timescale license.
I agree that it's pretty difficult to be specific about what "value added" means. I'm not sure what the right solution is. I would still want to go over with the Timescale License with an IP lawyer pretty thoroughly before I were to use TimescaleDB.
Nope! The user doesn't define or control that those tables and indexes are created. I.e., the user, through the Heap UI, doesn't say: I want a table with this schema and I want to create an index on (event_id, timestamp).