<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
/*******************************************************************************
 * Copyright (c) 2009 
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    
 *******************************************************************************/

	$pageTitle 		= "Tycho - Getting Involved";

	$html  = <<<EOHTML
<div id="midcolumn">
<h3>$pageTitle</h3>
<p>
<ul>
<li>Project sources are at git.eclipse.org: <a href="http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/">tycho</a>, <a href="http://git.eclipse.org/c/tycho/org.eclipse.tycho.extras.git/">tycho.extras</a> and mirrored at github: <a href="http://github.com/eclipse/tycho/">tycho</a>, <a href="http://github.com/eclipse/tycho.extras/">tycho.extras</a>.
<li><a href="http://wiki.eclipse.org/Developing_Tycho">Building tycho from sources</a></li>
<li><a href="http://wiki.eclipse.org/Tycho/Contributor_Guide">Contributor guide</a></li>
<li><a href="https://dev.eclipse.org/mailman/listinfo/tycho-dev">tycho-dev@eclipse.org mailing list</a></li>
<li><a href="http://wiki.eclipse.org/Category:Tycho">Tycho Wiki</a></li>
</ul>
</p>

<h3>Committers</h3>
<p>
<ul>
  <li>Igor Fedorenko, Sonatype (project lead)</li>
  <li>Jason Van Zyl, Sonatype (project lead)</li>
  <li>Jan Sievers, SAP</li>
  <li>Tobias Oberlies, SAP</li>
</ul>
</p>
</div>


EOHTML;
	# Generate the web page
	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>