fleet/handbook/company/why-this-way.md
2023-03-29 00:44:31 -05:00

5.6 KiB

Why this way?

At Fleet, we rarely label ideas as drafts or theories. Everything is always in draft and subject to change in future iterations.

To increase clarity and encourage teams to make decisions quickly, leaders and DRIs sometimes need to explicitly mention when they are voicing an opinion or a decision. When an opinion is voiced, there's space for near-term debate. When a decision is voiced, team commitment is required.

Any past decision is open to questioning in a future iteration, as long as you act in accordance with it until it is changed. When you want to reopen a conversation about a past decision, communicate with the DRI (directly responsible individual) who can change the decision instead of someone who can't. Show your argument is informed by previous conversations, and assume the original decision was made with the best intent.

Here are some of Fleet's decisions about the best way to work, and the reasoning for them.

Why open source?

Fleet's source code, website, documentation, company handbook, and internal tools are public and accessible to everyone, including engineers, executives, and end users. (Even paid features are source-available.)

Meanwhile, the company behind Fleet is built on the open-core business model. Openness is one of our core values, and everything we do is public by default. Even the company handbook is open to the world.

Is open-source collaboration really worth all that? Is it any good?

Here are some of the reasons we build in the open:

  • Transparency. You are not dealing with a black box. Anyone can read the code and confirm it does what it's supposed to. When it comes to security and device management, great power should come with great openness.
  • Modifiability. You are not stuck. Anybody can make changes to the code at any time. You can build on existing ideas or start something brand new. Every contribution benefits the project as a whole. Plugins and configuration settings you need may already exist. If not, you can add them.
  • Community. You are not alone. Open source contributors are real people who love solving real problems and sharing solutions. As we gain experience and our careers grow, so does the community. As we learn, we get better at helping each other, which makes it easier to get started with the project, which drives even more adoption, and so on.
  • Less waste. You are not redundant. Contributing back to open source benefits everybody: Instead of other organizations and individuals wasting time rediscovering bug fixes and reinventing the same new features in a vacuum, everybody can just upgrade to the latest version of Fleet and take advantage of all those improvements automatically.
  • Perspective. You are not siloed. Anyone can contribute. That means startups, enterprises, and humans all over the world push fixes, add features, and influence the roadmap. Diversity of thought accelerates the cycle time for stability and innovation. Instead of waiting months to discover rare edge cases, or last-minute gaps in "enterprise-readiness", or how that cool new unsupported networking protocol your CISO wants to use isn't supported yet, you get to take advantage of the investment from the last contributor who had the same problem. It's like seeing around corners.
  • Sustainability. You are not the only contributor. Open-source software is public and highly visible. Mistakes are more obvious, which activates the community to discover (and fix) vulnerabilities and bugs more quickly. Open-source projects like osquery and Fleet have an incentive to be proactive and thoughtful about responsible disclosure, code reviews, strict semantic versioning, release notes, documentation, and other secure development best practices. For example, anybody in the community can suggest and review changes, but only maintainers with appropriate subject matter expertise can merge them.
  • Accessibility. You are smart and cool enough. Open source isn't just the Free Software movement anymore. Today, there are many other reasons to contribute and opportunities to contribute, even if you don't yet know how to write code. (For example, try clicking "Edit this page" to make an improvement to this page of Fleet's handbook.)