<!doctype html>
<html class="no-js" lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Distributing through the Apple Developer Program - Apache Infrastructure Website</title>
    <link rel="stylesheet" href="/css/foundation.css">
    <link rel="stylesheet" href="/css/app.css">
    <link rel="stylesheet" href="/css/font-awesome.min.css">
    <style type="text/css">
      .frontbox {
        border-radius: 8%;
        border: 1px solid #999; background: #444; color: #EEE; padding: 6px; margin: 3px;
      }
      .frontbox:hover {
        border-top: 4px solid #1583CC;
        margin-top: 0px;
        cursor: pointer;
      }
      .clickable {
	/* height was reduced by 40% */	
	height: 60%;
        width: 30%;
        position: absolute;     
        z-index: 1;
      }
    </style>
    <link rel="stylesheet"
          href="/highlight/default.min.css">
    <script src="/highlight/highlight.min.js"></script>  </head>
  <body style="background: #C1C1C1;">
    <!-- Menu bar --->
    <div class="row">
      <div class="top-bar" style="padding: 0; margin-bottom: 10px; background: #222; border: 1px solid #DDD; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px;">
        <div class="hide-for-small-only">
          <div class="top-bar-left">
            <ul class="menu" style="background: #222; padding: 0px; line-height: 1; border-bottom-left-radius: 4px;">
              <li class="notable-logo"><a href="/" target="_self" style="padding: 3px; padding-left: 7px;">
                <img style="vertical-align: middle;" src='/images/feather.png' width='18'/><span style="font-size: 1.30rem; color: #1583CC; text-transform: uppercase;">Apache Infrastructure</span></a>
              </li>
            </ul>
          </div>
          <div class="top-bar-right">
            <ul class="dropdown menu horizontal" data-dropdown-menu style="background: #222; font-size: 0.8rem; text-transform: uppercase; padding-top: 5px;">
              <li class="is-dropdown-submenu-parent">
                <a href="#" target="_self" style="padding-left: 7px;">About</a>
                <ul class="menu" style="background: #222; font-size: 0.7rem; text-transform: uppercase; padding-top: 5px; margin-top: 5px;">
                  <li><a href="/team.html">About the team</a></li>
		  <li><a href="https://blogs.apache.org/infra/" target="_blank">The Infra Blog</a></li>	
	          
                </ul>
              </li>
              <li><a href="/policies.html" target="_blank" style="padding-left: 5px;">Policies</a></li>
                           
              <li class="is-dropdown-submenu-parent">
                 <a href="#" target="_self" style="padding-left: 0px;">Services-Tools</a>
                <ul class="menu" style="background: #222; font-size: 0.7rem; text-transform: uppercase; padding-top: 5px; margin-top: 5px;">
		<li><a href="/services.html">Services and Tools</a></li>
                <li><a href="/machines.html" target="_blank" >Machines and Fingerprints</a></li>
                <li><a href="https://blocky.apache.org" target="_blank" >Blocky</a></li>
		<li><a href="https://app.datadoghq.com/account/login?next=%2Finfrastructure" target="_blank" >DataDog</a></li>
		<li><a href="https://whimsy.apache.org/roster/committer/" target="_blank" >Committer Search</a></li>
		
                </ul>
              </li>
              <li><a href="/doc.html" target="_blank" style="padding-left: 5px;">Documentation</a></li>
	       <li class="is-dropdown-submenu-parent">
                 <a href="#" target="_self" style="padding-left: 0px;">Contribute</a>
                <ul class="menu" style="background: #222; font-size: 0.7rem; text-transform: uppercase; padding-top: 5px; margin-top: 5px;">	
		   <li><a href="/infra-volunteer.html">Volunteer with Infra</a></li>
		   <li><a href="/how-to-mirror.html">Become an ASF download mirror</a></li>
			<li><a href="/hosting-external-agent.html">Host a Jenkins or Buildbot agent</a></li>
		 </ul>
	       </li>
	      
              <li><a href="/stats.html" target="_blank" style="padding-left: 5px;">Status</a></li>
              <li><a href="/contact.html" style="padding-left: 5px;"><i class="fa fa-comments" style="color: #FFF; font-size: 0.9rem;"></i>Contact us</a></li>
            </ul>
          </div>
        </div>
      </div>
    </div>    
    <!-- bread crumb -->
    <div class="row">
      <div class="large-12 columns" style="font-size: 0.8rem; background-color: rgba(255,255,255,0.75); margin-bottom: 5px;">
        <a href="/">Home</a>
        <i class="fa fa-angle-double-right"></i>
        <a href="/apple-dev-program.html">
Distributing through the Apple Developer Program        </a>
        (<a href="https://github.com/apache/infrastructure-website/tree/master/content/pages/apple-dev-program.md">edit</a>)
      </div>
    </div>
    
    
    <!-- contents -->
    <div class="row">
      <div class="large-12 columns">
        <div class="callout">
          <h2>
              Distributing through the Apple Developer Program
          </h2>
              <p>The <a href="https://developer.apple.com/programs/" target="_blank">Apple Developer Program</a> is, in Apple's words, a "code to customer" pipeline. Program members can build, test, and distribute apps for release on Apple operating systems.</p>
<p>Apple has granted a fee-waiver to participants in Apache Software Foundation projects. A condition of this waiver that the ASF distribute all involved applications for free.</p>
<p>To join the Apple Developer Program as part of the ASF, committers must:</p>
<ul>
<li>create an Apple ID using their @apache.org e-mail address</li>
<li>create an INFRA Jira ticket under the code-signing component to request that Infra add them to the list of ASF participants</li>
<li>read the latest Apple Developer Program Agreement</li>
<li>confirm, once Infra has added their name to the participants' list, that they have read, understood and agree to abide by the terms of the Apple Developer Program Agreement</li>
</ul>
<p>The file that tracks participants' confirmations, with additional information for updating it, is <a href="https://svn.apache.org/repos/private/committers/apple-app-store-code-signing/committer-apple-agreement-tracking.txt" target="_blank">here</a>.</p>

        </div>
      </div>
    </div>    
    <!-- footer -->
    <div class="row">
      <div class="large-12 medium-12 columns">
        <p style="font-style: italic; font-size: 0.8rem; text-align: center;">
          Copyright 2022, <a href="https://www.apache.org/">The Apache Software Foundation</a>, Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br/>
          Apache&reg; and the Apache feather logo are trademarks of The Apache Software Foundation...
        </p>
      </div>
    </div>    
    <script src="/js/vendor/jquery.js"></script>
    <script src="/js/vendor/what-input.js"></script>
    <script src="/js/vendor/foundation.js"></script>
    <script src="/js/app.js"></script>
    <script>hljs.initHighlightingOnLoad();</script>
  </body>
</html>
