<?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="https://wiki.eclipse.org/Developing_Tycho">Building tycho from sources</a></li>
<li><a href="https://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="https://wiki.eclipse.org/Category:Tycho">Tycho Wiki</a></li>
</ul>
</p>

<h3>Committers</h3>
<p>
<ul>
  <li>Igor Fedorenko, Takari (project lead)</li>
  <li>Jason Van Zyl, Takari (project lead)</li>
  <li>Jan Sievers, SAP</li>
  <li>Tobias Oberlies, SAP</li>
  <li>Martin Schreiber, Bachmann electronic GmbH</li>
</ul>
</p>
</div>


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