290 likes | 406 Views
Should I bring my project to the Apache Incubator?. (or) What to expect if you are being incubated. Ottoman of Contents. What kinds of projects find a home at Apache? How does the Incubation process work?. Well, should you?. The first question is:
E N D
Should I bring my project to the Apache Incubator? (or) What to expect if you are being incubated.
Ottoman of Contents • What kinds of projects find a home at Apache? • How does the Incubation process work?
Well, should you? The first question is: Should you bring your project to the Apache Software Foundation at all? or What projects do not make sense at Apache ...
What belongs at Apache (not) Should I bring project ... Apache is not the place for a BDfL.
What belongs at Apache Apache is all about community. • Enough people (sooner or later) • Anticipate marketing ... • Collegial atmosphere • See famous google talk on toxic behavior • Openness to people everywhere: • The price of participation ... • Can be velocity
What belongs at Apache ... (not) “Corporations are evil.” • The Apache License doesn't share all of the goals of, say, the GPL. • Apache products may never have hard dependencies on things under 'reciprocal' licenses. • We're not capricious about philosophy, it's just ... Chacunà son ‘goat’.
What belongs at Apache Corporate involvement: • Corporations use Apache products. • Corporations build proprietary products that incorporate Apache products. • Corporations pay people to work on Apache products ... BUT • Individuals participate in Apache products as Individuals.
What belongs at Apache (not) Corporate over-involvement: • Apache projects are not fronts for corporations. • Apache holds and defends trademarks. • Apache projects are 'neutral turf' -- no corporate axe-grinding allowed.
What belongs at Apache Good Corporate Citizenship: • Encourage contributions • Contribute code • Respect Trademarks • "Play Nice"
What belongs at Apache ... (not) Peremptory Demand for Infrastructure "We just have to store our source in Hg because that's what we're used to."
What belongs at Apache Using the Infrastructure (examples): • svn or git • jira or bugzilla • review board • A small group of dedicated contractors and volunteers supports all the projects. • New stuff comes from good justification, broad applicability, and cost-effectiveness.
The incubation Process: in Reverse • The Foundation board establishes a Top Level Project • The Incubator PMC votes to recommend graduation • The project demonstrates Apache operations: • Builds community = people • Builds code = releases • The project Sets up Shop • The IPMC votes to establish the project • The Proposal
6. The Proposal • It goes on the incubator wiki. • It lists starting conditions: • Code, if any • Participants • Mentors • The delicate balance of corporate involvement • It gets discussed and refined on general@incubator.apache.org.
5. The incubator PMC votes • Psst! Most plausible proposals are accepted. • If you've been paying attention, you won't have any trouble fielding the questions. • Mentors are crucial.
4. Setting Up Shop • Individual Contributor Licence Agreements • What is a Podling Product Management Committee? • Mailing lists, Bug tracking, Builds, Source Control • Initial Code Import and IP • CCLA: ongoing contributions of code from a Corporation • SGA: one time or large contribution of code
4. Setting Up Shop: ICLA & Account • Individuals Contribute • Individuals Grant License • Your John Hancock on File • Anonymity? • Your Apache Account • 'Good everywhere' • Protect that Password
4. CCLA & SGA • Some people have corporate obligations • 'Work for Hire' • Employment Agreements • CCLA certifies that individual can contribute • Moving Large Bodies of Code • The more code, the more important the provenance • SGA documents grant of license • Can We Haz Special Termz? • Probably NOT!
4. Setup -- Policy Questions • Commit policy: CTR, RTC, ... • Who has the right to commit? • Which may not be the same as ... • "Who has permission in git or svn to commit" • How much structure: • (P)PMC = Committer, or (P)PMC ≠ Committer • Preview: Don't Dig a Moat
3. Operations This is the meat (or Tofu) of the process: • Code comes in ... which means • New People come in • Releases go out • Mentors help • IPMC observes
3. Operations -- contributions • Committers, well, commit (code, doc, ...). • PPMC members: • watch mailing list interactions • watch content of commits • vote on releases • Others supply patches • Note the wonders of the Apache License This is where new people come from!
3. Operations -- The Press-Gang • Not quite: "Grow or Die Retire" • Mechanics of vote and invitation • Growth is the biggest challenge to podlings. • There's a minimum size for a working TLP. • "Show that you can grow ..." • This is all about marketing.
3. Operations -- Releases • Apache is all about releases of source code! • Apache is all about the legal umbrella! • So ... you need to have your release ducks in order: • LICENSE, NOTICE, and other bugbears ... expect a few bruises. The Law is an ass, and kicks like one. • Binaries are nice but secondary • Release votes: how to think about majorities
3. Operations - decision-making • Requirement: open process, in email • Default is public discussion • Goal: consensus • Votes are there to test consensus, not to bludgeon opposition • Formal supervision is the IPMC itself, but the goal is podling self-sufficiency
2. Graduation vote • No hard feelings, but the IPMC wants to get rid of you as soon as possible. • No one cares about the maturity of your product. • We all care about the maturity of your community. • When the boxes are checked, you ...
2. Graduation Vote (*) Draft a resolution to establish your project Discuss and vote it in the community Discussion and vote on general@incubator (*) What if things aren't working out?
1. The Board Establishes a Project Celebrate!
What if it doesn't work out? • Not every good idea grows into a viable community. • There might be a home in an existing project. • There's no shame in retirement. • Contributed code remains available under the AL, you can take it wherever you like.
Recap • Incubation bootstraps Apache communities. • Apache Communities are collaborative, consensus-driven, and open. • It takes real work to build a community. • So bring your project and roll up your sleeves.