So lately I’ve been using a lot of open source tools: n8n (automation), Discourse (this forum), Mautic (CRM).
When I stared developing Gainium, my idea was to build a community not just a tool. However, I was afraid that as open source it won’t generate enough revenue to hire a developer. I envy other open source tools like n8n, they have a great tool and a great community, but I’m wondering how they manage to make money for development. I mean, I see they have a hosted solution, but like discourse, my guess is that most people would be hosting it themselves. Maybe they can make it work because automation is a very broad niche, crypto bots seems like very niche to me.
However I am starting to change my view on this. If someone wants to self host because they want to run thousands of bots, we can still benefit because of the broker commission (provided, they don’t change the code). And it would bring some great advantages, it’s easier to promote tools that are open source, and we could open the door for a marketplace where users can build their own customizations (new features, new bot types, you name it).
I’m a bit on the fence because I worry that if not enough money comes in to support our main dev, bug fixing is going to rely 100% in the community. Truth is I am very intrigued by the idea because it aligns perfectly with my initial vision, but I’m afraid to accidentally kill the project. What do you guys think?
Even the free Google Gemini 2.0 Flash Thinking Experimental model is a great tool to discuss such questions with.
Here is a summary of what I got after a longer discussion about how Gainium could use open source to improve their standing and monetisation.
To achieve sustainable Open Source for Gainium, combine strategic monetization with community empowerment. A multi-faceted monetization approach leverages the open-source model’s strengths while ensuring financial viability:
Monetization Strategy:
Prioritize “Gainium Hosted”: Offer a highly convenient and valuable hosted solution as your primary revenue driver, focusing on ease of use, reliability, and advanced features.
Embrace Broker Commission: Actively leverage the built-in broker commission as a passive, scalable revenue stream, aligned with platform usage.
Implement Tiered Features: Offer a robust open-source core and paid tiers (“Hosted” or “Pro”) with advanced features, catering to different user needs and willingness to pay.
Explore Plugin Marketplace: Build a marketplace for community-created plugins (bots, customizations), generating transaction revenue and ecosystem value.
Offer Enterprise Services: Provide paid support and consulting for larger users needing specialized assistance.
Why This Works in Open Source:
Convenience & Practicality: Most users value time savings and ease of use, making hosted solutions and paid support attractive.
Community & Ethics: Strong communities foster norms that encourage supporting project sustainability through legitimate channels.
Feature Differentiation: Paid tiers offer tangible value beyond the open-source core, justifying the cost for users with advanced needs.
The Power of a Plugin System:
Strategic Imperative: A plugin system is highly recommended for Gainium. It provides extensibility, customization, and empowers the community to contribute significantly to the platform’s growth.
Key Benefits:
Customization & Niche Features: Adapts to crypto’s diverse landscape, allows for specialized functionalities without bloating the core.
Community Empowerment: Lowers the barrier for contributions, expands development capacity, and fosters a vibrant ecosystem.
Monetization Driver: Enables plugin marketplace revenue and increases the value of paid Gainium offerings.
Core Focus: Allows your team to focus on core stability while community drives feature expansion.
Implementation is Key: Invest in a well-defined and secure Plugin API, robust plugin management, clear documentation, and potentially a vetting process for a marketplace.
Licensing & Community:
Permissive Open Source License (MIT/Apache): Recommended for the core Gainium project to encourage adoption and contribution while enabling commercial use.
Encourage Open Source Plugins: Promote open-source licensing for plugins to foster community sharing and collaboration within the ecosystem.
Community as Force Multiplier: Actively nurture your community; it’s crucial for development, marketing, support, and building a sustainable ecosystem.
In essence: You can build a valuable, open-source core with a strategic plugin system. Monetize through convenience-driven services and feature differentiation, leveraging the community to expand the platform’s capabilities and reach. Focus on a multi-faceted approach where open source and commercial aspects work synergistically for long-term success.
I really appreciate your thoughts and openness on this topic. Your concerns are completely understandable, and I wouldn’t rush into it.
I’m not sure how large your user base is, nor do I know the exact costs involved (infrastructure, bug fixing, new features, etc.).
As a recommendation, I would wait until you’re 100% certain that the expenses will be fully covered by broker commissions. I believe the right time for this step will come—but there’s no need to hurry.
Ciao Ares, I’ve been here for just a few days and I’m looking around and creating my first bots. I especially like your idea of creating a community, and reading this post, it seems to me that you’re doing it very well. Really, thank you. Simone
ChatGPT seems to be quite helpful to either find an appropriate existing open-source licence or to create one based on your ideas as for example that one.
Personal Use & Contribution License (PUCL-1.0)
1. License Grant
The Licensor (original author) grants the Licensee (any recipient of the source code) the following rights:
View & Modify – The Licensee may view, study, and modify the source code.
Run for Personal Use – The Licensee may compile and run the software only for personal, non-commercial purposes.
2. Mandatory Contribution of Changes
The Licensee must submit all modifications (including improvements, bug fixes, and derivative works) to the Licensor within 30 days of making the change.
Submission must be made via an official repository, email, or any method specified by the Licensor.
The Licensor is not required to accept the modifications but retains a non-exclusive right to use them under the same license.
Failure to share modifications results in an immediate loss of license rights.
3. Usage Restrictions
The Licensee may NOT:
Use, deploy, or distribute this software for commercial, business, or production purposes.
Sell, sublicense, or offer services based on this software.
Host, provide access to, or integrate the software into any publicly available service, website, or product.
Modify and use privately without submitting changes back to the Licensor.
Remove or alter this license notice.
4. Derivative Works & Distribution
The Licensee must not distribute modified or original versions without written permission from the Licensor.
The Licensee’s modifications, once submitted, become available to the Licensor under the same PUCL-1.0 license.
5. Enforcement & Liability
Any unauthorized use, deployment, or failure to submit modifications constitutes a violation of this license and results in automatic termination.
The software is provided “as-is,” with no warranties. The Licensor is not liable for any damages.
6. Licensing Exceptions
The Licensor may grant case-by-case exceptions or commercial licenses upon request.
How to Apply This License
Add a LICENSE file in your project with this text.
Include a header in each source file:
/*
* Copyright (c) [Year] [Your Name/Company]
* Licensed under the Personal Use & Contribution License (PUCL-1.0).
* You may view, modify, and run this code for personal use only.
* All modifications must be shared with the original author within 30 days.
* Commercial use, private modifications, and public deployment are prohibited.
* See LICENSE file for details.
*/
As a former developer and quantitative trading learner, I would absolutely love to write modules for Gainium and test my ideas/studies. Currently, the process necessarily goes through feature requests if the platform doesn’t allow it. I’ve been here for a short time and actually decided to join when I received the first autoresponder email highlighting the collaborative aspects. My “communitarian” side in the Graves Model made a lightbulb go off.
If Gainium were more open, I would definitely stay with the current hosted solution, but I could write code to hook into Gainium. And I don’t think this sector is a niche thing. I certainly wouldn’t be able to rewrite everything from scratch, and the convenience of Gainium is that it’s all there: test, bots, everything. Being able to add my ideas and develop them as code leveraging what’s already here would be amazing.
I have decided, we are going open source. There is much to gain with that model, and I know it will attract coders like yourself that can enhance the product beyond what a small team like ourselves can do. Right now we are finishing a few big features, but as soon as we are done with them we will start preparing the app so that it can be self-hosted with docker.
Ares, I’m delighted to hear this news and can’t wait to see it happen! This is truly a significant step forward not just for Gainium but also for the life of many people. Looking forward to contributing.
Thanks.