Xen Project Contributor Training Part2 : Processes and Conventions v1.1

The Linux Foundation
The Linux FoundationDirector, Open Source Solutions at Citrix
Lars Kurth
Community Manager, Xen Project
Chairman, Xen Project Advisory Board
Director, Open Source Business Office, Citrix lars_kurth
Principles: Openness, Transparency, Meritocracy
Roles: Maintainers, Committers, Project Lead
Decision Making and Conflict Resolution
Design reviews
Feature Lifecycle and Documentation
Bug reports and Security Issues
Patch contribution workflow
• Anatomy of a good patch series
• Coding style
• Personal repos hosted by Xen Project
• Staging-to-master pushgate and automated testing
Release Manager Role and Release Process
Access to Coverity Scan
Hackathons, Developer meetings, Ad-hoc meetings to resolve issue
Earning “status” in the Xen Project community
Updated
Updated
Updated
Updated
New
Discussed
Updated
Updated
Discussed
www.xenproject.org/governance.html
Openness: The Xen Project is open to all and provides the same
opportunity to all. Everyone participates with the same rules. There are
no rules to exclude any potential contributors which include, of course,
direct competitors in the marketplace.
Transparency: Project discussions, minutes, deliberations, project plans,
plans for new features, and other artifacts are open, public, and easily
accessible.
Meritocracy: The Xen Project is a meritocracy. The more you contribute
the more respect and responsibility you will earn. Leadership roles in
Xen are also merit-based and earned by peer acclaim.
• Maintainers
– Own one or several components in the Xen Project tree
– Reviews and approves changes that affect their components (Acked-by)
– It is a maintainer's prime responsibility to review, comment on, co-ordinate and accept patches
from other community member's.
– It is a maintainers prime responsibility to maintain the design cohesion of their components. Which
implies: quality, maintainability, system properties, …
• Committer
– Maintainer with write access to the source tree
– Acts on the wishes of maintainers (Acked-by)
– Allowed to act as referees should disagreements amongst maintainers arise
• Project Lead
– Public face of project
– Allowed to act as referee should disagreements amongst committers arise
Developer Survey : Improving Xen Project Governance and Conventions
• Part 1 :
Hierarchy of maintainers in the xen.git MAINTAINERs file
• Part 2 :
Trust amongst different stakeholders in the peer review process
• Part 3 :
Other related Governance Issues (Voting Model, Decision Making)
• Results of Phase 1 of the Review Process study
www.xenproject.org/governance.html
Discussion
Several iterations
Disagreement amongst affected maintainers
Informal Conflict Resolution
Ask parties to resolve issue
Refereeing:
Committer(s) to make decisions on
behalf of the community
Still Disagreement amongst affected maintainers
Applies to: Design Discussions, Code Reviews, Documentation, …
If there is consensus amongst all
relevant stake-holders (e.g. via ACKs),
we are done
Last Resort:
Private committer vote (majority
with tie break to avoid stale-mate)
Disagreement amongst committers
If there is consensus amongst all
relevant maintainers, we are done
LazyConsensus
Results are published by
community manager
If there is consensus amongst all
relevant committers, we are done
Lazy consensus is a mutual consent decision making process between you and
the community that states your default support for a proposal is "yes”, unless you
explicitly say "no".
Restrictions:
• Any “No” statement must be accompanied by an explanation
• Excludes decisions that require a sign-off, e.g. an Acked-by a maintainer on a patch. But,
if there are several maintainers that need to agree, the affected maintainers operate
using Lazy Consensus
• Excludes formal voting, e.g. committer election, governance changes, …
Assumptions:
• Require everyone who cares for the health of the project to watch what is happening, as
it is happening.
The design discussion leading to this point in time was lengthy with some disagreements amongst core developers. It took 2 months and 43 email
exchanges to get to the point below.
The example shows how the proposer prompting the Maintainers for clarification on whether all the issues have been resolved and by doing so, got
to an agreement.
[Contributor]
In this case, if libvirt/XenAPI is trying to query a domain's cache utilization in the system
(say 2 sockets), then it will trigger _two_ such MSR access hypercalls for CPUs in the 2 different
sockets.
If you are okay with this idea, I am going to implement it.
[Maintainer]
I am okay with it, but give it a couple of days before you start so that others can voice their
opinions too. Dom0 may not have a vcpu which is scheduled/schedulable on every socket.
[snip: ... there was another short exchange clarifying a question, which were addressed during the
conversation]
[Contributor]
No more comments on this MSR access hypercall design now, so I assume people are mostly okay with it?
[Another Maintainer]
Yes -- I think everyone who commented before is satisfied with that approach, and anyone who hasn't
commented has had ample opportunity to do so
Maintainers and core developers sometimes hold different opinions regarding architecture,
design or other issues. That is entirely normal. Because such situations can delay progress
and turn away contributors, the project has some mechanisms to resolve this.
Informal:
• Ask the parties that disagree to resolve the disagreement
• Leave some “reasonable” time period to allow the disagreeing parties to come to a
conclusion
• If in doubt, you can ask one of the committers and/or the community manager for advice.
This works in most cases.
In situations when no resolution can be found informally, refereeing can be used. People
with higher “status” in the community can make decisions on behalf of the community.
Example: Two maintainers disagree on a design. You have asked for the issue to be
resolved, but no resolution could be found.
Formal:
• Ask the referee: in this case the committer(s) responsible for the maintainers to resolve
the disagreement
• If committers can’t agree on a way forward, a private formal majority vote amongst
committers can be used to break the dead-lock
• If in doubt, ask the community manager for advice.
• Referees do not always proactively step in and resolve an issue
– Workload : may have missed a disagreement
– Resolving issues is harder for some people than others
• Asking for an issue resolution in public or private?
– Prompting disagreeing parties to resolve an issue publicly is not always easy
– It is OK, to ask a referee or the community manager for advice privately
– However, Transparency and Lazy Consensus require that discussions and
decisions are made in public. This means that
• It is OK to do preparation work to resolve a conflict in private
(e.g. on IRC, a phone call, etc.)
• But, in such a cases, there needs to be a clear statement on the list that shows the
outcome and invites others to provide feedback
A maintainer stepped in to understand and resolve an issue by having a quick conversation
with one party involved: he stated the fact that there was a private discussion, summarized
it and invited others to comment.
[Maintainer]
So XXX and I had a chat about this [the disagreement that came up
in a discussion], and I think we came up with something that would
be do-able. (This is from memory, so XXX please correct me if I
missed anything).
So the situation, as I understand it, is:
...
That should be a good balance -- it's not quite as good as having
as separate daemon, but it's a pretty good compromise.
Thoughts?
Applies to: Proposals related to Development Practices and Processes
Informal Discussion of a Proposal
Possibly several options with an
informal vote on each option to establish
momentum for each option
No clear agreement for a single option
Next step: Proposer makes a formal proposal with one option
Informal or Formal Committer Vote
A single proposal marked [Vote] on a single
concrete proposal
If there is consensus amongst relevant
committers, we are done
ConsensusApproval
If there is clear consensus amongst all
relevant stake-holders we are done
Last Resort:
Private committer vote (majority with tie
break to avoid stale-mate)
No agreement for a single option
Next step: Proposer asks community manager for resolution
Results are published by
community manager
Voting is done with numbers:
+1 : a positive vote
0 : abstain, have no opinion
-1 : a negative vote
A negative vote should include an alternative proposal or a detailed
explanation of the reasons for the negative vote.
Issues:
A single -1 is essentially a veto and will block any vote, except for a
“last resort” vote. In practice, committers wanted to record that they are
against a proposal without blocking it
Voting is done with numbers:
+2 : agree, but care strongly enough to argue for it
+1 : agree, but don’t care enough to argue for it
0 : abstain, have no opinion
-1 : disagree, but don’t care enough to argue against it
-2 : disagree, but feel strongly enough to argue against it
Only a -2 will stop an agreement.
Note: Although this proposal has wide agreement (see
lists.xenproject.org/archives/html/xen-devel/2015-10/msg01885.html),
a formal vote is required and some details need to be resolved, as we
are thinking to move to a majority based model.
Applies to:
• Committer, Project Lead and Release Manager Elections
• Governance changes (for governance published on xenproject.org)
Issues:
Recently, we have conducted a survey, which highlighted that the
decision making portions of the governance are not very clear and there
is space to streamline the process. We are working on a proposal to
clarify and streamline decision making.
Undocumented Convention
The Project has no formal requirement to submit designs before a patch
BUT:
• Designs are welcome, for complex designs
• Sometimes a fully fledged design is not necessary : a set of questions,
can iteratively lead a design
• If in doubt, as to whether a design is necessary ask the community for
input
See “cpufreq implementation for OMAP under xen hypervisor”
[Contributor]
Hi to all.
I want to implement an cpufreq support for OMAP processors in xen. I use the
Linux kernel as Dom0.
I know that there are 2 implementations of cpufreq: Domain0 based cpufreq and
Hypervisor based cpufreq. But those implementations are made only for x86
architecture, not for the ARM architecture.
Could anybody give me an advice how to do that?
After an initial answer, the proposal was iteratively improved leading to a design.
The design turned out to be more complex than anticipated because of dependencies with
Linux and architectural differences between x86 and ARM.
See “FIFO-based event channel ABI design (draft B)”
• This was an example of a fully fledged detailed design.
• Note that there was a version A beforehand – a precursor of draft B
• The design was competing with an entirely different design by Wei Liu, for which code already existed
– some of which had been posted and reviewed
The community had to make a decision, which design to go for.
• It turned out that a prototype could be put together relatively quickly and an RFC followed.
• This then led to a community decision to go for the FIFO-based event channel
(with the agreement of Wei Liu)
If you compare the amount of questions, these were similar to the previous example, but took
considerably less elapsed time to review.
This was mainly due to the fact that most developers were within one time-zone and that the design was
well thought through.
There is no right or wrong approach
A more iterative design review (based on a problem
or idea which is not fully defined),
• may be less predictable and
• depends on the quality of communication between
proposer and reviewers
A fully fledged design,
• may require significant re-work if there are issues
with the use-cases, wrong assumptions, etc.
Vinovyn @ Flickr
Example: FIFO-based event channel ABI design
• The FIFO-based event channel ABI design had a further 6 revisions
(up to draft H)
• It was kept up-to-date with the implementation. See
– lists.xenproject.org/archives/html/xen-devel/2013-11/msg01414.html referring to
– xenbits.xen.org/people/dvrabel/event-channels-H.pdf
• The design doc now serves as detailed documentation for the ABI.
• Recommended Location for Feature Specs and Docs
– xen.git @ docs/specs
– xen.git @ docs/features
Proposal
@http://lists.xenproject.org/archives/html/xen-
devel/2015-11/msg00609.html
Clearly establish criteria for: Feature / Platform is
– fully implemented, maintained, tested, stable (APIs) & documented
Based on above criteria, award support status
– Preview, Experimental, Complete (new), Supported (new), Supported-Legacy-
Stable (the old Supported) and Deprecated
Which in effect controls
– How bugs and issues are handled
– Whether regressions and blockers block Xen Releases
– Whether security issues would be handled by the security team.
Document Feature Status in xen.git @ docs/features
wiki.xenproject.org/wiki/Reporting_Bugs_agains
t_Xen_Project
Guilherme Tavares @ Flickr
Raise Issue or [BUG]:
Description of issue with supporting
information, such as environments,
logs, etc. to xen-devel or xen-users
IMPORTANT: suspected security
vulnerabilities are reported to
security@xenproject.org only
Clarification:
Community may ask some more questions to clarify
the issue and determine whether the issue in question
is a bug or not.
More Information:
Raiser of bug provides more information
Fixing:
Community member fixes the bug using the
contribution workflow. Once the fix is committed and
the bug confirmed fixed the maintainer closes
the bugClosed
Tracked bug:
Maintainer adds bug to bugs.xenproject.org
Maintainer
confirms issue as
bug that needs to
be tracked
www.xenproject.org/security-policy.html
Guilherme Tavares @ Flickr
Raise Security Issue:
Description of issue with supporting
information, such as environments,
logs, etc. security@xenproject.org
only
Xen Project Security Team
handles the issue
Full Disclosure:
Security team announces security
issue publicly at disclosure date
Pre-disclosure:
Members of pre-disclosure list are
notified of issues and updates
www.xenproject.org/security-policy.html
Guilherme Tavares @ Flickr
Credit for this section of the talk: George Dunlap
A X
R: Vulnerability Reported
T: Triage
P: Vulnerability Pre-disclosed
A: Vulnerability Announced
F: Fix Available
X: Fix Deployed
Vulnerability is known by the reporter and the security team
Note: It may also be known and used by black hats
Vulnerability is known about by a privileged and small group of users
Vulnerability is known publicly
Description, CVE
allocation, …
Pre-disclosure period
Make sure that downstream projects and products (e.g. distros) can
package and test the fix in their environment
Allow service providers to start planning an upgrade (at scale this can take a week)
Allow service providers to deploy an upgrade before the embargo completes
(specified in each advisory whether applicable)
R
Patch/fix creation
and validation
FT P
1 week 2 weeks
• Encourage people to report bugs responsibly
• Minimize time that users are vulnerable to attack
• Maintain trust in the community
Timing of disclosure
• Honor the wishes of the reporter
• Suggest time period: 1 week to fix, 2 weeks pre-disclosure
Pre-disclosure list
• Open to any “genuine provider” of software / service using Xen
• Distinguished Community Members
• Read vulnerability reports
– Determine if it is a vulnerability
– Come up with a fix (bringing in others if necessary)
– Coordinate disclosure
• Manage predisclosure list according to policy
Raise Security Issue:
Description of issue with supporting
information, such as environments,
logs, etc. security@xenproject.org
only
Clarification:
Security team may ask some more questions to
clarify the issue, determine a work-around, prepare
a fix and agree a disclosure timetable with the
raiser of the issue
More Information:
Raiser of issue, members of pre-disclosure list
and provide more information on request
Full Disclosure:
Security team announces security
issue publicly at disclosure date
Pre-disclosure:
Members of pre-disclosure list are
notified of issues and updates
Fix Preparation and Testing:
Security team prepares fix,
pre-disclosure announcement, etc.
Pre-disclosure Testing:
Members of pre-disclosure list test
fix and provide feedback if
appropriate
• …doesn’t honor the wishes of the reporter?
– If the reporter doesn’t trust the process, they may go with full
disclosure
• …favors some group in the community (aka is not impartial)?
– Massive loss of trust in the Xen Project
– Possible legal repercussions for anti-trust violations
Open Source Security Practices on Linux.com
– Part 1: A Cloud Security Introduction
– Part 2: Containers vs. Hypervisors - Protecting Your Attack Surface
– Part 3 and 4 will be published shortly
Also of interest:
– eWeek: How Xen Manages Security
– Are Today's FOSS Security Practices Robust Enough in the Cloud Era?
wiki.xenproject.org/wiki/Submitting_Xen_Project
_Patches
www.xenproject.org/help/contribution-
guidelines.html
Preparation:
Contributor gathers changes
Contributor sends patch or patch
series with meta-information (use
case, rationale, design background,
refs, …) to the mailing list
Inspection / Review:
Reviewer(s) examines code diffs following their
own schedule and time constraints
Debate until resolved (Maintainer ACK)
Contributor keeps the process going
(“Next revision”, “Are we done yet?”)
Rework:
Contributor responds to issues by making
changes and sends new patch
Acked-by:
<Maintainer>
Release Manager
can object
Staging:
Committer checks changes into staging branch
Test suite passes / fails; Coverity Scan issues
Review
Feedback
Reviewed-by
Tested-by
…
Test or
scan fail
Complete: Change moved into master branch
No issue
Master branch on xen.git
Feature Development
Prepare
Patch
Personal copy of xen.git
Note: that you can request a personal development git tree to be hosted on
xenbits.xenproject.org by sending an email to xen-devel@
These are listed on http://xenbits.xen.org/gitweb/ under people/*
Master branch on xen.git
Prepare
Patch
Review Cycles
Acked-by
Maintainer
Rebase
Staging branch on xen.git
Commit
Tests
OK
Contains a limited number of “pending” patches
Identifies patches that lead to test failures in OSSTest via bisection.
Pushes patches that do not lead to regressions automatically to master
Or what makes a good patch (series)
Mike Licht @ Flickr
• Description of patch series : provides
– Information about its use, use-case and users (if not obvious)
– Information about the design, architecture, assumptions, etc. (if not obvious)
– References to relevant context information - e.g. specs, etc. – (if relevant)
– Short description of elements of the patch series and how they relate to each other
(if necessary)
• Each patch contains
– Description of the change and what it is for
– Ideally also contains an analysis of the problem solved and why it is solve this way
– The patch itself (ideally less than 200 LOC, reviewable in < 1 hour)
– API documentation and test cases (if appropriate)
– Sign-off-by : you state that you abide by the Developer Certificate of Origin
marc.info/?l=xen-devel&m=141407695210809
This driver uses hwdom to change frequencies on CPUs
marc.info/?l=xen-devel&m=141407702410864
Xen changes frequencies on CPUs using this high-level cpufreq driver.
marc.info/?l=xen-devel&m=141492507021019&w=2
This patch series are only the Qemu part to enable Xen stubdom vTPM for HVM virtual machine. it
will work w/ Xen patch series and seaBios patch series.
Build it with --enable-tpm and --enable-xen options and link with Xen, or change
QEMU_STUBDOM_VTPM compile option from 'n' to 'y' in <Xen>/Config.mk, when the Qemu/ SeaBios patch
series are merged.
Run Xen virtual machine with below QEMU command line options: "-tpmdev xenstubdoms,id=xenvtpm0 -
device tpm-tis,tpmdev=xenvtpm0" or Xen xl tool adds this options when virtual machine cfg
includes: vtpm=["backend=vtpmN"]
qemu-system-* --tpmdev help
Supported TPM types (choose only one): passthrough - Passthrough TPM backend driver xenstubdoms;
Xenstubdoms -TPM backend driver
lists.xenproject.org/archives/html/xen-devel/2014-10/msg00993.html
This patch series breaks multiboot (v1) protocol dependency and adds multiboot2 support. It lays
down the foundation for EFI + GRUB2 + Xen development. Detailed description of ideas and thoughts
you will find in commit message for every patch. If something is not obvious please drop me a
line.
Patch #13 reveals a bug which probably was introduced between commit
3e2331d271cc0882e4013c8f20398c46c35f90a1 (VT-d: suppress UR signaling for further desktop
chipsets) and 61fdda7acf3de11f3d50d50e5b4f4ecfac7e0d04 (x86/HVM: properly bound x2APIC MSR
range). Xen crashes at video_endboot() because earlier scrub process wipes vga_console_info data
(sic!). So, it means that at least page containing this structure was freed mistakenly somewhere.
Interestingly this issue appears on legacy BIOS machines only. EFI platforms work as usual. It is
possible to workaround this bug by passing no-bootscrub to xen.gz.
I was not able to spot anything obvious just looking briefly at commit history. I am going to
narrow down and fix this issue in next release.
ARM build has not been tested yet. Most of the requested things are fixed but there are still
some minor outstanding issues (multiboot2 tags generation, excessive amount of casts in
xen/arch/x86/boot/reloc.c, etc.; please check commit messages for more details). If something is
not fixed yet it means that I do not have good idea how to do that. In case you spot something
which was mentioned during previous reviews and still think that your comment is valid in
particular case please notify me.
lists.xenproject.org/archives/html/xen-devel/2014-11/msg00525.html
When using pvgrub in graphical mode with vnc, the grub
timeout doesn't work: the countdown doesn't even start.
With a serial terminal the problem doesn't occur and the
countdown works as expected.
It turns out that the problem is that when using a graphical
terminal, checkkey () returns 0 instead of -1 when there
is no activity on the mouse or keyboard. As a consequence
grub thinks that the user typed something and interrupts the
count down.
To fix the issue simply ignore keystrokes returning 0, that
is the NUL character anyway. Add a patch to grub.patches to
do that.
Problem
Description
Analysis
of why it occurs
How the patch
fixes it
lists.xenproject.org/archives/html/xen-devel/2014-08/msg02369.html
The x86 architecture offers via the PAT (Page Attribute Table) a way to specify different caching modes in
page table entries. The PAT MSR contains 8 entries each specifying one of 6 possible cache modes. A pte
references one of those entries via 3 bits: _PAGE_PAT, _PAGE_PWT and _PAGE_PCD.
The Linux kernel currently supports only 4 different cache modes. The PAT MSR is set up in a way that the
setting of _PAGE_PAT in a pte doesn't matter: the top 4 entries in the PAT MSR are the same as the 4 lower
entries.
This results in the kernel not supporting e.g. write-through mode. Especially this cache mode would speed
up drivers of video cards which now have to use uncached accesses.
OTOH some old processors (Pentium) don't support PAT correctly and the Xen hypervisor has been using a
different PAT MSR configuration for some time now and can't change that as this setting is part of the ABI.
This patch set abstracts the cache mode from the pte and introduces tables to translate between cache mode
and pte bits (the default cache mode "write back" is hard-wired to PAT entry 0). The tables are statically
initialized with values being compatible to old processors and current usage. As soon as the PAT MSR is
changed (or - in case of Xen - is read at boot time) the tables are changed accordingly. Requests of
mappings with special cache modes are always possible now, in case they are not supported there will be a
fallback to a compatible but slower mode.
Summing it up, this patch set adds the following features: - capability to support WT and WP cache modes on
processors with full PAT support - processors with no or uncorrect PAT support are still working as today,
even if WT or WP cache mode are selected by drivers for some pages - reduction of Xen special handling
regarding cache mode
marc.info/?l=xen-devel&m=123003693614292
This set of patches introduces a set of mechanisms and interfaces to implement populate-on-demand memory.
The purpose of populate-on-demand memory is to allow non-paravirtualized guests (such as Windows or Linux
HVM) boot in a ballooned state.
BACKGROUND
When non-PV domains boots, they typically read the e820 maps to determine how much memory they have, and
then assume that much memory thereafter. Memory requirements can be reduced using a balloon driver, but it
cannot be increased past this initial value. Currently, this means that a non-PV domain must be booted with
the maximum amount of memory you want that VM every to be able to use.
Populate-on-demand allows us to "boot ballooned", in the following manner:
• Mark the entire range of memory (memory_static_max aka maxmem) with a new p2m type, populate_on_demand,
reporting memory_static_max in th e820 map. No memory is allocated at this stage.
• Allocate the "memory_dynamic_max" (aka "target") amount of memory for a "PoD cache". This memory is kept
on a separate list in the domain struct.
• Boot the guest.
• Populate the p2m table on-demand as it's accessed with pages from the PoD cache.
• When the balloon driver loads, it inflates the balloon size to (maxmem - target), giving the memory back
to Xen. When this is accomplished, the "populate-on-demand" portion of boot is effectively finished.
…
Addressing Feedback!
Common mistakes to avoid!
Mike Licht @ Flickr
Each new patch revision contains
• Change history (what has changed between each iteration)
• Tags (by maintainers, reviewers, testers, etc.)
– Acked-by: <Maintainer>
– Reviewed-by: <Reviewer>
– Tested-by: <Tester>
– Note that there is disagreement about use of Acked-by: <non-maintainer> which is
being discussed amongst the community and not yet resolved
(see http://lists.xen.org/archives/html/xen-devel/2014-06/msg01419.html)
marc.info/?l=xen-devel&m=140259327023935
> Add support for GIC v3 specification System register access(SRE)
> is enabled to access cpu and virtual interface regiseters based
> on kernel GICv3 driver.
>
> This patch adds only basic v3 support.
> Does not support Interrupt Translation support (ITS)
I see that a lot of things changed in this version of the patch. It would be nice if you
kept a log of the incremental changes.
In particular in this version of the patch we basically added isb() everywhere. I would
like to see a written comment about it.
When Julien commented "isb?", I think he was just asking whether they are needed, not
requesting you to add them. The only one I was sure about was the one at the end of
gicv3_eoi_irq.
But it is good to see that you addressed all my comments.
Makes it hard for the
reviewer to only re-review
the portions of the patch
that need to be looked at
Seems there was also a
misunderstanding between
reviewer and submitter
marc.info/?l=xen-devel&m=140285195123082
You didn't address the comments I made on V4 for this patch. See a copy of
them inline...
marc.info/?l=xen-devel&m=140422021120851
You continue to ignore my comments on this patch... Please explain why you
don't want to make those changes. Sending 3 times the same patch without any
change is a waste of time for both of us.
Adds extra unnecessary
iterations and wastes
reviewer’s time.When you don’t understand
understand feedback,
feel free to ask for clarification
v3 - suggestions/fixes:
- rename some variables
(suggested by Andrew Cooper),
- remove unneeded initialization
(suggested by Andrew Cooper),
- improve comments
(suggested by Andrew Cooper),
- further patch split rearrangement
(suggested by Andrew Cooper and Jan Beulich).
v2 - suggestions/fixes:
- improve inline assembly
(suggested by Andrew Cooper and Jan Beulich),
- use __used attribute
(suggested by Andrew Cooper),
- patch split rearrangement
(suggested by Andrew Cooper and Jan Beulich).
Xen Project Contributor Training Part2 : Processes and Conventions v1.1
xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=CODING_STYLE
• Indentation
• White Spaces
• Line Length
• Bracing
• Comments
• Emacs Local Variables
xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=tools/libxl/CODING_STYLE
Similar to QEMU and Linux with a few exceptions. Different from
Hypervisor coding style.
• Whitespaces
• Line width
• Variable Naming
• Statements
• Block Structures
There are a number of uncommitted scripts, which automatically check coding
style. These have not yet been fully reviewed and may not work in all cases, but
may partly be usable. See
• lists.xen.org/archives/html/xen-devel/2014-09/msg01543.html
• lists.xen.org/archives/html/xen-devel/2014-09/msg01171.html
Other useful scripts:
• scripts/get_maintainer.pl : looks at the files you have modified in the patch and
matches it up with the information in the MAINTAINERS file  generates a list
of people + email addresses who need to be CC’ed
 Some issues: see
lists.xenproject.org/archives/html/xen-devel/2014-11/msg00060.html
blog.xenproject.org/2014/05/08/how-the-
hypervisor-team-manages-releases/
• A Maintainer that is elected by the community to manage a specific release
– Nominated by community members (but needs to have agreed to want to do the job and have the time to do so)
– Elected using a formal vote by committers of the Xen Project Hypervisor team
– For one or several releases
– (Past) Release Managers: Ian Campbell (Citrix), George Dunlap (Citrix), Korad R Wilk (Oracle)
– Xen 4.7 Release Manager: Wei Liu
– Driving the Roadmap process
– Deciding the Release Timetable
– Making the Final call on what goes into the Release at each Freeze Point
– Handling requests for “freeze” Exceptions : Cost vs. Benefit analysis
– Coordinates with other committers in making Release Candidates and Releases
• Other responsibilities
– Helps with PR related to the release
– Can also act as spokesperson for the project (if the Release Manager is allowed to by employer)
A bug-free release
An awesome release
An on-time release
A predictable release cadence
The Xen Project aims to do releases on a 6 month cadence (historically
this was 9+ months). We aim to make a release
– At the beginning of each June
– At the beginning of each December
Reduce release cycle length to 6 months:
– 4 months development
– 2 months freeze, with earlier creation of release branch based on risk assessment
– Xen 4.7 will be slightly longer to support future June / December releases
Fixed and predictable Release dates
– Beginning of June and December of each year
– Eat into next cycle if we don't release on time
Fixed cut-off date:
– Freeze dates: last day of March and September of each year
– No more freeze exceptions, but heads-up mails about freeze will be sent a few weeks
beforehand
Maintenance support: no changes
Master branch on xen.git
Wait period
to clear test pushgate
RC’s
RELEASE-4.6.0 branch on xen.git
RELEASE-4.7.0 branch
based on risk assessment
Release
Announcement
Feature Development
Feature
Freeze
point
Last
Posting
Date
Release Manager declares that only bug fixes deemed blockers can be accepted
Creation of RELEASE-4.7.0 branch based on risk assessment
Master/Release branch on xen.git
Feature Development RC’s
This is when patches for the ongoing
release need to be submitted for review
Wait period
to clear test pushgate
No new features will be accepted
No Freeze Exceptions, will be allowed
Bug fixes are allowed, with approval by Maintainers/Release Manager
Release Manager:
Sends Monthly
Xen x.y Development Update
email on xen-devel@
Contributors:
Expected to reply if they are working on a feature that is not
on the list of tracked features
Expected to provide Status updates on features & bugs on the list
Not engaging with the process may lead to removal or downgrading
Release Manager:
Sends first
Xen x.y Development Update
email on xen-devel@
Deferred features from previous
release, Timetable, etc.
Contributors:
Expected to reply if they are working on a feature that is not
on the list of tracked features and tracked bugs
Release Manager:
RC Announcements, Test Days
Contributors:
Expected to provide Status updates on tracked bugs on the list
Release Manager:
Release Announcement
The release manager’s decision on a patch going in or out / after feature
freeze date is in huge part influenced by:
• Risk of regressions:
– Does this patch introduce a regression that will affect a large set of use-cases
– Does this patch touch common code areas (code used by more components is
less likely to be accepted, as it is more risky)?
– Does this code affect specific cases only (e.g. MMIO pass through only) and is
thus less risky?
– Is this code simple and easy to understand and thus less risky?
• Has the code been tested for failures and succeeded multiple times?
• Has the code been Acked or Reviewed by the maintainer?
No Feature Freeze Exception
– Prior to Xen 4.7, the project allowed Feature Freeze exceptions
– This has been dropped!
– Features patches must be submitted before the Last Posting Date
A Bug Freeze Exception
– Contributors can request Freeze Exceptions by replying to the Xen x.y Development Update mail.
– Bug freeze exceptions are part of the normal release process and trigger a cost-benefit analysis by the Release Manager with
input from the community.
Xen Project Contributor Training Part2 : Processes and Conventions v1.1
The Xen Project is registered with the "Coverity Scan" service which
applies Coverity's static analyser to the Open Source projects
Because "Coverity Scan" may discover security issues the full database
of issues cannot simply be made public.
To get access, consult
• www.xenproject.org/help/contribution-guidelines.html under “Code
Security Scanning”
The Xen Project has an automated test infrastructure that is run on
• Xen.git master
• Xen.git staging (pushgate) – see earlier
• Overview:
– www.xenproject.org/help/presentations-and-videos/video/xpds14-osstest.html
– xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=HEAD
Can be run in stand-alone mode
– blog.xenproject.org/2013/09/30/osstest-standalone-mode-step-by-step/
Xen Project Contributor Training Part2 : Processes and Conventions v1.1
Maintainers
• Demonstrate good technical knowledge in an area and submitted good patch series over
a prolonged time period (6-12 months)
• Demonstrates engagement and engagement skills in the community via reviews
• Self-nominates, then signed off by other Maintainers
Committers
• Demonstrates prolonged engagement with the community upholding technical and
community values – in other words demonstrates that he/she can be trusted
• Needs to be one of the top contributors to the project for a prolonged time period (e.g.
>200 patches submitted per year; no objective rules)
• Gets elected by other maintainers
Face-2-face meetings and other community
activities
• Was Invite only to avoid user questions
– Open access, without explicitly advertising it
• A lot of coordination, quick pings, reminders happen on #xendevel
• Once per year, hosted and paid for by a vendor
• 2 days long, 25-45 people depending on location
– 95% developers
• Not so much a Hackathon, but a series of structured 1-1.5h discussions
to solve architectural, design, review, process and other issues
– Typically 3-6 discussions happen in parallel
– Sometimes presentations are used, but interaction, discussion and decision
making are the key focus of Hackathons
– Discussions are minuted and posted on mailing lists
• Also see: blog.xenproject.org/2013/05/28/event-report-xen-hackathon-
2013/
• Once per year, organized by the Xen Project
– Co-located with LinuxCon Europe or North America
• Paid for by sponsorship and tickets, and subsidized by Xen Project
• 2 days long, 90-120 people depending on location
– 70-80% developers
• Mainly presentations and conference format
– Some interactive elements (BoF discussions)
• Once per year, organized by the Xen Project
• Co-located with Xen Project Developer Summit (the day before or after)
• Typically we also have Working Group meetings and Advisory Board
meetings on the same day
• 3 hours long, 20-25 core developers, maintainers and committers
– Plenary format
– 6-10 topics covered
• Community members can propose ad-hoc conference calls (or other
on-line meetings) on specific topics on development lists
– Example: regular IRC meeting on #xendevel to discuss x-Splice
– Proposal made on xen-devel@
• Can be a conference call, IRC meeting, etc.
– Community Manager can help set up
1 of 78

Recommended

Xen Project Contributor Training - Part 1 introduction v1.0 by
Xen Project Contributor Training - Part 1 introduction v1.0Xen Project Contributor Training - Part 1 introduction v1.0
Xen Project Contributor Training - Part 1 introduction v1.0The Linux Foundation
12.3K views48 slides
2018 Genivi Xen Overview Nov Update by
2018 Genivi Xen Overview Nov Update2018 Genivi Xen Overview Nov Update
2018 Genivi Xen Overview Nov UpdateThe Linux Foundation
15.4K views14 slides
ALSS14: Xen Project Automotive Hypervisor (Demo) by
ALSS14: Xen Project Automotive Hypervisor (Demo)ALSS14: Xen Project Automotive Hypervisor (Demo)
ALSS14: Xen Project Automotive Hypervisor (Demo)The Linux Foundation
14K views17 slides
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen... by
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...The Linux Foundation
1.2K views23 slides
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta... by
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Sta...The Linux Foundation
4.6K views27 slides
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM by
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARMXPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARMThe Linux Foundation
2.4K views34 slides

More Related Content

What's hot

Xen and the art of embedded virtualization (ELC 2017) by
Xen and the art of embedded virtualization (ELC 2017)Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)Stefano Stabellini
25.9K views33 slides
Isn't it ironic - managing a bare metal cloud (OSL TES 2015) by
Isn't it ironic - managing a bare metal cloud (OSL TES 2015)Isn't it ironic - managing a bare metal cloud (OSL TES 2015)
Isn't it ironic - managing a bare metal cloud (OSL TES 2015)Devananda Van Der Veen
3.7K views40 slides
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete... by
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...Linaro
2.3K views21 slides
Using Rook to Manage Kubernetes Storage with Ceph by
Using Rook to Manage Kubernetes Storage with CephUsing Rook to Manage Kubernetes Storage with Ceph
Using Rook to Manage Kubernetes Storage with CephCloudOps2005
887 views19 slides
Xen in Safety-Critical Systems - Critical Summit 2022 by
Xen in Safety-Critical Systems - Critical Summit 2022Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022Stefano Stabellini
389 views31 slides
U boot porting guide for SoC by
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoCMacpaul Lin
11.9K views32 slides

