should i bring my project to the apache incubator?

29
Should I bring my project to the Apache Incubator? (or) What to expect if you are being incubated.

Upload: wells

Post on 25-Feb-2016

49 views

Category:

Documents


1 download

DESCRIPTION

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: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Should I bring my project to the Apache Incubator?

Should I bring my project to the Apache Incubator?

(or)What to expect if you are being

incubated.

Page 2: Should I bring my project to the Apache Incubator?

Ottoman of Contents• What kinds of projects find a home at

Apache?• How does the Incubation process work?

Page 3: Should I bring my project to the Apache Incubator?

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 ...

Page 4: Should I bring my project to the Apache Incubator?

What belongs at Apache (not)Should I bring

project ...

Apache is not the place for a BDfL.

Page 5: Should I bring my project to the Apache Incubator?

What belongs at ApacheApache is all about community.

• Enough people (sooner or later)o Anticipate marketing ...

• Collegial atmosphereo See famous google talk on toxic behavior

• Openness to people everywhere:o The price of participation ...o Can be velocity

Page 6: Should I bring my project to the Apache Incubator?

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’.

Page 7: Should I bring my project to the Apache Incubator?

What belongs at ApacheCorporate 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.

Page 8: Should I bring my project to the Apache Incubator?

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.

Page 9: Should I bring my project to the Apache Incubator?

What belongs at ApacheGood Corporate Citizenship:

• Encourage contributions

• Contribute code

• Respect Trademarks

• "Play Nice"

Page 10: Should I bring my project to the Apache Incubator?

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."

Page 11: Should I bring my project to the Apache Incubator?

What belongs at ApacheUsing 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.

Page 12: Should I bring my project to the Apache Incubator?

The incubation Process: in Reverse1. The Foundation board establishes a Top Level

Project2. The Incubator PMC votes to recommend

graduation 3. The project demonstrates Apache operations:

a. Builds community = peopleb. Builds code = releases

4. The project Sets up Shop5. The IPMC votes to establish the project6. The Proposal

Page 13: Should I bring my project to the Apache Incubator?

6. The Proposal

• It goes on the incubator wiki.

• It lists starting conditions:o Code, if any

o Participants

o Mentors

o The delicate balance of corporate involvement

• It gets discussed and refined on [email protected].

Page 14: Should I bring my project to the Apache Incubator?

6. Proposal: who are all these people?

The Board The Foundation is governed by an elected board of directors. Amongst other things, it establishes new projects.

The Incubator Project Management Committee (IPMC)

Volunteers who supervise the incubation process

Shepherds IPMC members who check up on projects

Mentors (including Champion) IPMC members who actively coach and supervise projects.

PPMC Future PMC members -- supervisors of the project

Committers People with permission to commit

Page 15: Should I bring my project to the Apache Incubator?

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.

Page 16: Should I bring my project to the Apache Incubator?

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 IPo CCLA: ongoing contributions of code from a

Corporationo SGA: one time or large contribution of code

Page 17: Should I bring my project to the Apache Incubator?

4. Setting Up Shop: ICLA & Account

• Individuals Contribute

• Individuals Grant License

• Your John Hancock on File

• Anonymity?

• Your Apache Accounto 'Good everywhere'o Protect that Password

Page 18: Should I bring my project to the Apache Incubator?

4. CCLA & SGA

• Some people have corporate obligationso 'Work for Hire'o Employment Agreements

• CCLA certifies that individual can contribute• Moving Large Bodies of Code

o The more code, the more important the provenance

o SGA documents grant of license

• Can We Haz Special Termz?o Probably NOT!

Page 19: Should I bring my project to the Apache Incubator?

4. Setup -- Policy Questions

• Commit policy: CTR, RTC, ...

• Who has the right to commit?o Which may not be the same as ...

o "Who has permission in git or svn to commit"

• How much structure:o (P)PMC = Committer, or (P)PMC ≠ Committer

• Preview: Don't Dig a Moat

Page 20: Should I bring my project to the Apache Incubator?

3. OperationsThis is the meat (or Tofu) of the process:

• Code comes in ... which meanso New People come in

• Releases go out

• Mentors help

• IPMC observes

Page 21: Should I bring my project to the Apache Incubator?

3. Operations -- contributions

• Committers, well, commit (code, doc, ...).

• PPMC members:o watch mailing list interactionso watch content of commitso vote on releases

• Others supply patches

• Note the wonders of the Apache License This is where new people come from!

Page 22: Should I bring my project to the Apache Incubator?

3. Operations -- The Press-GangNot 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.

Page 23: Should I bring my project to the Apache Incubator?

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:o 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

Page 24: Should I bring my project to the Apache Incubator?

3. Operations - decision-making

• Requirement: open process, in emailo 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

Page 25: Should I bring my project to the Apache Incubator?

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 ...

Page 26: Should I bring my project to the Apache Incubator?

2. Graduation Vote (*)1. Draft a resolution to establish your project2. Discuss and vote it in the community3. Discussion and vote on general@incubator

(*) What if things aren't working out?

Page 27: Should I bring my project to the Apache Incubator?

1. The Board Establishes a Project

Celebrate!

Page 28: Should I bring my project to the Apache Incubator?

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.

Page 29: Should I bring my project to the Apache Incubator?

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.