<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:ContentDescription xmi:version="2.0"
    xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.5/uma.ecore"
    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.0" xmi:id="-L1P2_4P5Yqtia4p34Th7FQ"
    name="resources_for_contributing_to_openup,_t9yXEMX4EduywMSzPTUUwA" guid="-L1P2_4P5Yqtia4p34Th7FQ"
    changeDate="2007-07-02T14:18:43.463-0700" version="1.0.0">
  <mainDescription>&lt;h3>&#xD;
    Opportunities in the OpenUP community&#xD;
&lt;/h3>&#xD;
&lt;p>&#xD;
    OpenUP is developed by the Eclipse Process Framework (EPF) team. EPF is an open source community that depends solely on&#xD;
    the active participation of its user community to produce process content and tools. There are a variety of ways to&#xD;
    participate in the development and deployment of OpenUP, depending on your interest and skill level.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    If all you want to do is ask a few questions to get started, sign up for the EPF Newsgroup. If you want to participate&#xD;
    in discussions and decisions about the content and direction of OpenUP, sign up for the epf-dev mailing list. Use&#xD;
    Bugzilla to get your hands dirty by reporting bugs and enhancements, verifying the correctness of method content, or&#xD;
    submitting method content to address process issues. Participate at the highest levels by joining OpenUP technical and&#xD;
    committee meetings. These meetings are where detailed process issues and product strategy are discussed.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Everyone who downloads or uses OpenUP is encouraged to participate at some level. OpenUP is only as good as the quality&#xD;
    of the participation of its contributors.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    EPF newsgroup&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    The EPF Newsgroup is the place to ask and answer questions about OpenUP, EPF Composer, and other EPF processes. Most of&#xD;
    the traffic involves how to use EPF Composer and OpenUP. It’s monitored by the community, and you can access it like&#xD;
    you do any newsgroup. Everyone who uses OpenUP will benefit from the support it offers and by receiving announcements&#xD;
    about OpenUP. Sign up for the &lt;a href=&quot;http://www.eclipse.org/epf/community/community_index.php&quot;&#xD;
    target=&quot;_blank&quot;>newsgroup.&lt;/a>&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    EPF-Dev mailing list&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    The epf-dev mailing list is used by the OpenUP development community to communicate and discuss development issues.&#xD;
    Sign up for the &lt;a href=&quot;https://dev.eclipse.org/mailman/listinfo/epf-dev&quot; target=&quot;_blank&quot;>mailing list&lt;/a> to&#xD;
    participate in technical discussions and receive meeting announcements.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    Bugs, enhancements, and process content&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    Bugzilla is the tool used to track changes and tasks for OpenUP. Bugzilla is the Work Items List for the OpenUP project&#xD;
    and contains the requirements, enhancements, bugs, to-do items, and so forth for the project. Anyone in the community&#xD;
    is invited to report bugs and enhancements, to provide content addressing the bugs and enhancements, and to help&#xD;
    validate that the content is correct. You can provide content simply by adding an attachment to any Bugzilla entry.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Learn how to use &lt;a href=&quot;http://www.eclipse.org/epf/process/change_request_faq.php&quot; target=&quot;_blank&quot;>Bugzilla change&#xD;
    requests&lt;/a> for OpenUP.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    Content can be submitted as text files or exported from EPF Composer as plug-ins or XML. Edit the latest version of the&#xD;
    libraries by downloading them from the CVS in EPF Composer. Set up EPF Composer to download the OpenUP library by&#xD;
    following the instructions on the &lt;a href=&quot;http://www.eclipse.org/epf/composer_dev_guide/cvs_setup.php&quot;&#xD;
    target=&quot;_blank&quot;>EPF Composer Development Guide&lt;/a>. Note that only committers can commit changes to the CVS. Any&#xD;
    changes made by contributors must be attached to a Bugzilla entry.&#xD;
&lt;/p>&#xD;
&lt;h4>&#xD;
    Meetings and committees&#xD;
&lt;/h4>&#xD;
&lt;p>&#xD;
    There are numerous meetings every week to discuss OpenUP progress and define solutions. The &lt;a title=&quot;EPF Calendar&quot;&#xD;
    href=&quot;http://tech.groups.yahoo.com/group/eclipseprocessframework/cal&quot; target=&quot;_blank&quot;>EPF Calendar&lt;/a> is open to&#xD;
    everyone and lists all upcoming meetings (teleconferences and face-to-face). Participate in these meetings to dive&#xD;
    deeply into OpenUP issues by collaborating directly with other members of the community. Although everyone is welcome&#xD;
    to attend these meetings, it’s generally expected that participants will, at some point, take responsibility for some&#xD;
    OpenUP tasks.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
    The calendar and epf-dev newsgroup also announce the EPF Committer meetings. Currently, these are held quarterly in&#xD;
    both the North America and Europe. This is the highest level of participation, where committers and contributors make&#xD;
    critical decisions about EPF projects, including OpenUP. Everyone from the OpenUP community is welcome, and attendees&#xD;
    are expected to participate in discussions and take on responsibility for addressing aspects of the EPF.&#xD;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