What's hot(20)

Xen and the art of embedded virtualization (ELC 2017) by Stefano Stabellini
Xen and the art of embedded virtualization (ELC 2017)Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)
Stefano Stabellini25.9K views
Isn't it ironic - managing a bare metal cloud (OSL TES 2015) by Devananda Van Der Veen
Isn't it ironic - managing a bare metal cloud (OSL TES 2015)Isn't it ironic - managing a bare metal cloud (OSL TES 2015)
Isn't it ironic - managing a bare metal cloud (OSL TES 2015)
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete... by Linaro
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
HKG18-411 - Introduction to OpenAMP which is an open source solution for hete...
Linaro2.3K views
Using Rook to Manage Kubernetes Storage with Ceph by CloudOps2005
Using Rook to Manage Kubernetes Storage with CephUsing Rook to Manage Kubernetes Storage with Ceph
Using Rook to Manage Kubernetes Storage with Ceph
CloudOps2005887 views
Xen in Safety-Critical Systems - Critical Summit 2022 by Stefano Stabellini
Xen in Safety-Critical Systems - Critical Summit 2022Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022
Stefano Stabellini389 views
U boot porting guide for SoC by Macpaul Lin
U boot porting guide for SoCU boot porting guide for SoC
U boot porting guide for SoC
Macpaul Lin11.9K views
Virtualization Architecture & KVM by Pradeep Kumar
Virtualization Architecture & KVMVirtualization Architecture & KVM
Virtualization Architecture & KVM
Pradeep Kumar33.4K views
Introduction to OpenStack Cinder by Sean McGinnis
Introduction to OpenStack CinderIntroduction to OpenStack Cinder
Introduction to OpenStack Cinder
Sean McGinnis2.3K views
KVM tools and enterprise usage by vincentvdk
KVM tools and enterprise usageKVM tools and enterprise usage
KVM tools and enterprise usage
vincentvdk5K views
BUD17-400: Secure Data Path with OPTEE by Linaro
BUD17-400: Secure Data Path with OPTEE BUD17-400: Secure Data Path with OPTEE
BUD17-400: Secure Data Path with OPTEE
Linaro2.4K views
Jagan Teki - U-boot from scratch by linuxlab_conf
Jagan Teki - U-boot from scratchJagan Teki - U-boot from scratch
Jagan Teki - U-boot from scratch
linuxlab_conf710 views
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall... by The Linux Foundation
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...
GPU Virtualization in Embedded Automotive Solutions by GlobalLogic Ukraine
GPU Virtualization in Embedded Automotive SolutionsGPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive Solutions
GlobalLogic Ukraine2.2K views
Volume Encryption In CloudStack by ShapeBlue
Volume Encryption In CloudStackVolume Encryption In CloudStack
Volume Encryption In CloudStack
ShapeBlue773 views

