Guide To Successful Graduation at Apache
-
Upload
martijn-dashorst -
Category
Technology
-
view
1.567 -
download
0
Transcript of Guide To Successful Graduation at Apache
![Page 1: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/1.jpg)
Guide to Successful Graduation at the ASF
Martijn Dashorst
![Page 2: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/2.jpg)
Me
• Member of the ASF
• On the Incubator PMC
• Chair of Apache Wicket
• Software engineer
• Dutch guy
• Fan of photo booth
![Page 3: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/3.jpg)
Get your project accepted into the incubator and graduate within a year
Graduate
![Page 4: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/4.jpg)
Participants
![Page 5: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/5.jpg)
You
• Want to join an existing community
• Want to grow your own community
• Considering entering the ASF Incubator
• You’re in the ASF Incubator
![Page 6: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/6.jpg)
The ASF
• US Non-Profit
• Completely volunteer organization
• ~2000 committers, 250 members
• 60 open source projects
![Page 7: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/7.jpg)
“provides support for the Apache community of open-source software projects. The Apache projects are characterized by a collaborative, consensus based
development process, an open and pragmatic software license, and a desire to create high quality software that
leads the way in its field. We consider ourselves not simply a group of projects sharing a server, but rather
a community of developers and users.”
The ASF
![Page 8: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/8.jpg)
The ASF“provides support for the Apache community of open-
source software projects. The Apache projects are characterized by a collaborative, consensus based
development process, an open and pragmatic software license, and a desire to create high quality software that
leads the way in its field. We consider ourselves not simply a group of projects sharing a server, but rather
a community of developers and users.”
![Page 9: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/9.jpg)
Apache is interested only in healthy communities
![Page 10: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/10.jpg)
Time has demonstrated that open and diverse meritocratic communities are more robust and productive than more closed ones
![Page 11: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/11.jpg)
The incubator
![Page 12: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/12.jpg)
Non-Apache Project↓
Incubator↓
Apache Project
![Page 13: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/13.jpg)
Roles
• Incubator PMC
• Podling
• Podling PMC (PPMC)
• Champion
• Sponsor
• Mentor
• Committers
![Page 14: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/14.jpg)
The process
accept Incubate Projectgraduatewrite proposal
+1 +1
![Page 15: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/15.jpg)
Graduation is a democratic process – in the end it all boils down to a vote
+1
![Page 16: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/16.jpg)
Ask yourself
• Do we want to join Apache?
• Why?
![Page 17: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/17.jpg)
Search
Then begins the search for the sometimes elusive champion and sponsor.
![Page 18: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/18.jpg)
Proposal
![Page 19: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/19.jpg)
The proposal
The proposal captures the intent of the podling. It also checks for certain critical signs of successful projects
![Page 20: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/20.jpg)
Proposal and rationale
• What is it that the project will do?
• Why Apache?
![Page 21: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/21.jpg)
Current status
• Meritocracy
• Community
• Core developers
• Alignment
![Page 22: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/22.jpg)
Known risks
• Orphaned Projects
• Inexperience with Open Source
• Homogeneous developers
• Reliance on salaried developers
• Relationships with other Apache products
![Page 23: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/23.jpg)
Important details
• IP handling
• Dependencies
• Crypto
![Page 24: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/24.jpg)
Required resources
• Mailing lists (dev, commit, private, user)
• Subversion repository
• Issue tracker (JIRA/Bugzilla)
• Champion + Sponsor
• Mentors
![Page 25: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/25.jpg)
Discuss
Revise
Vote
![Page 26: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/26.jpg)
Incubation
![Page 27: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/27.jpg)
• Setting up camp
• Filing required paperwork
• Legal vetting of code
• Growing your community
• Releasing your code
• Preparing for graduation
Incubation involves
![Page 28: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/28.jpg)
Setting up camp
Upon a successful vote, the Apache Infrastructure team will setup a website, mailing lists, subversion repository, wiki and issue trackers.
![Page 29: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/29.jpg)
Exit criteria
• open, diverse, meritocratic community
• legally sound code base
• work the Apache Way™
![Page 30: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/30.jpg)
Required paperwork
• Before accounts can be created, each contributor needs to send in an Individual CLA, a Corporate CLA, or a Software Grant
• Before the code can be released all paperwork has to be completed
![Page 31: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/31.jpg)
Podling Status file
• Lists all legal issues that need resolving
• Trademark, naming and branding
• Lists PPMC and committers
• Lists resources (issues, wiki, site, lists)
• Check list
![Page 32: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/32.jpg)
Reporting to the Incubator PMC
• first 3 months, then quarterly
• include a one liner to identify your project
• include your status regarding exit criteria
• report is sent to the board
![Page 33: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/33.jpg)
Growing your community
• Growing a community is hard work
• Add committers
• Add PPMC members
![Page 34: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/34.jpg)
Adding a committer1. DISCUSS on podling-private@
2. VOTE on podling-private@, notify Incubator PMC (private@)
3. VOTE on private@ by Incubator PMC
4. Welcome the newly appointed committer on public dev list
5. Make sure committer submits CLA
![Page 35: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/35.jpg)
Adding a PPMC member
• DISCUSS on podling-private@
• VOTE on podling-private@, notify Incubator PMC (private@)
• Welcome the new PPMC member on public dev list
![Page 36: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/36.jpg)
Vetting your code
• Apply Apache license header to all source files
• Remove all license incompatible source files and dependencies
• Provide proper attribution in NOTICE files
• List 3rd party dependencies’ licenses
• Establish the proper crypto export notifications
![Page 37: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/37.jpg)
Releasing your code
Because a podling release is an Apache release, policy must be followed. Because the podling is in the Incubator, additional Incubator policy must be followed.
![Page 38: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/38.jpg)
Release rules
• All code must be covered by a CLA or Software Grant
• All artifacts must be signed
• All artifacts must have LICENSE and NOTICE files in them
• All source files must have Apache 2.0 license header
![Page 39: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/39.jpg)
Incubator release rules
• All artifacts must have a disclaimer in them (DISCLAIMER)
• All artifacts must include ‘incubating’ in their name
![Page 40: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/40.jpg)
DisclaimerApache "Podling-Name" is an effort undergoing
incubation at The Apache Software Foundation (ASF), sponsored by "Sponsor-Name". Incubation is required of
all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While
incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully
endorsed by the ASF.
![Page 41: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/41.jpg)
Release process
• Build and sign the artifacts
• Create release tag
• VOTE on your dev list
• VOTE on general@ Incubator list
• Requires at least 3 binding PMC votes
![Page 42: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/42.jpg)
Workingthe Apache Way™
• Recruit users, developers, committers and PMCers
• Take responsible collective action
• disagree in public without destroying personal relationships
• create an open, positive and inclusive atmosphere on the mailing lists
![Page 43: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/43.jpg)
Graduation
![Page 44: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/44.jpg)
Graduation check list
• Complete all tasks in status file
• Demonstrate ability to create Apache releases
• Demonstrate community readiness
• Ensure mentors and Incubator PMC have no remaining issues
• Pick graduation members and Chair
![Page 45: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/45.jpg)
Graduation destination
• Top level project (TLP)
• Sub project
![Page 46: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/46.jpg)
Prepare a resolutionEstablish Apache Cayenne Project
WHEREAS, the Board of Directors deems it to be in the bestinterests of the Foundation and consistent with the Foundation'spurpose to establish a Project Management Committee charged withthe creation and maintenance of open-source software related toobject-relational mapping (ORM) and remoting services, fordistribution at no charge to the public.
NOW, THEREFORE, BE IT RESOLVED, that a Project ManagementCommittee (PMC), to be known as the "The Apache Cayenne Project",be and hereby is established pursuant to Bylaws of theFoundation; and be it further
RESOLVED, that The Apache Cayenne Project be and hereby isresponsible for the creation and maintenance of a softwareproject related to object-relational mapping (ORM) and remotingservices; and be it further
RESOLVED, that the office of "Vice President, Cayenne" be and
![Page 47: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/47.jpg)
![Page 48: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/48.jpg)
Life after graduation
![Page 49: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/49.jpg)
Post graduation tasks
• Work with Infrastructure to transfer your project’s resources to the final destination: top level project or sub project
![Page 50: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/50.jpg)
Post graduation tasks
• Move status file to graduated projects
• Finalize the status file
• Clean up incubator resources
![Page 51: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/51.jpg)
Continue working like you did in the Incubator – it’s the Apache Way™
![Page 52: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/52.jpg)
• First 3 months report to board, then quarterly
• Adding committer is PMC responsibility
• Adding PMC member needs acknowledgement of board
• Releases still need to comply with Apache Policy, but not anymore with Incubator policy
![Page 53: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/53.jpg)
Top 10 tips for successful graduation
![Page 54: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/54.jpg)
Top 10 graduation tips
10. Read all of Incubator site
9. Don’t be afraid to use your mentors
8. Update your status page regularly
7. Send your status reports on time
6. Read and ask questions on general@
![Page 55: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/55.jpg)
Top 10 graduation tips
5. Get involved in the Apache Software Foundation
4. Go forth and diversify
3. Commit early and often in the Apache repository
2. Build a release candidate ASAP and use RAT
1. Communicate in the open – use your dev@
![Page 56: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/56.jpg)
HAVE FUN!
![Page 57: Guide To Successful Graduation at Apache](https://reader031.fdocuments.us/reader031/viewer/2022012922/55a68c021a28abb97d8b458a/html5/thumbnails/57.jpg)
Questions?