-
Notifications
You must be signed in to change notification settings - Fork 574
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
An open letter to the Windmill team #5014
Comments
Thanks for the well thought letter. While I disagree with most of it, I understand the frustration and there are terminologies that date back to 2 years ago we may want to refine. However, I think the frustration you have is mostly with Commercial Open-Source not aligning with your vision of some kind of "pure open-source". The reality is that this project is made possible not by volunteers but by paid professional software engineers and as you know, engineers are not cheap. The attention to details, DX and feature completeness is hard to achieve in a project made purely out of contributors in their free time. So I would argue it is better for Windmill to exist in this form rather than not at all. Windmill is made of 3 layers.
The community edition is made of the fully open-source + free EE features. You can build the full open-source edition without any of the ee features from source and it will work standalone. As such, some may qualify it as open-core and it might be true but given the open-source edition works standalone I think the term could lead some to believe the open-source part is not sufficient to work by itself. The workflow engine is fully open-source/AGPL, all the sources are there and properly licensed.
That's not surprising, we've been very selective to the features we gate under EE and they reflect in the vast majority the needs you would have as an enterprise and not as a hobbyist. Almost all the features you mention are gated under EE for our competitors (yes, Temporal and Airflow have an EE edition too, for Airflow it's astronomer and for temporal, good luck making it work at real scale on the open-source self-hosted edition). You've mentioned you'd prefer Windmill to not be open-source at all/AGPL if it has EE features. That seems extreme. We want contributors to feel comfortable branching the workflow engine as long as they can contribute back features to the open-source ecosystem. You can also note that our hub: https://hub.windmill.dev has all their scripts being MIT-0. On the pricing model and arbitrary restrictions, the arguments are mostly that our business model is incorrect:
That part is very subjective and while I do not deny your experience and point of view, we also have, as a team, enterprise experience on both sides and have sold and bought a lot of enterprise software ourselves. Windmill is doing well commercially, we are break-even ($1M+/ARR, 150+ enterprise customers, 10FTEs) (yay, 🎉 ) and our costs are both the lowest of all our competitors for enterprises, they are also some of the most transparent: you pay by usage rather than paying based on how big your company is or how big your budget is. For an enterprise workflow orchestrator, we are extremely cheap. Some very, very big names are using Windmill at scale for very critical use-cases and they are paying "only" $50k/y with extensive support and pro-active feature requests.
That part is unnecessarily aggressive in my opinion, you assume ill-intent. We're proud to do open-source software and we have never asked for contribution. What we get as contribution is mostly great feedback, bug reports and feature requests that we are happy to oblige. Our customers are happy to know they can both inspect the code and contribute if needed be without too much hassle. They also know they're not locked-in in a hostage situation, if they feel like the deal they're getting out of the EE features is not good enough, they can always use the open-source edition and try building the enterprise features they need themselves.
Tell that to the 20k+ developers/users using the community edition of Windmill every day. Should we have more features in open-source and less in EE, maybe that's a fair criticism. But one of the reason we are break-even might be because of the choice of EE features we've made which strongly incentivize production enterprises to pay. I'm the founder and have worked on this project and company 100h/week for 3 years now and have paid myself the basic minimum $20k/y on those 3 years, so I take full responsibility for the choices we've made and believe they have been mostly correct and fair for the long-term sustainability of the project. We have an amazing team, great customers and a very exciting roadmap for next year so maybe as we grow we may be able to relax some of the feature restrictions we have or not. If you think we are disingenuous, I respect that opinion too but I think you underestimate the complexity of building such project in such fashion and yes, it would have been easier to not be open-source at all but that was a personal choice of mine. |
Hi Ruben. Thank you for your response. After I raised that issue yesterday I did some more research on Windmill and also read some of your historical posts on various forums, and I want to sincerely apologize. I have clearly very grossly misjudged your intentions. As a young software engineer who cares about OSS what you have done is something to aspire to, and I want to apologize for the aggressiveness in my previous message. Just to clarify, I did not mean to say that Windmill should not be OSS. What I meant was that it would be preferable to use a source available license than to use OSS licenses and terminology only for marketing purposes. Given that it is now clear to me that is not your intention, I disagree with my previous statement. I am in full support of OSS projects monetizing features to an extent that is necessary to support development and operations, and while I may not agree with some specific restrictions, it's not my business to run. I especially have great respect for the intention of being able to relax some restrictions as you grow in adoption and revenues. Regarding my comments about it feeling like a "Demo" or "Lite" version, I was definitely being hyperbolic and overly critical. You're right that the feature restrictions on the CE do not really make a huge difference. While I do still maintain that some of the restrictions seem a bit arbitrary or like a means of pushing people into a license, like connecting to an S3 bucket with more than 20 objects, being able to scale on your own compute, or preventing package managers from being able to install from private repositories, that may just be my lack of exposure to enterprise software. Really, it was just a bit jarring to have the first sentence of every comparison on your docs lead with: Windmill is "fully open source" and (competitor) is not, just encounter banners telling me a feature is locked behind EE every couple clicks (to be fair, I was mostly clicking around settings menus, so there's obviously a good amount of selection bias). Even so, you are right, it is much better that Windmill exist in this form than not at all. I should not have been so quick to judge, especially about features that I don't even really need. I felt like I was seeing FOSS terminology used for marketing and wanted to say something about it out of principle. If I had done more research in advance I would not have come to the same conclusions. I was certainly being cynical, and I cannot deny being young and idealistic. For this I apologize. Congratulations on your success and thank you again for your prompt, detailed, and transparent response—and for your contributions to FOSS and software as a whole. I hope to see Windmill become the standard for workflow orchestration and attain the adoption it deserves. |
I'm generally satisfied with the self-hosted open source version of Windmill. Something in your letter concerns me though:
Is this true? How do I verify this? In case if it's true I would suggest not to download models thay aren't available for use. |
Embedding models are downloaded but they are used for the search feature to do semantic search on the scripts on the hub in the flow editor which works in CE. |
I came across this issue while googling for the "open source edition" of Windmill. Thanks @apostolos-geyer for having the courage and time to write the open letter. This conversation has answered a lot of questions I've had attempting to evaluate windmill as either a replacement for or supplement to retool. I and my fellow developers can't help but be nervous about their "workflow executions" pricing model so we just don't use that feature. Your model based on compute units makes us feel at ease, but the people with the checkbook will hound us to no end if there's less than 90% utilization at all times on the workers. It's a tough spot to be in for @rubenfiszel as I imagine he's like the rest of us who just wants to build cool things without having to think about monitizing it. I really like what I see with Windmill and I think it "sells itself", but we kinda get turned off seeing "EE ONLY" on half the features even though we'll probably not use most of them. I would prefer these settings just not be visible, but not sure how you do that and still gently encourage users to sign up. Thanks for listening, just giving my feedback. |
Hi! I am very new here - I just took the whole day yesterday to give Windmill a try - and I'd like to share my fresh impressions on the product and contribute to the discussion in this issue. First, a bit of context: I have been experimenting with N8N as an attempt to make my creation of AI Workflows faster and easier to maintain. I am an experienced developer who started looking into alternatives as N8N is very hard to integrate with my own codebase and more complex scripts due to its reliance on deprecated VM tech. I took a good look at all options listed at awesome-workflow-engines and I can confidently say that Windmill is the best option available today. The promise of being able to create wrapping scripts (entry points) to my code, that are very easy and quick to connect and move around while keeping full support to my typescript codebase, totally sold me. It’s a game-changer for developers like me who need flexibility and speed. That was a fun ride with this technology and in general very positive, but I’ve decided not to proceed with Windmill for one critical reason: There were some other features that made me very uncomfortable as EE only, such as Git integration, but that I could understand and accept without further complains. I could imagine myself (a non enterprise dev) eventually growing my project and finally buying an Enterprise license in order to simplify my work and get e.g. more reliable Git support, but I simply cannot build my project without Codebase integration first to only later on move into it. For now, I’ll be exploring lower-level solutions like Trigger.dev, but I’ll be keeping a eye on Windmill’s progress. Thank you for creating such a powerful tool! I’d also like to add that I am a strong supporter and believer in the idea that open-source projects must get better paid/financed. OS.Cash (by @ngounaris) is an inspiring model that ensures software remains free for most while requiring big businesses to pay—a fair way to fund developers and hold corporations accountable. While OS.Cash is a brilliant step forward, projects like Windmill may need more direct monetization strategies to thrive at their scale. Still, it’s a powerful reminder that creative solutions can bridge the gap between open-source ideals and financial sustainability. |
First, I want to begin by saying that Windmill is an amazing platform. Its support for defining tasks and flows in multiple languages right in the UI is fantastic. The ease of deployment, the excellent documentation, and the sheer engineering effort that went into this tool are all extraordinary. It truly feels like a product built by developers for developers.
As a student who is just beginning to understand enterprise-scale platform engineering, you can imagine my excitement when I stumbled upon Windmill while exploring Supabase integrations. My immediate thoughts were:
Having worked at enterprises and designed applications using tools like Ansible + AAP/Ansible Tower, Apache Airflow, and Databricks, I saw in Windmill the perfect orchestrator, particularly for small-team consulting projects where powerful orchestration is needed but managing a complex application stack is untenable.
However, after diving deeper into the documentation and spinning up a local instance, I was left feeling disappointed. The marketing emphasizes open-source principles, but the pricing model, licensing terms, and arbitrary feature restrictions paint a different picture—one that feels more like a bait-and-switch than a genuine commitment to FOSS.
Interestingly, if you read through the documentation on Windmill’s website, many comparisons to other platforms start with the claim that “Windmill is fully open source.” This feels disingenuous. It’s one thing to care about FOSS but need to build a sustainable business model. However, Windmill’s approach increasingly seems like a predatory attempt to leverage open-source sentiment for marketing while implementing restrictions that contradict its principles.
The Pricing Model
The pricing model for self-hosted deployments is perhaps the most egregious of all. From what the UI and documentation suggest, users must pay to use their own compute. If I am self-hosting Windmill and the workers are running on my infrastructure, why would I be charged based on the number of workers or their memory limits? This pricing structure seems designed to discourage self-hosting altogether.
In industries like finance and healthcare, where I have experience, strict regulatory requirements often mandate on-premises deployment or preclude fully managed services. This pricing model would make Windmill impossible to adopt in such environments. Enterprises will pay for SLA-backed support and custom deployments, but charging for the number of workers and memory usage on infrastructure they already own and maintain? That is a hard sell.
The Arbitrary Restrictions
Even with the above pricing model for EE, if CE weren’t full of arbitrary restrictions, it might be easier to justify. But it is.
Object Storage
I cannot connect to an S3 instance with more than 20 objects or upload files larger than 50MB. Why? This is a matter of rendering the result of a
list_objects
call in the browser, not some competitive technical advantage. Users already pay for their storage infrastructure (AWS S3, MinIO, etc.), so why impose additional restrictions on simply using it?Content Search
I noticed that embedding models are downloaded even in CE without the search feature enabled. Browsing the codebase confirmed these models are used for the search functionality. Not only is the computation happening locally, but the dependencies are already installed. Yet, you’re still not allowed to use it unless you pay for EE.
Codebases and Private Indexes
The FOSS version seemingly lacks support for private PyPI or NPM packages. If this means you’re prevented from installing from internal repositories (even with environment variables and proxies configured), this creates an immediate roadblock for most enterprises. Internal repositories are ubiquitous at scale, and restricting access to them seems arbitrary at best and another concerted effort to limit the usefulness of the platform without paying up at worst.
Alerts
The platform already supports event-driven workflows, yet it prohibits triggering an alert when a critical process fails without paying for EE. This undermines the usability of the platform for production-level workflows.
Final Thoughts
I want to acknowledge that, in truth, I don’t even need most of the paywalled features for my own use cases. I’m unlikely to have more than 10 users. I don’t need to browse object storage in the UI—I can already do that through Supabase or MinIO and still leverage tools like
boto3
in my scripts, passing S3 arguments as strings. Not having Git sync only introduces a small inconvenience, and I could probably roll my own solution, just as you would with an orchestrator like Airflow.However, the issue isn’t about the absence of these features for me—it’s the feeling of misalignment. The company presents itself as a supporter of open source, but the practices suggest it’s leveraging open-source sentiment without adhering to its principles. Instead of pitching Enterprise Edition with value added, the approach feels like an effort to push users away from Community Edition with value subtracted—and that’s what makes it so disheartening.
You don’t even have to be open source. If it said "Open core" or "Source available" from the start, I wouldn’t be writing this issue—I’d be writing code in my local Windmill deployment. The Business Source License (BSL) would work fine here. The Sustainable Use License would work fine here. The arbitrary handicaps would still suck, but at least it wouldn’t feel like a blatant attempt to masquerade as FOSS for goodwill.
I wanted to pitch Windmill for a couple projects, and we probably would have ended up paying for a license or support in the long term anyways, but when the first word on your website is "Open-source" and you're very blatantly not, it's both hard to trust the company or to imagine widespread adoption to the extent of platforms like Airflow. As it stands, I would feel much more confident using a platform like n8n that isn’t FOSS but doesn’t pretend to be, or something like Temporal that surpasses Airflow in convenience and performance even without a flashy web editor.
Open Source is—and should always be—more than just a marketing term.
Sincerely,
Apostoli
P.S.
I am totally open to being wrong. I hope I am. I just found the platform a few days ago and spun it up and it was felt more reminiscent of downloading a demo of a game on my PS3 or a Lite version of an app when I was a kid than a FOSS platform with optional enterprise grade features but as I said, I'm definitely young and naive. Maybe you guys have the best intentions and need to appease the VC, maybe there are technical reasons for these constraints that are beyond my understanding. I don't know.
The text was updated successfully, but these errors were encountered: