| I’m the co-founder of BigBlueButton, an open source virtual classroom we’ve been building since 2007. About three years ago, we integrated tldraw into BigBlueButton as our whiteboard. It’s been an excellent upgrade over our old, simple whiteboard — tldraw is a fantastic project. I'm also the CEO of Blindside Networks, the commercial company behind BigBlueButton. We have growing by the traditional open source business model: we offer hosting, engineering services for acceleration of features, and support contracts. I understand the motive behind tldraw's change of license. Open source projects often get asked two contradictory questions:
1. Can I use your work for free?
2. Can you guarantee that you’ll be around in 5 years? You can’t answer (1) without a solid plan for (2). Licensing changes are one way projects try to answer both of these questions. We are no stranger to license changes, we recently rewrote the entire back-end of BigBlueButton and moved away from mongoDB to PostgreSQL + Hasura. For us, moving to tldraw 4.0 would mean: - As Blindside (the company): buying a commercial license — that’s straightforward as we are also a commercial company.
- As BigBlueButton (the open source project): it would require every organization running BigBlueButton to obtain its own license key to tldraw. There are pros and cons here. We want a world-class whiteboard in tldraw based on a sustainable open source project, but we also want to keep BigBlueButton’s community deployment model simple. Curious how others in the HN community have handled integrating source-available components into open source projects. How do you balance sustainability with accessibility? |
As far as working with source available components, suggestion one is to look for others int he community that you can cooperate with to maintain a fork, and option two, if you really can't get the community to support a fork, is to make it a plugin/optional component, preferably with an API so that other solutions can be integrated as options, or at least a fallback to the old version that was open source.