Viewers also liked

LinuxCon Japan 13 : 10 years of Xen and Beyond by
LinuxCon Japan 13 : 10 years of Xen and BeyondLinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and BeyondThe Linux Foundation
451.5K views54 slides
LCEU13: Securing your cloud with Xen's advanced security features - George Du... by
LCEU13: Securing your cloud with Xen's advanced security features - George Du...LCEU13: Securing your cloud with Xen's advanced security features - George Du...
LCEU13: Securing your cloud with Xen's advanced security features - George Du...The Linux Foundation
195.3K views150 slides
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo... by
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...The Linux Foundation
5.5K views28 slides
Rootlinux17: An introduction to Xen Project Virtualisation by
Rootlinux17:  An introduction to Xen Project VirtualisationRootlinux17:  An introduction to Xen Project Virtualisation
Rootlinux17: An introduction to Xen Project VirtualisationThe Linux Foundation
7.7K views66 slides
XPDDS17: Keynote: Xen 4.8 at Gandi - Vincent Legout, Gandi by
XPDDS17: Keynote: Xen 4.8 at Gandi - Vincent Legout, GandiXPDDS17: Keynote: Xen 4.8 at Gandi - Vincent Legout, Gandi
XPDDS17: Keynote: Xen 4.8 at Gandi - Vincent Legout, GandiThe Linux Foundation
9.7K views17 slides
XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov... by
XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov...XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov...
XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov...The Linux Foundation
45.2K views17 slides

