5 exercises — understand the idioms that shape how open-source projects and communities talk about themselves.
Open source idioms in this set
scratch your own itch — build something to solve your own problem
batteries included — ships with everything you need out of the box
convention over configuration — sensible defaults reduce setup
dogfooding — using your own product
bus factor — how many people the project depends on critically
0 / 5 completed
1 / 5
A maintainer says they built the library to "scratch their own itch". What does this mean?
To scratch your own itch means to build something because you personally needed it — the "itch" being your own unmet need. Much of open source originates this way: a developer hits a problem, builds a tool to solve it, and releases it because others likely have the same need. Eric Raymond cited it as a key open-source motivation in The Cathedral and the Bazaar. Projects born this way tend to be practical because the author is also a real user.
2 / 5
A framework is praised as "batteries included". What does this mean?
Batteries included means a tool ships with a rich set of built-in features so you can be productive immediately, without hunting for and wiring up many separate pieces. The phrase is strongly associated with Python's standard library and frameworks like Django. The opposite philosophy is minimal/"bring your own" (like some micro-frameworks), which offers flexibility at the cost of more setup. It is a trade-off between convenience and freedom of choice.
3 / 5
A framework follows "convention over configuration". What does this mean?
Convention over configuration (popularised by Ruby on Rails) means the framework assumes sensible defaults based on common conventions, so you only need to specify the things that differ from the norm. If you follow the conventions (naming, folder structure), things "just work" with little setup. This dramatically reduces boilerplate and decisions, at the cost of flexibility when you need to deviate. It contrasts with frameworks that require explicit configuration for everything.
4 / 5
A company practises "dogfooding". What does this mean?
Dogfooding (from "eating your own dog food") means a company uses its own product internally in real work. It surfaces bugs and rough edges before customers hit them, and signals genuine confidence — if you won't use your own tool, why should anyone else? Many tech companies run their internal operations on their own software for exactly this reason. The practice keeps teams honest about the real user experience.
5 / 5
A project has a "bus factor of one". Why is this a risk?
The bus factor is the number of people who would have to suddenly disappear ("be hit by a bus") before a project stalls because the necessary knowledge is lost. A bus factor of one is dangerous: a single maintainer holds all the critical knowledge, so the project is one departure away from being abandoned or unmaintainable. Teams reduce this risk by documenting, sharing ownership, and cross-training — raising the bus factor spreads resilience.