engaging the xen developer community€¦ · engaging the xen developer community george dunlap...
TRANSCRIPT
![Page 1: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/1.jpg)
Sponsored by:
& &
&
Engaging the Xen Developer Community
George Dunlap
Citrix Systems UK
![Page 2: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/2.jpg)
Introduction
Hardware Vendors
Software vendors
Academic
Public cloud providers
Private cloud providers
![Page 3: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/3.jpg)
Why might people not be involved?
Don’t know what there is to do
Don’t know the benefits of engaging the community
Don’t know how to engage community effectively
![Page 4: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/4.jpg)
Goal: Enable you to engage developer
community
![Page 5: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/5.jpg)
Outline
Ways that you can contribute to Xen development
Benefits and costs
Practical steps
Good bug reports
Good questions
Good patches
Running an open development project
![Page 6: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/6.jpg)
How can you contribute?
![Page 7: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/7.jpg)
How you can contribute
Testing on your hardware / software
Submitting bug fixes
Suggesting interfaces / features
Submitting patches for interface changes
Development
Running an out-of-tree incubator project
![Page 8: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/8.jpg)
Testing
Need testing on a wide array of hardware / software
Test the functionality you use
Performance testing as well
What to test
Xen release candidates
Linux pvops release candidates
xen-unstable (occasionally)
![Page 9: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/9.jpg)
Reporting
Good bug report is good
Better yet: Patches!
![Page 10: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/10.jpg)
Features
Developers don’t see the learning curve
Suggest changes / clarifications to interface
Suggest new features which might be useful to you
Better yet: Patches!
![Page 11: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/11.jpg)
Upstreaming your changes
Standard practice: Freeze and fork
Main xen branch moves forward
What to do with a fork?
Stay forked
Forward-port patches
Back-port new features / fixes
Submit upstream
![Page 12: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/12.jpg)
Why not upstream?
A lot of extra work
Time constraints
Product deadlines
Academic deadlines
Required changes not acceptable upstream
![Page 13: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/13.jpg)
Good bug reports
What to include
Detailed hardware, software, steps to reproduce
As much error as you can
Serial console
Wiki page: ReportingBugs
![Page 14: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/14.jpg)
Asking a question is asking someone else to work for you
![Page 15: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/15.jpg)
Asking good questions
Do as much work as you can yourself first
Search Google
Read the code
Context
Who are you?
What are you trying to accomplish
Make it specific
Show how you’ve tried to solve it yourself
Wiki page: AskingXenDevelQuestions
![Page 16: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/16.jpg)
Sending code upstream
Wiki page: SubmittingXenPatches
![Page 17: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/17.jpg)
Three people to think about
Person reviewing the patch
Does it do the right thing?
Are there any mistakes?
Person scanning through changesets
Do I need to look at this patch?
Archaeologist
6 months, 1 year, 2 years, 5 years
Why is the code the way it is now?
![Page 18: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/18.jpg)
Guidelines
Break your change into a series of patches
One logical change per patch
No regressions
Don’t fix a bug in one patch in a later patch!
Separate clean-up from functional changes
Even if it’s just a one-line change
One-line summary easy to scan
Description says what the patch does and why
![Page 19: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/19.jpg)
Requirements
Patch must apply
Beware of mailer mangling
Mercurial PatchBomb extension
Signed-off-by
Coding style
![Page 20: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/20.jpg)
Interpreting responses
American Culture: “Praise sandwich”
Hacker culture: Direct and to the point
“I don’t think this is the right way to do this”
“This is ugly”
“This is unmaintainable”
Detailed criticism means “I want this patch accepted”
Ignoring is much worse than criticism
![Page 21: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/21.jpg)
Open development
![Page 22: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/22.jpg)
Project lifecycle
Initial code dump
Basic functionality and framework
Incubation
Active development towards maturity
Growing community development
Project maturity
Ready to be used by others
Actively maintained
Retired / Archived
![Page 23: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/23.jpg)
Types of projects
In-tree
“Tech preview”
Fairly self-contained
Example: Paging, page sharing, Remus
Out-of-tree
Major changes
Example: xen-arm
![Page 24: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/24.jpg)
Open development: Theory
Criteria
Movement towards upstreaming
Encouragement of a development community
Principles
Anyone should be able to influence
Influence should correlate to contribution
![Page 25: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/25.jpg)
Open development: Practice
One public shared repository
Handful of committers
One to begin with
Committers added based on contribution
All patches posted and discussed publicly
Technical decisions made in public
Private discussions must end with public proposal
![Page 26: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/26.jpg)
Outline
Ways that you can contribute to Xen development
Benefits and costs
Practical steps
Good bug reports
Good questions
Good patches
Running an open development project
![Page 27: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/27.jpg)
Goal: Enable you to engage developer
community
![Page 28: Engaging the Xen Developer Community€¦ · Engaging the Xen Developer Community George Dunlap george.dunlap@eu.citrix.com Citrix Systems UK ... Running an open development project](https://reader033.vdocuments.site/reader033/viewer/2022060322/5f0d8c9f7e708231d43ae920/html5/thumbnails/28.jpg)
Questions?