Exploring the journey of Convex from a proprietary platform to open source, focusing on developer experience, software licensing, and decision-making processes. Covering the unique architecture in Rust, integration with front-end tools, and the value of open sourcing. Emphasizing user experience, AI applications, and the importance of unique value add. Navigating open source challenges like community input, license strategies, and managing contributions effectively. Delving into the complexities of transitioning to self-managed infrastructure, discussing cost investments, expert services, and technical hurdles.
Read more
AI Summary
AI Chapters
Episode notes
auto_awesome
Podcast summary created with Snipd AI
Quick takeaways
Convex made their backend platform open source to increase transparency and trust for users.
The decision to open source involved a transition process including restructuring, component separation, and adapting to new tools like SQLite.
Deep dives
Convex Platform Overview
Convex is a serverless backend platform with its underlying database written in Rust and integration using TypeScript for reactive UI frameworks. The recent decision to make the platform's code open source aims to increase transparency and trust for users. Convex is designed to accelerate product developers by providing efficient back-end solutions, including development libraries and its own database.
Benefits of Using Convex
Convex functions as a comprehensive back-end service for full stack developers, offering database, compute, scheduling, storage, and more. It provides type safety, relational data models, and a unique approach where queries are written as TypeScript programs running as atomic transactions. Convex automates caching, subscriptions, and client-side data updates, enabling developers to build dynamic applications without manual caching or complex data handling.
Open Source Release Details
Convex's decision to open source involves a two-year non-compete clause to prevent direct competition with the platform. The Functional Source License (FSL) is used initially, transitioning to Apache 2 after two years. Open sourcing enables trust building, community contributions, and local testing opportunities, with no immediate changes for current customers expected upon release.
Transition to Open Source
The transition to open source involved extracting and restructuring internal infrastructure details, splitting proprietary components from the main platform code, and adapting to using SQLite for local backend persistence. Challenges included removing internal references and enhancing code transparency. Despite technical complexities, the code base was relatively clean, highlighting the platform's potential for further development and community contributions.
Convex is a serverless backend platform to simplify fullstack application development. Its underlying database is written in Rust, and it uses TypeScript to integrate with reactive UI frameworks.
The platform is growing, which has presented new reasons to make the code open source, and Convex recently released the source code for a self-managed version of their platform.
The question of whether or not to open source is one that many companies consider. We were curious to explore the decision making landscape around open sourcing, and today are speaking with James Cowling, the Co-Founder and CTO at Convex.
James joins the show to talk about prioritizing developer experience, the choice to open-source, risks of open sourcing, software licenses, and much more.
Full Disclosure: This episode is sponsored by Convex.
Gregor Vand is a security-focused technologist, and is the founder and CTO of Mailpass. Previously, Gregor was a CTO across cybersecurity, cyber insurance and general software engineering companies. He has been based in Asia Pacific for almost a decade and can be found via his profile at vand.hk.