A presentation at Open Source Summit Europe by Tobie Langel
🏡 A home for your open source project Tobie Langel (@tobie) Principal, UnlockOpen
🗺 First, some context Tobie Langel (@tobie) Principal, UnlockOpen
🗺 Why this topic? ● Recent consulting work to bring the AMP project to the OpenJS Foundation. ● Advised Coil on setting up the Interledger Foundation. ● Pro bono analysis to set W3C’s headquarters in Geneva, Switzerland. ● Currently working on creating another software foundation in Geneva. ● OASIS Open Projects Advisory Council member. ● OpenJSF Cross Project Council member. Tobie Langel (@tobie) Principal, UnlockOpen
🏡 What is it & what is it for? Tobie Langel (@tobie) Principal, UnlockOpen
🏡 What’s a foundation and what is it for? A foundation provides a legal entity for open source projects. It can: ● receive and spend money (e.g. infra costs, travel expenses), ● acquire and own assets (e.g. trademarks), ● grant and receive licenses (e.g. copyright, patents), ● hire people (e.g. for a security audit, coaching, etc.), ● host events, ● etc. Tobie Langel (@tobie) Principal, UnlockOpen
🤔 “Wait, do I need this?” Tobie Langel (@tobie) Principal, UnlockOpen
🤔 If you’re wondering about this… Tobie Langel (@tobie) Principal, UnlockOpen
🚫 …you probably don’t! Tobie Langel (@tobie) Principal, UnlockOpen
👉🚪 Now’s the right time to leave. Tobie Langel (@tobie) Principal, UnlockOpen
⏱ Timing is critical Tobie Langel (@tobie) Principal, UnlockOpen
⏱ When should you move? Timing is critical. You’re always better off moving too late than too early! ● Wait until you experience growing pains & those can be solved by a foundation. ● What are good examples of issues that a foundation helps with? ○ Operational issues ○ Trust ○ Community ownership ○ Creating a level-playing field ○ Etc. Tobie Langel (@tobie) Principal, UnlockOpen
⏱ When should you move? Timing is critical. You’re always better off moving too late than too early! ● Wait until you experience growing pains & those can be solved by a foundation. ● What are good examples of issues that a foundation helps with? ○ Operational issues ○ Trust ○ Community ownership ○ Creating a level-playing field Tobie Langel (@tobie) Principal, UnlockOpen
⏱ 🧳 Covering travel expenses of AMP TSC/AC members required fragile workarounds. 🔐 Data protection requirements added hurdles to the community-driven organization of the AMP Contributor Summit. ✍ CLA assigned the license to Google. This was a deterrent for many AMP contributors. Tobie Langel (@tobie) Principal, UnlockOpen
⏱ When should you move? Timing is critical. You’re always better off moving too late than too early! ● Wait until you experience growing pains & those can be solved by a foundation. ● What are good examples of issues that a foundation helps with? ○ Operational issues ○ Trust ○ Community ownership ○ Creating a level-playing field Tobie Langel (@tobie) Principal, UnlockOpen
⏱ When should you move? Timing is critical. You’re always better off moving too late than too early! ● Wait until you experience growing pains & those can be solved by a foundation. ● What are good examples of issues that a foundation helps with? ○ Operational issues ○ Trust ○ Community ownership ○ Creating a level-playing field Tobie Langel (@tobie) Principal, UnlockOpen
⏱ When should you move? Timing is critical. You’re always better off moving too late than too early! ● Wait until you experience growing pains & those can be solved by a foundation. ● What are good examples of issues that a foundation helps with? ○ Operational issues ○ Trust ○ Community ownership ○ Creating a level-playing field Tobie Langel (@tobie) Principal, UnlockOpen
⏱ Why move as late as possible? ● A foundation adds overhead. ● A foundation costs money. ● You can start by creating an open governance model without a legal entity. ➢ That’s what we did for AMP! Tobie Langel (@tobie) Principal, UnlockOpen
⏱ Tobie Langel (@tobie) Principal, UnlockOpen
👍 So you’ve determined that this is—in fact—for you. Tobie Langel (@tobie) Principal, UnlockOpen
🏘 Plenty of options Tobie Langel (@tobie) Principal, UnlockOpen
🏘 Foundations come in all shapes and forms Yearly revenue (2017 or 2018*) Status Apache Software Foundation $2,583,535 501(c)(3) Free Software Foundation (FSF) $3,663,026 501(c)(3) $96,582,653 501(c)(6) $555,610 501(c)(3) $2,999,466 501(c)(3) Linux Foundation* Open Source Initiative (OSI)* Software Freedom Conservancy Tobie Langel (@tobie) Principal, UnlockOpen
🏘 🌎 And that’s in the US only… Tobie Langel (@tobie) Principal, UnlockOpen
🏘 🌏 Most jurisdictions have equivalent legal structures. Tobie Langel (@tobie) Principal, UnlockOpen
🏘 🌍 Switzerland’s are both lightweight & flexible. Tobie Langel (@tobie) Principal, UnlockOpen
🏘 Foundations come in all shapes and forms ● Join an existing foundation. ● Foundation within a foundation. ● Foundation as a Service. ● Roll your own. Tobie Langel (@tobie) Principal, UnlockOpen
🏘 Join an existing foundation The project is one of many other projects handled by the foundation. Example: a project joining either of the Apache Software Foundation (ASF), the Software Freedom Conservancy, OASIS Open Projects, or the OpenJS Foundation. PROS CONS ✅ Lightweight. ❌ Not very flexible (works for you or doesn’t). ✅ Cheap and fast to set up. ❌ Often limited in what it does (e.g. just IP). ✅ Little to no maintenance overhead. ❌ Lack of independence. ✅ Generally no membership fees (funded through sponsorship). Tobie Langel (@tobie) Principal, UnlockOpen
🏘 Foundation within a foundation The foundation is a spinoff of the parent foundation. Legally, it’s still the same entity. This is an Increasingly common model favored by the Linux Foundation. Examples: Cloud Native Computing Foundation, LF Edge Foundation, Hyperledger, GraphQL, etc. PROS ✅ Can be heavily customized. ✅ Still cheap and fast to set up. CONS ❌ Often requires members to pay membership fees to both the foundation itself and its parent foundation. ❌ No really independent from the parent foundation. Tobie Langel (@tobie) Principal, UnlockOpen
🏘 Foundation as a Service The foundation is an independent organization that purchases services (accounting, tax filing, legal, etc.) from a separate entity focused on serving foundations. Examples: Open Mobility Foundation, the OpenJS Foundation itself, OASIS Foundation-as-a-Service, etc. PROS CONS ✅ Completely customizable. ❌ Complex and potentially costly to set up. ✅ Very much independent (the foundation is only purchasing a service). ❌ Significant maintenance overhead. ✅ Benefits from the economies of scale of its service provider. ✅ Free to set up its own membership solution. Tobie Langel (@tobie) Principal, UnlockOpen
🏘 Roll your own Build everything from scratch. No one does this anymore. Examples: Linux Foundation (LF), Free Software Foundation (FSF), etc. PROS ✅ Design exactly what you want: the sky’s the limit. CONS ❌ Prohibitively expensive. ❌ Complex and long to set up. ❌ No economies of scale. ❌ High maintenance cost. Tobie Langel (@tobie) Principal, UnlockOpen
🏘 Cheap & Easy 🏕 🏡 Rigid Flexible 🏖 🏰 Expensive & Complicated Tobie Langel (@tobie) Principal, UnlockOpen
Join existing foundation 🏘 Cheap & Easy Foundation within a foundation Rigid Flexible Done for you model Roll your own Expensive & Complicated Tobie Langel (@tobie) Principal, UnlockOpen
🏘 ⚖ No perfect solution. Always a tradeoff. Tobie Langel (@tobie) Principal, UnlockOpen
🏘 🗜 So which one is a good fit for you? Tobie Langel (@tobie) Principal, UnlockOpen
🏘 🤷 Well… it depends! Tobie Langel (@tobie) Principal, UnlockOpen
✅ Define your goals & requirements Tobie Langel (@tobie) Principal, UnlockOpen
✅ Goals & requirements ● Goals must be representatives of the needs of your stakeholders. ● Have reasonable goals. ➢ You can’t aim for a CNCF-like structure with a 50K yearly budget. ● Turn goals into requirements. ● Requirements will steer you towards a type of solution (from joining an existing solution to rolling your own). ● Requirements will help you reduce the size of your option pool quickly. ➢ For example, the ASF was not an option for AMP because of its requirements around tooling. Tobie Langel (@tobie) Principal, UnlockOpen
✅ Change Pay attention to change. 💡 We tend to imagine this space as rigid and fixed. It’s not. It’s evolving all the time. ● There are new structures being created as new languages, projects, verticals, etc. gain traction. ● Existing structures change. ➢ ● There are mergers, spinoffs, etc. ➢ ● E.g. the ASF is now loosening it tooling requirements. E.g. FINOS joining the LF. Look around, maybe you can join forces with like-minded projects or individuals. Tobie Langel (@tobie) Principal, UnlockOpen
✅ Seize opportunities Pay attention to opportunities and seize them. ● The OpenJSF was just getting announced when AMP started looking. ● Joining early allowed AMP to help shape the foundation significantly. ● As a result, we ended up with much of the flexibility that was needed with little of the cost. Tobie Langel (@tobie) Principal, UnlockOpen
Join existing foundation ✅ Cheap & Easy Foundation within a foundation Rigid Flexible Done for you model Roll your own Expensive & Complicated Tobie Langel (@tobie) Principal, UnlockOpen
✅ Focus ● Don’t get distracted by bells and whistles. ● E.g. If you’re not interested in throwing events, the foundation’s capability of doing so isn’t really useful to you. Tobie Langel (@tobie) Principal, UnlockOpen
✅ Learn from others ● A lot of people have been there before, talk to them. ● Great to avoid common pitfalls. ● Contextualize advice for your particular context. ● ➢ The lay of the land has probably changed since then. ➢ They had different needs and so made different tradeoffs. Get help if this is mission critical. ➢ A bit self-serving, but I’m sure my clients agree. Tobie Langel (@tobie) Principal, UnlockOpen
🙏 Thank you! Tobie Langel (@tobie) Principal, UnlockOpen
🎤 Q&A Tobie Langel (@tobie) Principal, UnlockOpen
You did it! The open source project you launched a couple of years ago has picked-up steam. At first, only a few developers tried it out, but soon more developers joined them, companies followed in their path, and you now even have a number of large tech companies using it. As a result, you’re receiving a steady stream of bug reports and, increasingly, pull requests from contributors all over the world. Your project has a community. It’s healthy. It’s growing.
So far, you’ve been the one setting the project’s direction, but you’re well aware this won’t continue working for long. You need to bring in more people to help maintain the project, and naturally they’ll want a say in how it moves forward. You’ve also heard from other large corporations who’d be interested to contribute to the project or use it, but require a more open governance model to be able to fully commit.
The next steps are obvious; you need to move the project to a software foundation.
But which one should you pick and why?
In this talk, we’ll look at why you’d want to move a project to a foundation, and what doing so involves. We’ll give you a solid rundown of the various foundations and related options, and their pros and cons. And we’ll arm you with enough knowledge so you can ask the right question and make the best decision for your project.