Hi HN! I’m Tony, one of the co-founders of Inngest (https://inngest.com/)
Inngest is an open-source durable workflow platform that works on any cloud. Durable workflows are stateful, long running step functions written in code, which automatically retry on failure. It abstracts everything about queues, event streams and state for you, letting you focus on code. Some examples of uses: managing stateful AI chained step functions; managing search/rag indexes and data pipelines; integrations and webhooks; billing and payment flows.
Technical details: unlike other solutions, we put lots of effort into designing our SDK’s step.run APIs to make them extremely easy to use — developer experience is the most important thing for us.
We had to design and build our own queueing system to work with multi-tenancy, batching, and debouncing, and we’re iterating on this as we move to FoundationDB. It’s largely all Go in the backend, with a bunch of caching, clickhouse, event streams, and coordination on our behalf. Workers are shared nothing, and run based off of the queue and execution state.
We did a post last year as we iterated on our TS SDK. The product has changed a lot since then and wanted to show the community what’s changed as we reach 1.0:
* Golang, Java, and Python SDKs with cross-language function invocation (across clouds, too)
* Multi-tenant aware flow control (concurrency, throttling, debounce)
* Batching, grouping many events into a single function call
* Much improved dashboard, with tracing and metrics built in
* Advanced recovery tools like function replay, temporary pausing, bulk cancellation (with optional expressions). No more dead letter queues!
* Branch deploys built in, with staging env support out of the box
* Full local testing with production parity
There's a ton on the roadmap, with more launching next week. We’re hiring systems & infra engineers, too — it’s a fun job with lots of challenges!Wanted to say thank you to the HN community for feedback so far! Happy Friday :)
And it seems their misnomer is practically everywhere, not just in the Show HN: their website also mislabels their links as "Open Source" - I guess trying to capitalize on SEO
SSPLv1 for anyone similarly interested https://github.com/inngest/inngest/blob/v1.0.0/LICENSE.md
Seems they had a change of heart around 2022: https://github.com/inngest/inngest/pull/81 but they actually only started lying about the license in this go-around because their previous Show HN <https://news.ycombinator.com/item?id=36403014> not only didn't mislabel things but they even said "we're gonna open source in the future" but I guess the future isn't here yet
And the production infra for running isn't even available, just a pared down "development server" via SSPL. This is a long way from OSS.
There might be a bit of misunderstanding on what's in that git repo here. It actually contains the executor, state store, queue, and our production UI, plus the syncing, registration, and logic for functions.
Earlier this year we didn't want folks to roll their own production cloud due to queueing migrations. It would make your life hard. We're entirely responsible for that right now, as we discouraged self hosting.
That's actually coming to a close, and we'll make it easy to spin up prod clusters using this code and eg. MemoryDB, Dragonfly, or what have you.
Let me know when you do! I like the pattern and APIs you've designed for the SDKs—and would probably rely on a managed coordination layer like you've got. But, in order to build confidence in any product like this, we have to know that if something happened to the co, or you went another direction, we could fork the core and continue on.
Well, my experience has been closer to the "more eyes make for shallow bugs" school of thought, so opening the source to contributions would actually help that process, not hinder it
I've written quite a lot of CI for projects because it's something I believe in and am willing to roll up my sleeves to get done (as a concrete example). I believe strongly that being able to reference the canonical CI build helps contributors since they can see how it's built for different systems and also ensure they don't submit "works on my machine" patches
We'll roll out a change that releases source as GPL after 3-4 years next week, actually. I do appreciate these comments and points.
So "eventually OSS"? That's certainly better, especially so for some use cases (company goes under), but it isn't OSS either.
Is there any guarantee ("don't take promise from a company") the license won't be changed to something more closed some time afterwards?
Why is it necessary to wait? You've already seen the feedback, if you're going to change the license, why promise to do it later?
It's already planned, and rushing out a legal change on a Friday night ahead of plans is less than ideal.
BSL Is also not Open Source, it is another kind of Source Available issue.
Of course you're free chose the license what is right of your business, but trying to use Open Source name in deceptive marketing is the problem.
Why not dual license with AGPL?
don't let that stop you from using it marketing though.. if you're misleading with your marketing it makes me wonder what else is not as it is claimed.
Agree. This is absolutely deceptive. It's too bad how the OSS moniker is being misused these days...
I opened the comments before the website as I was sure this would be another of those sources available clickbait. Why is this kind of disingenuous move not enforced in the title guidelines of HN is beyond me.
[dead]