Viewers also liked(8)

LinuxCon Japan 13 : 10 years of Xen and Beyond by The Linux Foundation
LinuxCon Japan 13 : 10 years of Xen and BeyondLinuxCon Japan 13 : 10 years of Xen and Beyond
LinuxCon Japan 13 : 10 years of Xen and Beyond
The Linux Foundation451.5K views
LCEU13: Securing your cloud with Xen's advanced security features - George Du... by The Linux Foundation
LCEU13: Securing your cloud with Xen's advanced security features - George Du...LCEU13: Securing your cloud with Xen's advanced security features - George Du...
LCEU13: Securing your cloud with Xen's advanced security features - George Du...
The Linux Foundation195.3K views
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo... by The Linux Foundation
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
Rootlinux17: An introduction to Xen Project Virtualisation by The Linux Foundation
Rootlinux17:  An introduction to Xen Project VirtualisationRootlinux17:  An introduction to Xen Project Virtualisation
Rootlinux17: An introduction to Xen Project Virtualisation
XPDDS17: Keynote: Xen 4.8 at Gandi - Vincent Legout, Gandi by The Linux Foundation
XPDDS17: Keynote: Xen 4.8 at Gandi - Vincent Legout, GandiXPDDS17: Keynote: Xen 4.8 at Gandi - Vincent Legout, Gandi
XPDDS17: Keynote: Xen 4.8 at Gandi - Vincent Legout, Gandi
XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov... by The Linux Foundation
XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov...XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov...
XPDS13: Erlang on Xen - Redefining the Cloud Software Stack - Victor Sovietov...
The Linux Foundation45.2K views
OWF: Xen - Open Source Hypervisor Designed for Clouds by The Linux Foundation
OWF: Xen - Open Source Hypervisor Designed for CloudsOWF: Xen - Open Source Hypervisor Designed for Clouds
OWF: Xen - Open Source Hypervisor Designed for Clouds
The Linux Foundation67.8K views
DIGITS による物体検出入門 by NVIDIA Japan
DIGITS による物体検出入門DIGITS による物体検出入門
DIGITS による物体検出入門
NVIDIA Japan18.8K views

