blob: 4ab0606709cf366561c56cec908cea863fb15198 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
<link rel="alternate" type="application/atom+xml" title="Apache Mesos Blog" href="/blog/feed.xml">
<link href="../../assets/css/main.css" media="screen" rel="stylesheet" type="text/css" />
<!-- Google Analytics Magic -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-20226872-1']);
_gaq.push(['_setDomainName', 'apache.org']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<!-- magical breadcrumbs -->
<div class="topnav">
<ul class="breadcrumb">
<li>
<div class="dropdown">
<a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
<li><a href="http://www.apache.org">Apache Homepage</a></li>
<li><a href="http://www.apache.org/licenses/">License</a></li>
<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a href="http://www.apache.org/security/">Security</a></li>
</ul>
</div>
</li>
<li><a href="http://mesos.apache.org">Apache Mesos</a></li>
<li><a href="/documentation
/">Documentation
</a></li>
</ul><!-- /breadcrumb -->
</div>
<!-- navbar excitement -->
<div class="navbar navbar-static-top" role="navigation">
<div class="navbar-inner">
<div class="container">
<a href="/" class="logo"><img src="/assets/img/mesos_logo.png" alt="Apache Mesos logo" /></a>
<div class="nav-collapse">
<ul class="nav nav-pills navbar-right">
<li><a href="/gettingstarted/">Getting Started</a></li>
<li><a href="/documentation/latest/">Documentation</a></li>
<li><a href="/downloads/">Downloads</a></li>
<li><a href="/community/">Community</a></li>
</ul>
</div>
</div>
</div>
</div><!-- /.navbar -->
<div class="container">
<div class="row-fluid">
<div class="col-md-4">
<h4>If you're new to Mesos</h4>
<p>See the <a href="/gettingstarted/">getting started</a> page for more information about downloading, building, and deploying Mesos.</p>
<h4>If you'd like to get involved or you're looking for support</h4>
<p>See our <a href="/community/">community</a> page for more details.</p>
</div>
<div class="col-md-8">
<h1>Engineering Principles and Practices</h1>
<p>This document is an attempt to capture a shared set of values for the project.
Many companies rely on Mesos as a foundational layer of their software
infrastructure and it is imperative that we ship <strong>robust, high quality</strong>
code. We aim to foster a culture where we can trust and rely upon the work of
the community.</p>
<p>The following are some of the aspirational principles and practices that
guide us:</p>
<ol>
<li>We value <strong>craftsmanship</strong>: code should be easy to read and understand,
should be written with high attention to detail, and should be consistent
in its style. Code is written for humans to read and maintain!</li>
<li>We value <strong>resiliency</strong>: our system must be highly-available, stable, and
backwards-compatible. We must consider the implications of failures.</li>
<li>We value <strong>accountability</strong>: we own and support our software, and are
accountable for improving it, fixing issues, and learning from our mistakes.</li>
<li>We value <strong>design and code review</strong>: review helps us maintain a high
quality system architecture and high quality code, it also helps us mentor
new contributors, learn to collaborate more effectively, and reduce the
amount of mistakes.</li>
<li>We value <strong>automated testing</strong>: automated testing allows us to iterate and
refactor in our large codebase, while verifying correctness and preventing
regression.</li>
<li>We value <strong>benchmarking</strong>: benchmarking allows us to identify the right
locations to target performance improvements. It also allows us to iterate
and refactor in our large codebase, while observing the performance
implications.</li>
</ol>
</div>
</div>
<hr>
<!-- footer -->
<div class="footer">
<p>&copy; 2012-2015 <a href="http://apache.org">The Apache Software Foundation</a>.
Apache Mesos, the Apache feather logo, and the Apache Mesos project logo are trademarks of The Apache Software Foundation.<p>
</div><!-- /footer -->
</div> <!-- /container -->
<!-- JS -->
<script src="//code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"></script>
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js" type="text/javascript"></script>
</body>
</html>