Nicco Kunzmann

Essays

Notes from the FOSS-Backstage Microconference

Notes from the FOSS-Backstage Microconference

Talk Open Source - trusting the water Needs trust, a good environment.

fauxpen source

lookup “Traning the Apache Way”.

It is the social relationships that matter the most when reviewing patches. That is why it is hard to get outside contributors.

Mentoring as a way to get people into open-source.
- github.com/lresende
- Community over Code
- Apache: central community management and outreach.
- Problem:
  - People are afraid of comunity sometimes.
  - Mentors see the fears, mediate.
- Programs
  - GSoC, GCI
  - Outreachy
    - for minority groups
    - summertime internship
  - Apache Mentoring Program
  - Apache Incubator
    - for each project
    - 3 mentors
    - understand the apache way
    - IPMC members
  - Apache Mentors list

Open Source - how to make Money?
Case studies:
- Closed core with open source apps
  - properties
    - move fast
    - license based selling
    - more consume OSS than contribute to OSS
- open core with enterprise extensions
  - just open users + closed source users
  - question: two user types
    - what is OSS, what not?
  - properties
    - one-vendor OS-project
    - license selling
  - dilemma: OS vs. enterprise
- pure open
  - properties
    - support, service, train
    - lot of upstream effort
    - high demand for break-even
    - very transparent, low lock-in fear
Sustainable OSS
- governance
  - worst: none
  - poorly defined - vague, non-commital, no processes defined
    - contribute
    - release
    - consensus
  - cherry-pick
    - some components are with contributions, some are not
  - formal gouvernance, GIST, see slides
- docs
- code quality
- support (not having fixed) velocity
- ecosystem collaboration
- security
Best Practices: opensource.guide
The live cycle of an OS project
- start: from scratch/existing closed source
- incubation
- mainstream/zombie/deprecated
"open source is a production model, not a business model"
"The competition to open-source is the cloud."

ANT
- small tasks are easy to understand and easy to contribute to
- split up mailing lists:
  - user mailing list
    - answer own questions
    - chatter to build community
    - adding ideas, using as feedback mechanism
    - people burst filter bubbles
    - non-coging developers
    - monitor: who answers, who contributes
      -> give them greater ablilties
  - developer mailing list
- The stackoverflow does not allow a social network on top of stackoverflow:
  - "thank you" is frowned upon
  - you need a way to build community
  - discourse
- Rules for Revolutionaries
  - Rules:
    - Every committer can start a revolution in a branch
    - work on revolution
    - when accepted, replace original
  - Cons:
    - too many revolutionariers
    - what if not accepted
    - mere announcement of revolution stalls evolution
    - people wait for revolutions to merge
  - advice:
    - only one revolution
    - may split community, may also split if there is more than one
-> :(
-> Design by Commitee
  - takes ages
  - with consensus even longer
  -> lot of hurt feelings
     forked by community
     Ant2 will never happen
- backwards compatibility is VERY important.

Drive By Contributions
- open issue, open PR, go away
- Problem: Bugs but source is not open
  - not maintainable
-> How to contribute without contributing to Ant 1.6
-> Problem:
  - loosing contributors because they go away to their libraries
-> lower the bar for new committers
- Conclusion:
  - support drive-by contributions
  - even if just interested in part, invite them to the core and accept answer
  - celebrate people
    - "Is it ok for you if I add you to the file?"
  - don't let code ownership get in the way

Integrating New Communities
- if projects can not be divided:
  - give access to both projects to all of both projects
  -> people will come around
  - do not put borders between projects

Aging prject
- not so many users
- getting involved is "scratching your own itches"
  -> people grow old, do not have problems
  - new people need new contributors
  - how does an old project get new contributors?
    Problems:
    - nothing easyu to do
    - all was discussed before
    - backwards incompatible
-> Advice for all projects
  - do not fix easy tasks
  - set aside for mentoring

Comments:
- roads and bridges
- contracts that can be deprecated
  - if they lack the courage to do so, it stalls progress