Similar to Xen Project Contributor Training Part2 : Processes and Conventions v1.1

Xen Project Contributor Training Part 2 - Processes and Conventions v1.0 by
Xen Project Contributor Training Part 2 - Processes and Conventions v1.0Xen Project Contributor Training Part 2 - Processes and Conventions v1.0
Xen Project Contributor Training Part 2 - Processes and Conventions v1.0The Linux Foundation
13.3K views74 slides
Chapter 10OutlineAltharwa, Nouf· Multiparty Neg more than 2 p.docx by
Chapter 10OutlineAltharwa, Nouf· Multiparty Neg more than 2 p.docxChapter 10OutlineAltharwa, Nouf· Multiparty Neg more than 2 p.docx
Chapter 10OutlineAltharwa, Nouf· Multiparty Neg more than 2 p.docxedward6king79409
4 views55 slides
Designing Effective Strategic Planning Retreats by
Designing Effective Strategic Planning RetreatsDesigning Effective Strategic Planning Retreats
Designing Effective Strategic Planning Retreats4Good.org
2.9K views28 slides
Design process in an Open Community by
Design process in an Open CommunityDesign process in an Open Community
Design process in an Open CommunityEcaterina Moraru (Valica)
1K views21 slides
FCT Mitrovica - Mariska KAPPMEIER by
FCT Mitrovica - Mariska KAPPMEIERFCT Mitrovica - Mariska KAPPMEIER
FCT Mitrovica - Mariska KAPPMEIERForum for Cities in Transition
946 views30 slides
Naked Meetings: Using Unseen Structures to Achieve Results by
Naked Meetings: Using Unseen Structures to Achieve ResultsNaked Meetings: Using Unseen Structures to Achieve Results
Naked Meetings: Using Unseen Structures to Achieve Results4Good.org
693 views29 slides

Similar to Xen Project Contributor Training Part2 : Processes and Conventions v1.1(20)

Xen Project Contributor Training Part 2 - Processes and Conventions v1.0 by The Linux Foundation
Xen Project Contributor Training Part 2 - Processes and Conventions v1.0Xen Project Contributor Training Part 2 - Processes and Conventions v1.0
Xen Project Contributor Training Part 2 - Processes and Conventions v1.0
The Linux Foundation13.3K views
Chapter 10OutlineAltharwa, Nouf· Multiparty Neg more than 2 p.docx by edward6king79409
Chapter 10OutlineAltharwa, Nouf· Multiparty Neg more than 2 p.docxChapter 10OutlineAltharwa, Nouf· Multiparty Neg more than 2 p.docx
Chapter 10OutlineAltharwa, Nouf· Multiparty Neg more than 2 p.docx
Designing Effective Strategic Planning Retreats by 4Good.org
Designing Effective Strategic Planning RetreatsDesigning Effective Strategic Planning Retreats
Designing Effective Strategic Planning Retreats
4Good.org2.9K views
Naked Meetings: Using Unseen Structures to Achieve Results by 4Good.org
Naked Meetings: Using Unseen Structures to Achieve ResultsNaked Meetings: Using Unseen Structures to Achieve Results
Naked Meetings: Using Unseen Structures to Achieve Results
4Good.org693 views
Negotiation in Employee Relations by parags06
Negotiation in Employee Relations Negotiation in Employee Relations
Negotiation in Employee Relations
parags064.3K views
Constitutional Orgs by Citizen Code
Constitutional OrgsConstitutional Orgs
Constitutional Orgs
Citizen Code1.3K views
OSSEU18: Making Decisions without Consensus - George Dunlap, Citrix by The Linux Foundation
OSSEU18: Making Decisions without Consensus - George Dunlap, CitrixOSSEU18: Making Decisions without Consensus - George Dunlap, Citrix
OSSEU18: Making Decisions without Consensus - George Dunlap, Citrix
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op... by The Linux Foundation
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
Finding the Most Efficient Route - Aging Infrastructures: A Case Study by Thomas Willis
Finding the Most Efficient Route - Aging Infrastructures: A Case Study Finding the Most Efficient Route - Aging Infrastructures: A Case Study
Finding the Most Efficient Route - Aging Infrastructures: A Case Study
Thomas Willis573 views
Councillor Briefing: by PAS_Team
Councillor Briefing: Councillor Briefing:
Councillor Briefing:
PAS_Team345 views
Community Discussion on Consensus, by Masato Yamanishi [APNIC 38 / Policy SIG 1] by APNIC
Community Discussion on Consensus, by Masato Yamanishi [APNIC 38 / Policy SIG 1]Community Discussion on Consensus, by Masato Yamanishi [APNIC 38 / Policy SIG 1]
Community Discussion on Consensus, by Masato Yamanishi [APNIC 38 / Policy SIG 1]
APNIC1.3K views
Agile manifesto - Agile - What is it? by Mediotype .
Agile manifesto - Agile - What is it?Agile manifesto - Agile - What is it?
Agile manifesto - Agile - What is it?
Mediotype .1.1K views
Councillor Briefing: Getting engaged in pre application discussions by PAS_Team
Councillor Briefing: Getting engaged in pre application discussions Councillor Briefing: Getting engaged in pre application discussions
Councillor Briefing: Getting engaged in pre application discussions
PAS_Team7.8K views
Wild Apricot Free Expert Webinar - Leading Great Board Meetings by Wild Apricot
Wild Apricot Free Expert Webinar - Leading Great Board MeetingsWild Apricot Free Expert Webinar - Leading Great Board Meetings
Wild Apricot Free Expert Webinar - Leading Great Board Meetings
Wild Apricot1.8K views
Don't Send An Engineer To Do A Lawyer's Job by Simon Phipps
Don't Send An Engineer To Do A Lawyer's JobDon't Send An Engineer To Do A Lawyer's Job
Don't Send An Engineer To Do A Lawyer's Job
Simon Phipps597 views
LCEU14: How to run a Collaborative Project - Lars Kurth by The Linux Foundation
LCEU14: How to run a Collaborative Project - Lars KurthLCEU14: How to run a Collaborative Project - Lars Kurth
LCEU14: How to run a Collaborative Project - Lars Kurth

More from The Linux Foundation

ELC2019: Static Partitioning Made Simple by
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleThe Linux Foundation
4.1K views33 slides
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ... by
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...The Linux Foundation
1K views17 slides
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu... by
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...The Linux Foundation
1K views19 slides
XPDDS19 Keynote: Unikraft Weather Report by
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather ReportThe Linux Foundation
923 views58 slides
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E... by
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...The Linux Foundation
941 views17 slides
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx by
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxThe Linux Foundation
5.7K views23 slides

More from The Linux Foundation(20)

XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ... by The Linux Foundation
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu... by The Linux Foundation
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E... by The Linux Foundation
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx by The Linux Foundation
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys... by The Linux Foundation
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender by The Linux Foundation
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng... by The Linux Foundation
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... by The Linux Foundation
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix by The Linux Foundation
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd by The Linux Foundation
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant... by The Linux Foundation
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D by The Linux Foundation
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems by The Linux Foundation
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven... by The Linux Foundation
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib... by The Linux Foundation
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr... by The Linux Foundation
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE by The Linux Foundation
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security by The Linux Foundation
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information SecurityXPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security

Recently uploaded

Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...ShapeBlue
129 views10 slides
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...ShapeBlue
141 views29 slides
Qualifying SaaS, IaaS.pptx by
Qualifying SaaS, IaaS.pptxQualifying SaaS, IaaS.pptx
Qualifying SaaS, IaaS.pptxSachin Bhandari
1.1K views8 slides
NTGapps NTG LowCode Platform by
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform Mustafa Kuğu
437 views30 slides
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...ShapeBlue
171 views28 slides
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsShapeBlue
247 views13 slides

Recently uploaded(20)

Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue129 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue141 views
NTGapps NTG LowCode Platform by Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu437 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue171 views
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by ShapeBlue
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystems
ShapeBlue247 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue162 views
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue152 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue183 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue225 views
LLMs in Production: Tooling, Process, and Team Structure by Aggregage
LLMs in Production: Tooling, Process, and Team StructureLLMs in Production: Tooling, Process, and Team Structure
LLMs in Production: Tooling, Process, and Team Structure
Aggregage57 views
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue120 views
Business Analyst Series 2023 - Week 4 Session 8 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 8Business Analyst Series 2023 -  Week 4 Session 8
Business Analyst Series 2023 - Week 4 Session 8
DianaGray10145 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue137 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue224 views
"Package management in monorepos", Zoltan Kochan by Fwdays
"Package management in monorepos", Zoltan Kochan"Package management in monorepos", Zoltan Kochan
"Package management in monorepos", Zoltan Kochan
Fwdays34 views

