summaryrefslogtreecommitdiffstats
path: root/genome-docs/genome-docs-1.0.0/en-US/Contribute.xml
blob: 29751cc83ec49b13058a8d83366b3aed5fda8400 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?xml version='1.0'?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
]>

<chapter id="genome-Contribute">
	<title>Contribute</title>
	<para>We're excited that Genome has become a community project!  There are a few things to know regarding Genome community participation</para>
	<section id="genome-ContributeLicensing">
		<title>Licensing</title>
		<para>
            	    All Genome source and pre-built binaries are provided under the GNU General Public License, version 2
		</para>
	</section>

	<section id="genome-ContributeDesign">
		<title>Design Axiom</title>
		<para>The Genome framework really tries to delegate as much functionality as it 
	              can to tools that are invented to do a particular function.  That said,
	              any code contributed to glue tools together should be as minimal as possible
	              to get the job done.
	        </para>
	</section>
    
   <section id="genome-ContributeCommunity">
	<title>Community</title>
	<para>Now that you're ready to be an active community member, here are a few directions to get you started.</para>	
        <section id="genome-ContributeCommunityFriendly">
            <title>Please Be Friendly</title>
            <para>
                We strongly encourage everyone participating in the Genome community to be friendly 
                and courtious toward other community members. Of course, being courteous is not the 
                same as failing to constructively disagree with each other, but it does mean that we 
                should be respectful of each other when enumerating the 42 technical reasons that a 
                particular proposal may not be the best choice. There's never a reason to be antagonistic 
                or dismissive toward anyone who is sincerely trying to contribute to a discussion
            </para>
        </section>

        <section id="genome-ContributeCommunityDiscuss">
            <title>Community Communication</title>
            <para>
                The best way to participate in the community is to use the mailing list and/or the IRC channel.
		The mailing list is <ulink url="mailto:genome-list@redhat.com"><emphasis>genome-list@redhat.com</emphasis></ulink>
                and the IRC channel is <userinput>#genome</userinput> on <userinput>irc.freenode.net</userinput>.
            </para>
        </section>
    </section>

    <section id="genome-ContributeWorkWithCode">
	<title>Working With The Code</title>
	<para>If you're not familiar with the Git source code management tool, do yourself a favor and take time
	      to get over the learning curve.  It's bliss once you 'get it'
        </para>
        <section id="genome-ContributeCodeCheckout">
            <title>Checkout The Code</title>
            <para>
                Developer Checkout URI:
                <screen>
                    ssh://git.fedorahosted.org/git/genome
                </screen>
                    Anonymous Checkout URI:
                <screen>
                    git://git.fedorahosted.org/git/genome

                    or

                    http://git.fedorahosted.org/git/genome
                </screen>
            </para>
            <para>
                The Genome project code is seperated into several Git repositories.  The code repositories are granular 
                so that the repositories are small and easy to work with.  We have sepearted core tooling, core documentation, puppet configuration
                manifests, third party tool extensions, application code, and website into their respective Git repositories.  When you clone the
                Git repository from fedorahosted.org/git/genome, that is actually a supermodule, which references all the git repositories hosted on
		<ulink url="http://gitorious.org">gitorious.org</ulink>.

                If you do want to get use get all the Genome code at once, you can use the fedorahosted.org/git/genome URL.

                <screen>
                    # Clone the Genome supermodule
                    git clone git://git.fedorahosted.org/git/genome

                    # Move into the cloned supermodule
                    cd genome
                    
                    # Then initialize the submodules
                    git submodule init

                    # Then do the actual cloning of the remote submodules, if you already have them checked out, this will update the submodules locally
                    git submodule update
                </screen>
            </para>
            <para>
		If you want to work with a specific Git repository, you can review the <ulink url="http://gitorious.org/projects/genome">gitorious genome project</ulink>
                and then use the clone urls listed for each Git repository under the project.  For example, if I want to clone the Genome tools
                repository I would go to http://gitorious.org/projects/genome/repos/tools and the choose a clone URL.

                <screen>
                    # Clone the tools git repository
                    git clone git://gitorious.org/genome/tools
                </screen>
                
            </para>
        </section>

    </section>

</chapter>