Community
Notes from some research about how communities are formed and how open source communities are built.
TL;DR
The most successful open source software communities often have these attributes:
- All contributions must be appreciated to foster cooperation
- No single entity with a conflict of interest controls the whole project (this is important for companies to depend upon)
- Great software that many people need (usually takes the best ideas from other existing projects commercial or otherwise)
- A governance structure (usually includes a core team of people and has at least someone primarily focused on the community, documentation, the code, and the press)
- A legal entity behind it (either create their own or join some to manage assets, accept donations, and license flexibility)
Community Process:
Vue:
Vue started as a library, then evolved into an framework.
Vue put a product out there, then really started taking off once a popular developer endorsed it.
Vue started simple with minimal tooling which helped developer adoption.
Company adopted Vue to help solve it’s problems and got tons of funding because of it.
Developers didn’t want to adopt Vue because it was unstable and maintained by one person.
Vue came at a time when there were many people looking for a simple tool when another had gotten too complex.
Core team started with one person, but gained more people as the needed arised. It needed a community champion, press outlets, and documentation efforts.
Vue had natural translation and localization of documentation by a native speaker.
Big companies started adopting Vue.
A framework is more than just the code, it requires documentation, devtools, community, and support.
Linux:
All contributions must be appreciated to foster cooperation.
Linux started small with a proposal for a free operating system.
Linux’s timing was good.
Developers develop because of artistic pride: crafting something awesome of value, community: being part of something larger, help the world and see good solutions.
In the absense of monetary reward, most people, most of the time, are playing for a kind of reputation award among their peers.
Don’t make assumptions about things in the future. We want code that will continue to work and work forever.
Companies need support.
Linux avoids politics.
Linux is designed to run on cheap hardware and solve common problems.
People started contributing ideas and feedback, then contributing code.
Debian:
A member of https://www.spi-inc.org/
TODO: More notes
Postgres:
A member of https://www.spi-inc.org/ in the US and https://ffis.org/ in germany
TODO: More notes
Kubernetes (part 2):
Created the CNCF: https://www.cncf.io/
TODO: More notes