Xen Project Contributor Training Part2 : Processes and Conventions v1.1

  • 1. Lars Kurth Community Manager, Xen Project Chairman, Xen Project Advisory Board Director, Open Source Business Office, Citrix lars_kurth
  • 2. Principles: Openness, Transparency, Meritocracy Roles: Maintainers, Committers, Project Lead Decision Making and Conflict Resolution Design reviews Feature Lifecycle and Documentation Bug reports and Security Issues Patch contribution workflow • Anatomy of a good patch series • Coding style • Personal repos hosted by Xen Project • Staging-to-master pushgate and automated testing Release Manager Role and Release Process Access to Coverity Scan Hackathons, Developer meetings, Ad-hoc meetings to resolve issue Earning “status” in the Xen Project community Updated Updated Updated Updated New Discussed Updated Updated Discussed
  • 4. Openness: The Xen Project is open to all and provides the same opportunity to all. Everyone participates with the same rules. There are no rules to exclude any potential contributors which include, of course, direct competitors in the marketplace. Transparency: Project discussions, minutes, deliberations, project plans, plans for new features, and other artifacts are open, public, and easily accessible. Meritocracy: The Xen Project is a meritocracy. The more you contribute the more respect and responsibility you will earn. Leadership roles in Xen are also merit-based and earned by peer acclaim.
  • 5. • Maintainers – Own one or several components in the Xen Project tree – Reviews and approves changes that affect their components (Acked-by) – It is a maintainer's prime responsibility to review, comment on, co-ordinate and accept patches from other community member's. – It is a maintainers prime responsibility to maintain the design cohesion of their components. Which implies: quality, maintainability, system properties, … • Committer – Maintainer with write access to the source tree – Acts on the wishes of maintainers (Acked-by) – Allowed to act as referees should disagreements amongst maintainers arise • Project Lead – Public face of project – Allowed to act as referee should disagreements amongst committers arise
  • 6. Developer Survey : Improving Xen Project Governance and Conventions • Part 1 : Hierarchy of maintainers in the xen.git MAINTAINERs file • Part 2 : Trust amongst different stakeholders in the peer review process • Part 3 : Other related Governance Issues (Voting Model, Decision Making) • Results of Phase 1 of the Review Process study
  • 8. Discussion Several iterations Disagreement amongst affected maintainers Informal Conflict Resolution Ask parties to resolve issue Refereeing: Committer(s) to make decisions on behalf of the community Still Disagreement amongst affected maintainers Applies to: Design Discussions, Code Reviews, Documentation, … If there is consensus amongst all relevant stake-holders (e.g. via ACKs), we are done Last Resort: Private committer vote (majority with tie break to avoid stale-mate) Disagreement amongst committers If there is consensus amongst all relevant maintainers, we are done LazyConsensus Results are published by community manager If there is consensus amongst all relevant committers, we are done
  • 9. Lazy consensus is a mutual consent decision making process between you and the community that states your default support for a proposal is "yes”, unless you explicitly say "no". Restrictions: • Any “No” statement must be accompanied by an explanation • Excludes decisions that require a sign-off, e.g. an Acked-by a maintainer on a patch. But, if there are several maintainers that need to agree, the affected maintainers operate using Lazy Consensus • Excludes formal voting, e.g. committer election, governance changes, … Assumptions: • Require everyone who cares for the health of the project to watch what is happening, as it is happening.
  • 10. The design discussion leading to this point in time was lengthy with some disagreements amongst core developers. It took 2 months and 43 email exchanges to get to the point below. The example shows how the proposer prompting the Maintainers for clarification on whether all the issues have been resolved and by doing so, got to an agreement. [Contributor] In this case, if libvirt/XenAPI is trying to query a domain's cache utilization in the system (say 2 sockets), then it will trigger _two_ such MSR access hypercalls for CPUs in the 2 different sockets. If you are okay with this idea, I am going to implement it. [Maintainer] I am okay with it, but give it a couple of days before you start so that others can voice their opinions too. Dom0 may not have a vcpu which is scheduled/schedulable on every socket. [snip: ... there was another short exchange clarifying a question, which were addressed during the conversation] [Contributor] No more comments on this MSR access hypercall design now, so I assume people are mostly okay with it? [Another Maintainer] Yes -- I think everyone who commented before is satisfied with that approach, and anyone who hasn't commented has had ample opportunity to do so
  • 11. Maintainers and core developers sometimes hold different opinions regarding architecture, design or other issues. That is entirely normal. Because such situations can delay progress and turn away contributors, the project has some mechanisms to resolve this. Informal: • Ask the parties that disagree to resolve the disagreement • Leave some “reasonable” time period to allow the disagreeing parties to come to a conclusion • If in doubt, you can ask one of the committers and/or the community manager for advice. This works in most cases.
  • 12. In situations when no resolution can be found informally, refereeing can be used. People with higher “status” in the community can make decisions on behalf of the community. Example: Two maintainers disagree on a design. You have asked for the issue to be resolved, but no resolution could be found. Formal: • Ask the referee: in this case the committer(s) responsible for the maintainers to resolve the disagreement • If committers can’t agree on a way forward, a private formal majority vote amongst committers can be used to break the dead-lock • If in doubt, ask the community manager for advice.
  • 13. • Referees do not always proactively step in and resolve an issue – Workload : may have missed a disagreement – Resolving issues is harder for some people than others • Asking for an issue resolution in public or private? – Prompting disagreeing parties to resolve an issue publicly is not always easy – It is OK, to ask a referee or the community manager for advice privately – However, Transparency and Lazy Consensus require that discussions and decisions are made in public. This means that • It is OK to do preparation work to resolve a conflict in private (e.g. on IRC, a phone call, etc.) • But, in such a cases, there needs to be a clear statement on the list that shows the outcome and invites others to provide feedback
  • 14. A maintainer stepped in to understand and resolve an issue by having a quick conversation with one party involved: he stated the fact that there was a private discussion, summarized it and invited others to comment. [Maintainer] So XXX and I had a chat about this [the disagreement that came up in a discussion], and I think we came up with something that would be do-able. (This is from memory, so XXX please correct me if I missed anything). So the situation, as I understand it, is: ... That should be a good balance -- it's not quite as good as having as separate daemon, but it's a pretty good compromise. Thoughts?
  • 15. Applies to: Proposals related to Development Practices and Processes Informal Discussion of a Proposal Possibly several options with an informal vote on each option to establish momentum for each option No clear agreement for a single option Next step: Proposer makes a formal proposal with one option Informal or Formal Committer Vote A single proposal marked [Vote] on a single concrete proposal If there is consensus amongst relevant committers, we are done ConsensusApproval If there is clear consensus amongst all relevant stake-holders we are done Last Resort: Private committer vote (majority with tie break to avoid stale-mate) No agreement for a single option Next step: Proposer asks community manager for resolution Results are published by community manager
  • 16. Voting is done with numbers: +1 : a positive vote 0 : abstain, have no opinion -1 : a negative vote A negative vote should include an alternative proposal or a detailed explanation of the reasons for the negative vote. Issues: A single -1 is essentially a veto and will block any vote, except for a “last resort” vote. In practice, committers wanted to record that they are against a proposal without blocking it
  • 17. Voting is done with numbers: +2 : agree, but care strongly enough to argue for it +1 : agree, but don’t care enough to argue for it 0 : abstain, have no opinion -1 : disagree, but don’t care enough to argue against it -2 : disagree, but feel strongly enough to argue against it Only a -2 will stop an agreement. Note: Although this proposal has wide agreement (see lists.xenproject.org/archives/html/xen-devel/2015-10/msg01885.html), a formal vote is required and some details need to be resolved, as we are thinking to move to a majority based model.
  • 18. Applies to: • Committer, Project Lead and Release Manager Elections • Governance changes (for governance published on xenproject.org) Issues: Recently, we have conducted a survey, which highlighted that the decision making portions of the governance are not very clear and there is space to streamline the process. We are working on a proposal to clarify and streamline decision making.
  • 20. The Project has no formal requirement to submit designs before a patch BUT: • Designs are welcome, for complex designs • Sometimes a fully fledged design is not necessary : a set of questions, can iteratively lead a design • If in doubt, as to whether a design is necessary ask the community for input
  • 21. See “cpufreq implementation for OMAP under xen hypervisor” [Contributor] Hi to all. I want to implement an cpufreq support for OMAP processors in xen. I use the Linux kernel as Dom0. I know that there are 2 implementations of cpufreq: Domain0 based cpufreq and Hypervisor based cpufreq. But those implementations are made only for x86 architecture, not for the ARM architecture. Could anybody give me an advice how to do that? After an initial answer, the proposal was iteratively improved leading to a design. The design turned out to be more complex than anticipated because of dependencies with Linux and architectural differences between x86 and ARM.
  • 22. See “FIFO-based event channel ABI design (draft B)” • This was an example of a fully fledged detailed design. • Note that there was a version A beforehand – a precursor of draft B • The design was competing with an entirely different design by Wei Liu, for which code already existed – some of which had been posted and reviewed The community had to make a decision, which design to go for. • It turned out that a prototype could be put together relatively quickly and an RFC followed. • This then led to a community decision to go for the FIFO-based event channel (with the agreement of Wei Liu) If you compare the amount of questions, these were similar to the previous example, but took considerably less elapsed time to review. This was mainly due to the fact that most developers were within one time-zone and that the design was well thought through.
  • 23. There is no right or wrong approach A more iterative design review (based on a problem or idea which is not fully defined), • may be less predictable and • depends on the quality of communication between proposer and reviewers A fully fledged design, • may require significant re-work if there are issues with the use-cases, wrong assumptions, etc. Vinovyn @ Flickr
  • 24. Example: FIFO-based event channel ABI design • The FIFO-based event channel ABI design had a further 6 revisions (up to draft H) • It was kept up-to-date with the implementation. See – lists.xenproject.org/archives/html/xen-devel/2013-11/msg01414.html referring to – xenbits.xen.org/people/dvrabel/event-channels-H.pdf • The design doc now serves as detailed documentation for the ABI. • Recommended Location for Feature Specs and Docs – xen.git @ docs/specs – xen.git @ docs/features
  • 26. Clearly establish criteria for: Feature / Platform is – fully implemented, maintained, tested, stable (APIs) & documented Based on above criteria, award support status – Preview, Experimental, Complete (new), Supported (new), Supported-Legacy- Stable (the old Supported) and Deprecated Which in effect controls – How bugs and issues are handled – Whether regressions and blockers block Xen Releases – Whether security issues would be handled by the security team. Document Feature Status in xen.git @ docs/features
  • 28. Raise Issue or [BUG]: Description of issue with supporting information, such as environments, logs, etc. to xen-devel or xen-users IMPORTANT: suspected security vulnerabilities are reported to security@xenproject.org only Clarification: Community may ask some more questions to clarify the issue and determine whether the issue in question is a bug or not. More Information: Raiser of bug provides more information Fixing: Community member fixes the bug using the contribution workflow. Once the fix is committed and the bug confirmed fixed the maintainer closes the bugClosed Tracked bug: Maintainer adds bug to bugs.xenproject.org Maintainer confirms issue as bug that needs to be tracked
  • 30. Raise Security Issue: Description of issue with supporting information, such as environments, logs, etc. security@xenproject.org only Xen Project Security Team handles the issue Full Disclosure: Security team announces security issue publicly at disclosure date Pre-disclosure: Members of pre-disclosure list are notified of issues and updates
  • 31. www.xenproject.org/security-policy.html Guilherme Tavares @ Flickr Credit for this section of the talk: George Dunlap
  • 32. A X R: Vulnerability Reported T: Triage P: Vulnerability Pre-disclosed A: Vulnerability Announced F: Fix Available X: Fix Deployed Vulnerability is known by the reporter and the security team Note: It may also be known and used by black hats Vulnerability is known about by a privileged and small group of users Vulnerability is known publicly Description, CVE allocation, … Pre-disclosure period Make sure that downstream projects and products (e.g. distros) can package and test the fix in their environment Allow service providers to start planning an upgrade (at scale this can take a week) Allow service providers to deploy an upgrade before the embargo completes (specified in each advisory whether applicable) R Patch/fix creation and validation FT P 1 week 2 weeks
  • 33. • Encourage people to report bugs responsibly • Minimize time that users are vulnerable to attack • Maintain trust in the community
  • 34. Timing of disclosure • Honor the wishes of the reporter • Suggest time period: 1 week to fix, 2 weeks pre-disclosure Pre-disclosure list • Open to any “genuine provider” of software / service using Xen
  • 35. • Distinguished Community Members • Read vulnerability reports – Determine if it is a vulnerability – Come up with a fix (bringing in others if necessary) – Coordinate disclosure • Manage predisclosure list according to policy
  • 36. Raise Security Issue: Description of issue with supporting information, such as environments, logs, etc. security@xenproject.org only Clarification: Security team may ask some more questions to clarify the issue, determine a work-around, prepare a fix and agree a disclosure timetable with the raiser of the issue More Information: Raiser of issue, members of pre-disclosure list and provide more information on request Full Disclosure: Security team announces security issue publicly at disclosure date Pre-disclosure: Members of pre-disclosure list are notified of issues and updates Fix Preparation and Testing: Security team prepares fix, pre-disclosure announcement, etc. Pre-disclosure Testing: Members of pre-disclosure list test fix and provide feedback if appropriate
  • 37. • …doesn’t honor the wishes of the reporter? – If the reporter doesn’t trust the process, they may go with full disclosure • …favors some group in the community (aka is not impartial)? – Massive loss of trust in the Xen Project – Possible legal repercussions for anti-trust violations
  • 38. Open Source Security Practices on Linux.com – Part 1: A Cloud Security Introduction – Part 2: Containers vs. Hypervisors - Protecting Your Attack Surface – Part 3 and 4 will be published shortly Also of interest: – eWeek: How Xen Manages Security – Are Today's FOSS Security Practices Robust Enough in the Cloud Era?
  • 40. Preparation: Contributor gathers changes Contributor sends patch or patch series with meta-information (use case, rationale, design background, refs, …) to the mailing list Inspection / Review: Reviewer(s) examines code diffs following their own schedule and time constraints Debate until resolved (Maintainer ACK) Contributor keeps the process going (“Next revision”, “Are we done yet?”) Rework: Contributor responds to issues by making changes and sends new patch Acked-by: <Maintainer> Release Manager can object Staging: Committer checks changes into staging branch Test suite passes / fails; Coverity Scan issues Review Feedback Reviewed-by Tested-by … Test or scan fail Complete: Change moved into master branch No issue
  • 41. Master branch on xen.git Feature Development Prepare Patch Personal copy of xen.git Note: that you can request a personal development git tree to be hosted on xenbits.xenproject.org by sending an email to xen-devel@ These are listed on http://xenbits.xen.org/gitweb/ under people/*
  • 42. Master branch on xen.git Prepare Patch Review Cycles Acked-by Maintainer Rebase Staging branch on xen.git Commit Tests OK Contains a limited number of “pending” patches Identifies patches that lead to test failures in OSSTest via bisection. Pushes patches that do not lead to regressions automatically to master
  • 43. Or what makes a good patch (series) Mike Licht @ Flickr
  • 44. • Description of patch series : provides – Information about its use, use-case and users (if not obvious) – Information about the design, architecture, assumptions, etc. (if not obvious) – References to relevant context information - e.g. specs, etc. – (if relevant) – Short description of elements of the patch series and how they relate to each other (if necessary) • Each patch contains – Description of the change and what it is for – Ideally also contains an analysis of the problem solved and why it is solve this way – The patch itself (ideally less than 200 LOC, reviewable in < 1 hour) – API documentation and test cases (if appropriate) – Sign-off-by : you state that you abide by the Developer Certificate of Origin
  • 45. marc.info/?l=xen-devel&m=141407695210809 This driver uses hwdom to change frequencies on CPUs marc.info/?l=xen-devel&m=141407702410864 Xen changes frequencies on CPUs using this high-level cpufreq driver. marc.info/?l=xen-devel&m=141492507021019&w=2 This patch series are only the Qemu part to enable Xen stubdom vTPM for HVM virtual machine. it will work w/ Xen patch series and seaBios patch series. Build it with --enable-tpm and --enable-xen options and link with Xen, or change QEMU_STUBDOM_VTPM compile option from 'n' to 'y' in <Xen>/Config.mk, when the Qemu/ SeaBios patch series are merged. Run Xen virtual machine with below QEMU command line options: "-tpmdev xenstubdoms,id=xenvtpm0 - device tpm-tis,tpmdev=xenvtpm0" or Xen xl tool adds this options when virtual machine cfg includes: vtpm=["backend=vtpmN"] qemu-system-* --tpmdev help Supported TPM types (choose only one): passthrough - Passthrough TPM backend driver xenstubdoms; Xenstubdoms -TPM backend driver
  • 46. lists.xenproject.org/archives/html/xen-devel/2014-10/msg00993.html This patch series breaks multiboot (v1) protocol dependency and adds multiboot2 support. It lays down the foundation for EFI + GRUB2 + Xen development. Detailed description of ideas and thoughts you will find in commit message for every patch. If something is not obvious please drop me a line. Patch #13 reveals a bug which probably was introduced between commit 3e2331d271cc0882e4013c8f20398c46c35f90a1 (VT-d: suppress UR signaling for further desktop chipsets) and 61fdda7acf3de11f3d50d50e5b4f4ecfac7e0d04 (x86/HVM: properly bound x2APIC MSR range). Xen crashes at video_endboot() because earlier scrub process wipes vga_console_info data (sic!). So, it means that at least page containing this structure was freed mistakenly somewhere. Interestingly this issue appears on legacy BIOS machines only. EFI platforms work as usual. It is possible to workaround this bug by passing no-bootscrub to xen.gz. I was not able to spot anything obvious just looking briefly at commit history. I am going to narrow down and fix this issue in next release. ARM build has not been tested yet. Most of the requested things are fixed but there are still some minor outstanding issues (multiboot2 tags generation, excessive amount of casts in xen/arch/x86/boot/reloc.c, etc.; please check commit messages for more details). If something is not fixed yet it means that I do not have good idea how to do that. In case you spot something which was mentioned during previous reviews and still think that your comment is valid in particular case please notify me.
  • 47. lists.xenproject.org/archives/html/xen-devel/2014-11/msg00525.html When using pvgrub in graphical mode with vnc, the grub timeout doesn't work: the countdown doesn't even start. With a serial terminal the problem doesn't occur and the countdown works as expected. It turns out that the problem is that when using a graphical terminal, checkkey () returns 0 instead of -1 when there is no activity on the mouse or keyboard. As a consequence grub thinks that the user typed something and interrupts the count down. To fix the issue simply ignore keystrokes returning 0, that is the NUL character anyway. Add a patch to grub.patches to do that. Problem Description Analysis of why it occurs How the patch fixes it
  • 48. lists.xenproject.org/archives/html/xen-devel/2014-08/msg02369.html The x86 architecture offers via the PAT (Page Attribute Table) a way to specify different caching modes in page table entries. The PAT MSR contains 8 entries each specifying one of 6 possible cache modes. A pte references one of those entries via 3 bits: _PAGE_PAT, _PAGE_PWT and _PAGE_PCD. The Linux kernel currently supports only 4 different cache modes. The PAT MSR is set up in a way that the setting of _PAGE_PAT in a pte doesn't matter: the top 4 entries in the PAT MSR are the same as the 4 lower entries. This results in the kernel not supporting e.g. write-through mode. Especially this cache mode would speed up drivers of video cards which now have to use uncached accesses. OTOH some old processors (Pentium) don't support PAT correctly and the Xen hypervisor has been using a different PAT MSR configuration for some time now and can't change that as this setting is part of the ABI. This patch set abstracts the cache mode from the pte and introduces tables to translate between cache mode and pte bits (the default cache mode "write back" is hard-wired to PAT entry 0). The tables are statically initialized with values being compatible to old processors and current usage. As soon as the PAT MSR is changed (or - in case of Xen - is read at boot time) the tables are changed accordingly. Requests of mappings with special cache modes are always possible now, in case they are not supported there will be a fallback to a compatible but slower mode. Summing it up, this patch set adds the following features: - capability to support WT and WP cache modes on processors with full PAT support - processors with no or uncorrect PAT support are still working as today, even if WT or WP cache mode are selected by drivers for some pages - reduction of Xen special handling regarding cache mode
  • 49. marc.info/?l=xen-devel&m=123003693614292 This set of patches introduces a set of mechanisms and interfaces to implement populate-on-demand memory. The purpose of populate-on-demand memory is to allow non-paravirtualized guests (such as Windows or Linux HVM) boot in a ballooned state. BACKGROUND When non-PV domains boots, they typically read the e820 maps to determine how much memory they have, and then assume that much memory thereafter. Memory requirements can be reduced using a balloon driver, but it cannot be increased past this initial value. Currently, this means that a non-PV domain must be booted with the maximum amount of memory you want that VM every to be able to use. Populate-on-demand allows us to "boot ballooned", in the following manner: • Mark the entire range of memory (memory_static_max aka maxmem) with a new p2m type, populate_on_demand, reporting memory_static_max in th e820 map. No memory is allocated at this stage. • Allocate the "memory_dynamic_max" (aka "target") amount of memory for a "PoD cache". This memory is kept on a separate list in the domain struct. • Boot the guest. • Populate the p2m table on-demand as it's accessed with pages from the PoD cache. • When the balloon driver loads, it inflates the balloon size to (maxmem - target), giving the memory back to Xen. When this is accomplished, the "populate-on-demand" portion of boot is effectively finished. …
  • 50. Addressing Feedback! Common mistakes to avoid! Mike Licht @ Flickr
  • 51. Each new patch revision contains • Change history (what has changed between each iteration) • Tags (by maintainers, reviewers, testers, etc.) – Acked-by: <Maintainer> – Reviewed-by: <Reviewer> – Tested-by: <Tester> – Note that there is disagreement about use of Acked-by: <non-maintainer> which is being discussed amongst the community and not yet resolved (see http://lists.xen.org/archives/html/xen-devel/2014-06/msg01419.html)
  • 52. marc.info/?l=xen-devel&m=140259327023935 > Add support for GIC v3 specification System register access(SRE) > is enabled to access cpu and virtual interface regiseters based > on kernel GICv3 driver. > > This patch adds only basic v3 support. > Does not support Interrupt Translation support (ITS) I see that a lot of things changed in this version of the patch. It would be nice if you kept a log of the incremental changes. In particular in this version of the patch we basically added isb() everywhere. I would like to see a written comment about it. When Julien commented "isb?", I think he was just asking whether they are needed, not requesting you to add them. The only one I was sure about was the one at the end of gicv3_eoi_irq. But it is good to see that you addressed all my comments. Makes it hard for the reviewer to only re-review the portions of the patch that need to be looked at Seems there was also a misunderstanding between reviewer and submitter
  • 53. marc.info/?l=xen-devel&m=140285195123082 You didn't address the comments I made on V4 for this patch. See a copy of them inline... marc.info/?l=xen-devel&m=140422021120851 You continue to ignore my comments on this patch... Please explain why you don't want to make those changes. Sending 3 times the same patch without any change is a waste of time for both of us. Adds extra unnecessary iterations and wastes reviewer’s time.When you don’t understand understand feedback, feel free to ask for clarification
  • 54. v3 - suggestions/fixes: - rename some variables (suggested by Andrew Cooper), - remove unneeded initialization (suggested by Andrew Cooper), - improve comments (suggested by Andrew Cooper), - further patch split rearrangement (suggested by Andrew Cooper and Jan Beulich). v2 - suggestions/fixes: - improve inline assembly (suggested by Andrew Cooper and Jan Beulich), - use __used attribute (suggested by Andrew Cooper), - patch split rearrangement (suggested by Andrew Cooper and Jan Beulich).
  • 56. xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=CODING_STYLE • Indentation • White Spaces • Line Length • Bracing • Comments • Emacs Local Variables
  • 57. xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=tools/libxl/CODING_STYLE Similar to QEMU and Linux with a few exceptions. Different from Hypervisor coding style. • Whitespaces • Line width • Variable Naming • Statements • Block Structures
  • 58. There are a number of uncommitted scripts, which automatically check coding style. These have not yet been fully reviewed and may not work in all cases, but may partly be usable. See • lists.xen.org/archives/html/xen-devel/2014-09/msg01543.html • lists.xen.org/archives/html/xen-devel/2014-09/msg01171.html Other useful scripts: • scripts/get_maintainer.pl : looks at the files you have modified in the patch and matches it up with the information in the MAINTAINERS file  generates a list of people + email addresses who need to be CC’ed  Some issues: see lists.xenproject.org/archives/html/xen-devel/2014-11/msg00060.html
  • 60. • A Maintainer that is elected by the community to manage a specific release – Nominated by community members (but needs to have agreed to want to do the job and have the time to do so) – Elected using a formal vote by committers of the Xen Project Hypervisor team – For one or several releases – (Past) Release Managers: Ian Campbell (Citrix), George Dunlap (Citrix), Korad R Wilk (Oracle) – Xen 4.7 Release Manager: Wei Liu – Driving the Roadmap process – Deciding the Release Timetable – Making the Final call on what goes into the Release at each Freeze Point – Handling requests for “freeze” Exceptions : Cost vs. Benefit analysis – Coordinates with other committers in making Release Candidates and Releases • Other responsibilities – Helps with PR related to the release – Can also act as spokesperson for the project (if the Release Manager is allowed to by employer)
  • 61. A bug-free release An awesome release An on-time release A predictable release cadence The Xen Project aims to do releases on a 6 month cadence (historically this was 9+ months). We aim to make a release – At the beginning of each June – At the beginning of each December
  • 62. Reduce release cycle length to 6 months: – 4 months development – 2 months freeze, with earlier creation of release branch based on risk assessment – Xen 4.7 will be slightly longer to support future June / December releases Fixed and predictable Release dates – Beginning of June and December of each year – Eat into next cycle if we don't release on time Fixed cut-off date: – Freeze dates: last day of March and September of each year – No more freeze exceptions, but heads-up mails about freeze will be sent a few weeks beforehand Maintenance support: no changes
  • 63. Master branch on xen.git Wait period to clear test pushgate RC’s RELEASE-4.6.0 branch on xen.git RELEASE-4.7.0 branch based on risk assessment Release Announcement Feature Development Feature Freeze point Last Posting Date
  • 64. Release Manager declares that only bug fixes deemed blockers can be accepted Creation of RELEASE-4.7.0 branch based on risk assessment Master/Release branch on xen.git Feature Development RC’s This is when patches for the ongoing release need to be submitted for review Wait period to clear test pushgate No new features will be accepted No Freeze Exceptions, will be allowed Bug fixes are allowed, with approval by Maintainers/Release Manager
  • 65. Release Manager: Sends Monthly Xen x.y Development Update email on xen-devel@ Contributors: Expected to reply if they are working on a feature that is not on the list of tracked features Expected to provide Status updates on features & bugs on the list Not engaging with the process may lead to removal or downgrading Release Manager: Sends first Xen x.y Development Update email on xen-devel@ Deferred features from previous release, Timetable, etc. Contributors: Expected to reply if they are working on a feature that is not on the list of tracked features and tracked bugs Release Manager: RC Announcements, Test Days Contributors: Expected to provide Status updates on tracked bugs on the list Release Manager: Release Announcement
  • 66. The release manager’s decision on a patch going in or out / after feature freeze date is in huge part influenced by: • Risk of regressions: – Does this patch introduce a regression that will affect a large set of use-cases – Does this patch touch common code areas (code used by more components is less likely to be accepted, as it is more risky)? – Does this code affect specific cases only (e.g. MMIO pass through only) and is thus less risky? – Is this code simple and easy to understand and thus less risky? • Has the code been tested for failures and succeeded multiple times? • Has the code been Acked or Reviewed by the maintainer?
  • 67. No Feature Freeze Exception – Prior to Xen 4.7, the project allowed Feature Freeze exceptions – This has been dropped! – Features patches must be submitted before the Last Posting Date A Bug Freeze Exception – Contributors can request Freeze Exceptions by replying to the Xen x.y Development Update mail. – Bug freeze exceptions are part of the normal release process and trigger a cost-benefit analysis by the Release Manager with input from the community.
  • 69. The Xen Project is registered with the "Coverity Scan" service which applies Coverity's static analyser to the Open Source projects Because "Coverity Scan" may discover security issues the full database of issues cannot simply be made public. To get access, consult • www.xenproject.org/help/contribution-guidelines.html under “Code Security Scanning”
  • 70. The Xen Project has an automated test infrastructure that is run on • Xen.git master • Xen.git staging (pushgate) – see earlier • Overview: – www.xenproject.org/help/presentations-and-videos/video/xpds14-osstest.html – xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=HEAD Can be run in stand-alone mode – blog.xenproject.org/2013/09/30/osstest-standalone-mode-step-by-step/
  • 72. Maintainers • Demonstrate good technical knowledge in an area and submitted good patch series over a prolonged time period (6-12 months) • Demonstrates engagement and engagement skills in the community via reviews • Self-nominates, then signed off by other Maintainers Committers • Demonstrates prolonged engagement with the community upholding technical and community values – in other words demonstrates that he/she can be trusted • Needs to be one of the top contributors to the project for a prolonged time period (e.g. >200 patches submitted per year; no objective rules) • Gets elected by other maintainers
  • 73. Face-2-face meetings and other community activities
  • 74. • Was Invite only to avoid user questions – Open access, without explicitly advertising it • A lot of coordination, quick pings, reminders happen on #xendevel
  • 75. • Once per year, hosted and paid for by a vendor • 2 days long, 25-45 people depending on location – 95% developers • Not so much a Hackathon, but a series of structured 1-1.5h discussions to solve architectural, design, review, process and other issues – Typically 3-6 discussions happen in parallel – Sometimes presentations are used, but interaction, discussion and decision making are the key focus of Hackathons – Discussions are minuted and posted on mailing lists • Also see: blog.xenproject.org/2013/05/28/event-report-xen-hackathon- 2013/
  • 76. • Once per year, organized by the Xen Project – Co-located with LinuxCon Europe or North America • Paid for by sponsorship and tickets, and subsidized by Xen Project • 2 days long, 90-120 people depending on location – 70-80% developers • Mainly presentations and conference format – Some interactive elements (BoF discussions)
  • 77. • Once per year, organized by the Xen Project • Co-located with Xen Project Developer Summit (the day before or after) • Typically we also have Working Group meetings and Advisory Board meetings on the same day • 3 hours long, 20-25 core developers, maintainers and committers – Plenary format – 6-10 topics covered
  • 78. • Community members can propose ad-hoc conference calls (or other on-line meetings) on specific topics on development lists – Example: regular IRC meeting on #xendevel to discuss x-Splice – Proposal made on xen-devel@ • Can be a conference call, IRC meeting, etc. – Community Manager can help set up

Editor's Notes

  1. TIMING: 35 MINUTES
  2. TIMING: 35 MINUTES
  3. TIMING: 35 MINUTES
  4. TIMING: 16 MINUTES
  5. TIMING: 35 MINUTES
  6. TIMING: 35 MINUTES
  7. TIMING: 35 MINUTES
  8. TIMING: 35 MINUTES
  9. Resp : predominant model => detail Point out ORANGE What & Who?
  10. TIMING: 35 MINUTES
  11. http://lists.xen.org/archives/html/xen-devel/2014-06/msg01419.html (resolved?) http://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches
  12. TIMING: 16 MINUTES
  13. TIMING: 16 MINUTES
  14. TIMING: 35 MINUTES
  15. TIMING: 35 MINUTES
  16. TIMING: 35 MINUTES
  17. TIMING: 35 MINUTES
  18. TIMING: 35 MINUTES