Bruno - Opensource, Sustainability, Privacy, Freedom and Incentives #269
Replies: 30 comments 51 replies
-
Nice. I salute your transparency and hope you and the community will improve the product and everyone will be better for it. I think mkdocs-material insiders model is excelent, along with donations. People/companies vote and pay for the features they want to get developed, and get them in private build first, then after some time it all finishes publically available. That way both the author gets deserved monetary compensation and the community gets it soon enough. I discovered bruno today via HN and while it certainly needs some polishing, its pretty awesome as it is now. Thank you. |
Beta Was this translation helpful? Give feedback.
-
Hey,
|
Beta Was this translation helpful? Give feedback.
-
Thanks for creating this project and persevering through it in the early days. Nobody knows what the future holds, but I root for your success. Also +1 for @majkinetor's suggestions on donations and the Insiders model followed by MkDocs Material. |
Beta Was this translation helpful? Give feedback.
-
@helloanoop I don't completely understand the stance that Bruno will never implement any cloud sync. I do understand (and very much appreciate!) that we wouldn't want to have a proprietary sync that would lead to a vendor lock-in. However, I feel there might be other ways to get the same functionality while still keeping things open. A couple options off the top of my head:
In other words - I feel a cloud sync functionality might be okay, as long as the user controls the storage area, and it is stored in a human-readable format allowing them to switch to other platforms if they choose (which I feel the Bru language already does). If there's interest, I'm happy to open a separate issue describing the use cases we have for Postman right now, which would be impossible to support in Bruno without cloud sync. |
Beta Was this translation helpful? Give feedback.
-
I would strongly prefer something like a GitHub Sponsors, Ko-Fi, or Patreon to be able to support the project, as opposed to a paid tier. A paid tier puts those who cannot pay as second class, and makes the software inherently split between a proprietary and free version. Having a community fund would be quite positive in terms of providing a fully libre option for a GUI HTTP client in the space. |
Beta Was this translation helpful? Give feedback.
-
This is an interesting read too: https://github.com/getlago/lago/wiki/Open-Source-does-not-win-by-being-cheaper |
Beta Was this translation helpful? Give feedback.
-
Really appreciate the spirit of Local-first software with Bruno! |
Beta Was this translation helpful? Give feedback.
-
Greetings from Peru, adding only to certain positive comments, I recommend that you first define if you want to make money with your project. Because everything will depend on it, many ways have already been explained to you, but you should not be lukewarm with the purposes you want from this. To do this, just remind you that as people we change depending on time and circumstances, and that is not bad, on the contrary, it is part of our personal development. Also remember that for a better group result, it is first necessary for each member to have the short, medium and long-term objectives of the project well defined. Make up your mind! |
Beta Was this translation helpful? Give feedback.
-
Update 1Date: 8 Oct 2023 Thank you, everyone, for all your valuable comments and suggestions. Here is an update. Incentives
I believe @mmitacc's point here is about being transparent and straightforward regarding my intentions as the Bruno's creator and lead maintainer. So, here it is: Do you want to make money with your project? Yes, I do. What are your short, medium and long-term objectives of the project? Short Term
Medium Term
Long Term
Golden EditionIs it going to be open source? No, the modules belonging to the Golden Edition will be closed. Will existing features continue to be free? Yes. Will you continue to build new features for free? Yes. Will there be limits on collection runs or requirement to have a cloud account You are struggling from ptsd. See a therapist 😉 What features are exclusive to Golden Edition?
I want to emphasize majority of our features will always be freely available, with the code open sourced under the MIT license. We're committed to continuously developing features for the benefit of all users. How much will Golden Edition cost? I'm considering a yearly fee of $12 USD. Do you think people will buy it? I hope people will love and find enough value in Bruno to support it by purchasing the Golden Edition, that comes with the additional features. Furthermore, I hope that companies benefiting significantly from Bruno will consider sponsoring its ongoing development and maintenance Best, |
Beta Was this translation helpful? Give feedback.
-
I think https://git-fork.com/ do it nicely, you can use it for free and you can decide to pay them. I used it without any intention to pay, until I one day thought "I use this everywhere, I should help them out" and bought a license. They have great support, so I mention them to other fellow devs. |
Beta Was this translation helpful? Give feedback.
-
👋 Hi Anoop (and community)
On the topic of sustainability, have you given any thought to business continuity / succession planning should something happen to you? Things happen to people - it could be something sudden and terrible, such as death or a disability, or something else that blocks further progress on Bruno due to the unavailability of the only person who can merge / build / deploy. At a previous company, the intellectual property was transferred into a trust so that a small group of trustees could, within the memorandum of association make decisions about that "property". I've seen statements in previous threads that that allude to to "not wanting to set up a company" and Anoop saying in Discord
I am not questioning either of these stances. There are good reasons to back them up. I do, however, think that a parallel "organisational" roadmap could be considered to cover the operational aspects of sustainability of this project. (The additional complexity that this brings is not lost on me, hence the suggesting of it being a roadmap item that can be planned in parallel with the features). |
Beta Was this translation helpful? Give feedback.
-
Some further thoughts on sustainability and pricing. I decided to rename There is fundamental trap that needs to be avoided which is - No matter how valuable your product is, most people don't usually pay for or support something they can get for free. Right from the start of this public discussion thread, I have expressed my desire to strike a delicate balance between open-source principles and sustainability. I'm still in the process of finding the right equilibrium that works for both me and the broader community. Among the multitude of things that are planned in the roadmap, a few of them will be only available in the |
Beta Was this translation helpful? Give feedback.
-
What is the plan for contributions that do not align with the interests of the A couple of points that I could not find mentioned in the thread:
It is always tricky to find the right balance, I wish you and Bruno the best of luck! :) |
Beta Was this translation helpful? Give feedback.
-
LFG, go the sublime text / merge way :) Although I have to be honest, I used sublime text for free for many years (when I was a student and didn't have any money). But it was one of the first things I paid for once I started my job. |
Beta Was this translation helpful? Give feedback.
-
You stated above that your target annual subscription rate is $12. Personally, I would have absolutely no problem with paying that to support the project if it can fulfill the promise of getting me away from Postman permanently. However, the "golden" tier features are of little (if any) use to my needs. That said, I would still subscribe as a way to support the project. But, there are many folks that will not subscribe simply because those features aren't useful to them. This is a common issue that SaaS platforms have to deal with when offering different subscription plans. People might not be opposed to paying for a higher level but will be reluctant to do so if they don't see their needs listed in the benefits of the higher plans. I would suggest setting up a Patreon or OpenCollective option as an addition/alternative support method to the "golden" tier. A $1 per month option gets you that same $12 (less fees) and higher options would bring in more revenue based on a wider range of motives such as good will and altruism. Just having a $3/month option would triple the revenue from a single subscriber. Again, this approach would not be instead of the golden tier. Instead, it's an alternative way for people to support the project who might otherwise feel that they would be "wasting money" for features that they don't need. |
Beta Was this translation helpful? Give feedback.
-
Hey everyone 👋! If you like Bruno and want to support our opensource work, consider sponsoring us via Github Sponsors. https://github.com/sponsors/helloanoop I appreciate your support! 💛 Best, |
Beta Was this translation helpful? Give feedback.
-
I dislike when previously free features get locked away (goodbye, Thunder), but there are a couple Bruno features that I could see make the move without being overly hostile. Let's look at LINQPad as an example. I pay for a license for LINQPad with every new release because the extra features are worth it to me. Auto-complete, formatting, renaming symbols, etc. These are all things that I can certainly live without, and I did for many years, but I don't hold any ill will toward the author for making those paid features. I can still work with LINQPad just fine in the free edition. It's just better in the paid version. Schema comprehension and auto-completion are totally things I would move to the paid version if I were you. People could still use Bruno without those, and without limit. It's just not as powerful of an authoring tool. Still, an authoring tool isn't usually what most of the people on my team need. Most of the people on a team have already written their queries, and just need to run them as part of a test suite, or perform simple, exploratory queries that are more about the data than the syntax. Auto-complete would make that task easier, but it's not a deal-breaker if it's not there. Taking away the collection runner, though. That would be an unforgivable betrayal (goodbye, Thunder). The trick is finding that line between core functionality and creature-comfort features. Crossing that line means holding essential functionality hostage, and that's the quickest way to burn your goodwill. And finally, I dislike the subscription model in general. The idea that the program I already have will just evaporate if I stop paying? That's a hard sell for me. Again, I go back to the LINQPad model. It's not a subscription. I own it, but newer versions come out on a semi-regular basis, and I absolutely upgrade every single time. That's usually because the new version aligns with a newer version of Entity Framework that has just been released, so it's more of a need than a want. I get genuinely excited when LINQPad tells me there's a new version available. And here's the weird thing. If LINQPad had a $20/year subscription model, I'd hate that too, but here I am paying $65 to upgrade to the new version every 2-3 years. Mathematically, that makes no sense, but I like it better because no one can take my past versions away from me. I have licenses for LINQPad 5, 6, 7, and now 8, and they're all perpetual. I didn't rent them. I own them. They're mine... forever. |
Beta Was this translation helpful? Give feedback.
-
Hey everyone, I have some updates to share Summary
Business ?In the past, my vision for Bruno didn't involve establishing a company or hiring individuals. The plan was to earn income from the project by offering select features under the Golden Edition (closed source) while working on Bruno part-time. Bruno's exponential growth has surpassed those initial plans. Currently, there are over 400 pending issues and 80 pull requests awaiting review, despite merging 250 PRs in the last two months alone (averaging 4 merges per day). Balancing this part-time alongside my dayjob as a tech lead is no longer feasible. Here are some of the highlights that happened in the last 2 months compared to the previous two years:
Thoughts on VC fundingI would like to first clarify that I am not against VC funding. It's the reason why many of us in the industry have well paying jobs in swanky offices. They inject capital and help push the ecosystem forward. When it comes to Bruno, my stance on VC funding remains the same. An API client is not venture scale. Some friends and colleagues are baffled on why I would reject an opportunity to explore funding when there is inbound interest from VC's. The irony is that - before Sep 2023, I would have accepted funding in the blink of an eye; but now despite inbound interest, I am no longer interested. Looking back, I had nothing. Just an innovative api client with little to no visibility. That may be the reason that would have accept taken VC funding in the past. Just to "matter", to be "heard", to gain some visibility. Its not the case anymore today. We have a growing community and contributors who help make Bruno better. Perils of VC fundingMany opensource projects thar raise funding may end up struggling to make enough revenue to justify the valuation. Then they start to paywall features which were previously free, and the users start looking for alternatives. That is what has happened in the API client ecosystem (many times over). Most founders eventually lose control over the product direction and may be forced to make decisions that are not in the best interest of the community. Money and AltruismLets get into this uncomfortable topic. Just like 99.99% of you, I am motivated by money and would like have nice things. And secure the financial freedom for my family. I just don't have outsized ambitions to raise money and build a unicorn. Would be happy with a small business that makes enough money to live a comfortable life. Most people who deny and say that they start a company to change the world are lying. There is always an element of self-interest. If they still say that they are not motivated by money, ask them to hand over half of their shares to a non-profit. They won't. Very few people get to a place where they are no longer motivated by money. The business model for Bruno is simple. Its just aligning the incentives.
RebellionBruno, at its core is a rebellion against the the status quo of the API client ecosystem. Its quite common these days to raise money and go big when your opensource project gains traction and a certain number of github stars. Many api clients have done that. The spirit of rebellion (challenging the status quo, rethinking from first principles) continues in the choice to bootstrap Bruno. Explicitly choosing to not raise money and grow slowly. What's on the Horizon?Starting January 2024, I'll be devoting my full attention to Bruno. Priorities include tackling our backlog of issues, PRs, and fulfilling feature requests. I am going to bootstrap a self-sustaining developer tools company crafting tools that delight developers. Moreover, as Bruno matures, we will build more products around the API development ecosystem. The path ahead is the one less travelled. I look forward to sharing lessons as I trek this journey and continue to make Bruno Awesome, an API client that developers "love". Thank you for all your support ❤️ Best, PS: Happy to answer any questions you might have. |
Beta Was this translation helpful? Give feedback.
-
I agree very strongly with this, and am very happy to see you say it. If you really were approached by VCs to fund this (which I believe) and turned it down, then it inspires optimism in me for the direction of this project/software/company. I basically want a pretty and convenient wrapper around curl that easily lets me share stored requests, and I don't think that needs millions of up-front VC dollars to accomplish. Can it support the livelihoods of a few engineers in perpetuity? I certainly hope so! I've used Bruno and like it so far - it does what I need it to do without fuss, and it lets me easily check my collections into version control to share with others. For that, and for your transparency, I am more than happy to personally donate at least $2 a month for a tool I use nearly every day, for as long as it's being supported and I agree with the vision. Though my preference is for everything to be open-source, I also understand the reality that others can't/won't simply donate enough to make this a reality, so when the Golden Edition releases, I will likely begin using that. Something worth thinking about: I and others might be interested in sponsoring this project at a higher level, especially if it meant having a tiny bit of say in what free and open-source features are prioritized by you (for example, I would like your telemetry to be optional and flagged behind clearly given user consent). Perhaps there is some better alternative (this in some ways feels wrong to me / the beginning of a slippery slope), but I think there is some money in direct support/feature requests. In any case, I hope to see you succeed here, and I look forward to your monthly community call whenever it's set up! |
Beta Was this translation helpful? Give feedback.
-
Happy to see Bruno going in this direction. 🎉 |
Beta Was this translation helpful? Give feedback.
-
Thanks for the updates! Where will the communicaty calls be held? Discord? |
Beta Was this translation helpful? Give feedback.
-
Hi, Bruno is listed as proprietary in Flathub. Is that an error? Or is there indeed proprietary code in the GUI app? |
Beta Was this translation helpful? Give feedback.
-
"Money is a jail" ~ Jean-Baptiste Kempf https://www.welcometothejungle.com/en/articles/kempf-interview-vlc-videolan |
Beta Was this translation helpful? Give feedback.
-
Hello, what are your plans to leverage this? Will you grant more rights to active maintainers? |
Beta Was this translation helpful? Give feedback.
-
Love the mindset. I've bought the Gold Edition with the unique purpose of supporting the project and your mindset for its future. Take cares! |
Beta Was this translation helpful? Give feedback.
-
Biggest thing holding me back from recommending this to my team is the lack of being able to stay in postman format. Import is nice, but other tooling is creating postman collections already requiring an import/conversion to .bru every time |
Beta Was this translation helpful? Give feedback.
-
I'm also I would also love to see some features move from Gold to Free, even if I bought Gold. |
Beta Was this translation helpful? Give feedback.
-
We got bruno golden for org and there's one thing we are really concerned with. A lot of people are fixing stuff, adding lots of nice features but the pending PR count is always so high. For example: 200+ now with stuff like this: #1792 What is being done to review PRs faster and get pending PR count to a reasonable number (like <15)? It is a really bad sign to have so many pending PRs with completed fixes/improvements and we cant use them. |
Beta Was this translation helpful? Give feedback.
-
Can we add golden feature to the open source version? I would like to implement some of the paid features to be free of use. Are you open to that ? |
Beta Was this translation helpful? Give feedback.
-
All I can say is thank you for Bruno. Postman is such an awful tool that I was running as fast as I can from it. And also constanly loosing all my requests. Now the idea of paying for Golden version is good and also from watching other small companies going this way... normally they have a 1 year support and then you can purchase an upgrade if you want. The app will stay running indefinetelly with the old license. I wish you all the best and I'll be updating the licenses every time it expires. And yeah I love Bruno. :) |
Beta Was this translation helpful? Give feedback.
-
Overview
Lately, we've seen an influx of users migrating from other API clients, all of whom have embraced Bruno with enthusiasm. However, there is a prevalent sense of concern among them regarding Bruno's future. And I am writing this to address the concerns.
This is also an attempt to chart a vision for Bruno that ensures the projects long-term sustainibility and growth, and also to ensure that the project remains true to its core values of privacy and freedom.
Early Days
In 2021, work began on Bruno as a side project. After almost a year of development, a functional product emerged, not just a prototype. In October 2022, Bruno was open-sourced on GitHub under the MIT license and launched on platforms like HackerNews, Reddit, and Dev.to.
Unfortunately, it didn't gain any attention at first, but that didn't deter me. The strong conviction that developers would appreciate a fully offline, Git-friendly API client without cloud sync gave me the motivation to continue working on it.
Having a mere 80 followers on twitter, 24 subscribers on youtube I had very little reach.
No prominent influencers promoted the product or created content about it.
Many months went by without any traction. Yet, I continued to chip away at it gradually. A small community started forming.
The Rise
After nearly two years of dedicated effort, the project has finally begun to gain momentum.
Folks who discover Bruno adore it and share it with their friends. And the community is growing.
They love the fully-offline, git-friendly, no-cloud-sync aspect of Bruno.
State of the GUI API Clients Ecosystem
Here are some stats on the most popular GUI API clients.
The need for sustainable opensource
Open-source software development has thrived on the principles of community collaboration and the free exchange of ideas and code. However, as projects grow in popularity and complexity, the question of sustainability and incentives becomes increasingly relevant.
VC funding is a path taken by many projects. While it can offer resources but may lead to a loss of control for the project's original author. They might become accountable to investors and a board, potentially steering the project toward a more closed and proprietary direction over time. Finding the right balance between sustainability and control is key when contemplating monetization avenues.
Can we do better
We don't want to wait years until the project gains industry adoption and then surprise everyone. We want to be transparent about the plans for the project.
Time for a small detour to quote a few lines from the movie A Beautiful Mind
We hope Bruno can be a shining light of how to do things differently, live long, and sustainably serve the community.
This is a long term plan. We don't want to just stick until we get acquired. We want to build a sustainable project that can last for decades.
So here is what we dont want to do
We don't want to start a company and hire people(edit: see here)Here is what we want to do
Here are some avenues we are considering
Everything that has been free and opensource will continue to be free and opensource. And will continue to evolve and improve.
Core and Advanced features will continue to be built. Bruno is for everyone.
The idea is not to limit anything, but to offer some good-to-have features in a paid plan that can support the project and ensure its long term sustainability.
Some projects who have done it right
Shoutout to Taylor Otwell, the creator of Laravel and Adam Wathan, the creator of Tailwind CSS. They have been a huge inspiration and have shown that you can build a sustainable opensource project without raising VC funding and without selling the project.
Conclusion
I hope there are some good takeaways from here about aligning incentives and sustainability of opensource projects.
Don't take this as a final word. This is just a starting point. I am open to feedback and suggestions. I am open to changing my mind. I am open to new ideas.
Please let me know your thoughts and feedback.
I hope you are excited about the future of Bruno as I am.
Best,
Anoop
8 Oct 2023:
Posted an Update clarifying that I intend to earn income from the project and outlined the short-term, mid-term, and long-term objectives for Bruno.
16 Oct 2023:
This ongoing discussion can be summarised as my intent to
22 Oct 2023
Majority of our features are free and open source (which covers REST and GraphQL Apis)
We strive to strike a harmonious balance between open-source principles and sustainability.
See Golden Edition Pricing
22 Nov 2023
If you like Bruno and want to support our opensource work, consider sponsoring us via Github Sponsors
11 Dec 2023
Posted an important update
Beta Was this translation helpful? Give feedback.
All reactions