<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8"/>
    <title>Podling Publicity/Media</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="">
    <meta name="keywords" content="">
    <meta name="generator" content="JBake">

    <!-- Le styles -->
    <link href="../css/incubator.css" rel="stylesheet">
    <link href="../css/bootstrap.css" rel="stylesheet">
    <link href="../css/asciidoctor.css" rel="stylesheet">
    <link href="../css/base.css" rel="stylesheet">
    <link href="../css/prettify.css" rel="stylesheet">

    <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
    <!--[if lt IE 9]>
      <script src="../js/html5shiv.min.js"></script>
    <![endif]-->

    <!-- Fav and touch icons -->
    <!--<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png">
    <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png">
    <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png">
    <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">-->
    <link rel="shortcut icon" href="https://www.apache.org/favicon.ico">
    <script src="https://www.apachecon.com/event-images/snippet.js"></script>
  </head>
  <body onload="prettyPrint()">
    <div id="wrap">
   


	<!-- Fixed navbar -->
    <div class="navbar navbar-default navbar-fixed-top" role="navigation">
      <div class="container">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="/"><i class="icon-home"></i>Apache Incubator</a>
        </div>
        <div class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Policies <b class="caret"></b></a>
              <ul class="dropdown-menu">
                <li><a href="/policy/incubation.html">Incubation Policy</a></li>
                <li><a href="/ip-clearance/">Intellectual Property Clearance</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Proposals <b class="caret"></b></a>
              <ul class="dropdown-menu">
                <li><a href="/guides/proposal.html">A Guide To Proposal Creation</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Podling Guides <b class="caret"></b></a>
              <ul class="dropdown-menu">
                <li><a href="/cookbook">Cookbook</a></li>
              
                <li><hr><a href="/guides/roles_and_responsibilities.html">Roles and Responsibilities</a></li>
                <li><a href="/guides/committer.html">Committers</a></li>
                <li><a href="/guides/ppmc.html">Podling Project Management Committee</a></li>
                <li><a href="/guides/community.html">Guide to Successful Community Building</a></li>

                <li><hr><a href="/guides/branding.html">Incubator Branding Guide</a></li>
                <li><a href="/guides/publicity.html">Podling Publicity/Media Guidelines</a></li>
                <li><a href="/guides/press-kit.html">Podling Press Kit</a></li>
              
                <li><hr><a href="/guides/transitioning_asf.html">Initial Code Import</a></li>
                <li><a href="/guides/names.html">Podling Name Search Guide</a></li>
                <li><a href="/guides/ip_clearance.html">Podling IP Clearance</a></li>

                <li><hr><a href="/guides/sites.html">Podling Websites</a></li>
                <li><a href="/guides/podling_sourcecontrol.html">Podling Source Control</a></li>

                <li><hr><a href="/guides/releasemanagement.html">Release Management</a></li>
                <li><a href="/guides/distribution.html">Release Distribution</a></li>
              
                <li><hr><a href="/guides/graduation.html">Guide to Successful Graduation</a></li>
                <li><a href="/guides/retirement.html">Guide to Retirement</a></li>
                <li><a href="/guides/transferring.html">Transferring Resources out of the Incubator</a></li>

                <li><hr><a href="/projects/#current">Current Podlings</a></li>
                <li><a href="/clutch/">Clutch Report</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">PMC Guides <b class="caret"></b></a>
              <ul class="dropdown-menu">     
                <li><a href="/guides/participation.html">Guide to Participation</a></li>
                <li><a href="/guides/lists.html">Incubator Mailing Lists Guide</a></li>

                <li><a href="/guides/chair.html">Incubator Chair Guide</a></li>  
                <li><a href="/guides/mentor.html">Mentors' Guide</a></li>

                <li><hr><a href="/guides/website.html">Updating the top-level Incubator website</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
              <ul class="dropdown-menu">
                <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                <li><a href="https://www.apache.org/dev/">Developer Documentation</a></li>
                <li><a href="https://www.apache.org/foundation/">Foundation</a></li>
                <li><a href="https://www.apache.org/legal/">Legal</a></li>
		<hr/>
                <li><a href="https://www.apache.org/licenses/">License</a></li>
		<li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a></li>
		<li><a href="https://www.apache.org/security/">Security</a></li>
                <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
                <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
		<li><a href="https://www.apache.org/events/current-event">Current Events</a></li>
              </ul>
            </li>
            <li><a href="/faq.html">FAQs</a></li>
          </ul>
        </div><!--/.nav-collapse -->
      </div>
    </div>
    <div class="container">
      <div class="row">
        <div class="col-md-4 vcenter"><a href="https://www.apache.org/"><img src="https://www.apache.org/img/asf_logo.png" alt="The Apache Software Foundation" border="0" style="margin-top: 2px" width="200"></a></div>
        <div class="col-md-4 vcenter"><a href="/"><img src="https://incubator.apache.org/images/incubator_feather_egg_logo_sm.png" alt="The Apache Software Foundation Incubator" border="0" style="margin-top: 2px" width="256"></a></div>
        <div class="col-md-4 vcenter">
	    <a href="https://www.apache.org/foundation/contributing.html"><img src="https://www.apache.org/images/SupportApache-small.png" height="64" width="64"></a>
	    &nbsp;&nbsp;&nbsp;&nbsp;
	    <a class="acevent" data-format="square" data-width="100" data-mode="light" data-event="random"></a>
	</div>
      </div>
    </div>
    <div class="top-container container">


<div class="page-header">
    <h1>Guide :: Podling Publicity/Media</h1>
</div>

<div class="article-body">

Estimated Reading Time: <span class="eta"></span>

<p><div id="toc" class="toc">
<div id="toctitle">Table of Contents</div>
<ul class="sectlevel1">
<li><a href="#1_prior_to_entering_the_apache_incubator">1) Prior to Entering the Apache Incubator</a></li>
<li><a href="#2_during_the_incubation_process">2) During the Incubation Process</a></li>
<li><a href="#3_preparing_to_graduate">3) Preparing to Graduate</a>
<ul class="sectlevel2">
<li><a href="#ppmc_responsibilities_for_announcements">PPMC Responsibilities For Announcements</a></li>
</ul>
</li>
</ul>
</div>
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>Requirements for all podlings relating to publicity in general.</p>
</div>
<div class="paragraph">
<p>Table of Contents
1) Prior to Entering the Apache Incubator
2) During the Incubation Process
3) Preparing to Graduate
    PPMC Responsibilities For Announcements</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="1_prior_to_entering_the_apache_incubator">1) Prior to Entering the Apache Incubator</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Under no circumstances may any individuals or organizations seek publicity related to the proposed podling during this process. Per the <a href="https://incubator.apache.org/guides/branding.html">Incubator Branding Guidelines</a>, you may not refer to a podling as "Apache <em>Podling Name</em>" until the Apache Incubator has officially accepted, its mailing lists are active, and podling participants have submtited code related to the podling into Apache repositories.</p>
</div>
<div class="paragraph">
<p>No party can make announcements or statements 1) about their intention to submit a named project to the Apache Incubator or 2) that a specific project has been submitted to the Apache Incubator.</p>
</div>
<div class="paragraph">
<p>You may not disseminate formal press releases or announcements of any kind on any newswire service during the entire Incubation process.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="2_during_the_incubation_process">2) During the Incubation Process</h2>
<div class="sectionbody">
<div class="paragraph">
<p>We encourage Apache podlings and their communities to actively build awareness of their project through emails, blog posts, social media, and other means of outreach. Educational opportunities include online meetings, videos, podcasts, articles, and interactions at conferences and related community events.</p>
</div>
<div class="paragraph">
<p>When speaking with members of the media and analyst community, you must refer to the podling as "Apache <em>Podling Name</em>" as per the Branding Guidelines, along with explaining the requisite podling disclaimer(s). Be prepared to answer "Who uses you?" As a podling’s known user base grows, PMCs (Project Management Committees) are welcome to promote their users on a "Powered By" page such as <a href="https://cwiki.apache.org/hadoop/PoweredBy">Apache Hadoop&#8217;s Powered By page</a>. Create and promote podling users to <a href="https://incubator.apache.org/guides/press-kit.html">display the "Powered By" logo</a>. Also, ensure that the podling maintains <a href="http://apache.org/press/media.html#interviews"><strong>vendor neutrality</strong></a>, particularly when referring to project users.</p>
</div>
<div class="paragraph">
<p>Podlings should prepare news announcements and hone their messaging <em>privately</em> within their PMCs (keeping the content confidential to the PMC, and not on dev@, user@ or any other public list or forum) to ensure that the public or press don’t scoop your story before it’s out or publish inaccurate information. Messaging may change, features may not be available as soon as intended, testimonials may need adjusting, and so on, and it’s best to minimize the chances of your story getting out with incorrect information, or for nobody to cover your news story because it was covered earlier and is therefore no longer considered newsworthy.</p>
</div>
<div class="paragraph">
<p>We strenuously recommend that podlings refrain from issuing announcements under embargo. Pre-announcing project features or release dates to members of the media is risky, as not all journalists or outlets honor confidentiality requests or adhere to embargo dates/requirements. Furthermore, many journalists are unable or unwilling to fulfill requests for retractions or corrections. Be aware, be careful.</p>
</div>
<div class="paragraph">
<p>As all Apache PMCs (and Incubator PPMCs) are responsible for the "care and feeding" of a project’s code, community, and communications on a day-to-day basis, we recommend that Podlings:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>Ensure your <a href="https://projects.apache.org/">project listing and DOAP (Description Of A Project) file</a> accurately reflects what the podling is about. Be succinct, particularly with the short description (note that the project may fall under one category): this helps those unfamiliar with your project find you. Use the longer project description as the official project boilerplate ("About Apache <em>Project Name</em>") and, for consistency, include it in official news announcements, media briefings, and other publications (the ASF Boilerplate is for Foundation-originating press releases and is <strong>not</strong> to be used in any project announcements).</p>
</li>
<li>
<p>Upload a high-resolution version of your project’s logo at <a href="http://www.apache.org/logos/">apache.org/logos/</a>.</p>
</li>
<li>
<p>Contact ASF Infrastructure to establish a <a href="https://blogs.apache.org/" class="bare">https://blogs.apache.org/</a><em>PROJECTNAME</em> project blog directory (and admin/publishing credentials).</p>
</li>
<li>
<p>Request a project interview on <a href="https://feathercast.apache.org/">Feathercast, the voice of the ASF</a>.</p>
</li>
<li>
<p>Gain additional exposure by posting newsworthy podling updates and milestones to <a href="http://apache.org/foundation/mailinglists.html#foundation-announce">announce(at)apache(dot)org</a>. The Apache team adds these to the Apache Weekly News Round-Ups, which it also sends to members of the media and analyst community.</p>
</li>
<li>
<p>Establish a Twitter (and/or other social media) account(s) with a handle that includes "Apache" or "ASF" with the project name and description (example at <a href="https://twitter.com/ApacheAccumulo">https://twitter.com/ApacheAccumulo</a>). Share information often, and point to your podling Website and email list archives where possible.</p>
</li>
<li>
<p>Participate in Media &amp; Analyst Training (held during ApacheCon; complimentary for Apache Committers and Members).</p>
</li>
<li>
<p>Comply with guidelines for "founding" individuals, organizations, and communities of Apache podlings as applicable (details below).</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Podling cannot disseminate formal press releases or announcements of any kind on any newswire service during the Incubation process. Furthermore, cannot encourage, allow, or participate in any announcement by a third party on behalf of a podling undergoing development in the Apache Incubator. However, interested parties may issue supporting announcements with pointers to official podling-originating news, providing the announcement includes a link to the corresponding mailing list(s) and/or blog post.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="3_preparing_to_graduate">3) Preparing to Graduate</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Podlings wishing to issue a press release announcing their graduation as an Apache Top-Level Project (TLP) must follow ASF Marketing &amp; Publicity (ASF M&amp;P) <a href="https://docs.google.com/document/d/1y3fZYn92LlnNadYxUsRiJEMwz0urKxnotBtDn0Cq_G0/edit">guidelines</a>.</p>
</div>
<div class="paragraph">
<p>Podling Project Management Committees (PPMCs) are responsible for writing the first draft of a formal ASF press release and sharing it with ASF M&amp;P for approval. A press release is a great opportunity to solicit quotes/testimonials from the Podling’s community to demonstrate the project’s robustness and breadth of deployment. TLP announcements may include 1-2 quotes (including, but not limited to, VP of the project/PMC chair and community endorsements). A recent example of a TLP press release is: <a href="https://news.apache.org/foundation/entry/the-apache-software-foundation-announces-new-top-level-project-apache-seatunnel">The Apache Software Foundation Announces New Top Level Project Apache SeaTunnel™</a>.</p>
</div>
<div class="paragraph">
<p>Organizations supporting/using the Podling are welcome to issue their own, standalone "hurrah, Apache Podling Name!" press release (or blog post) to support the Podling’s graduation after the ASF has issued its announcement. All third parties need to coordinate messaging and timing with both the Podling PMC and ASF M&amp;P. Third-party releases must not use the Apache boilerplate.</p>
</div>
<div class="sect2">
<h3 id="ppmc_responsibilities_for_announcements">PPMC Responsibilities For Announcements</h3>
<div class="ulist">
<ul>
<li>
<p>Determine the primary point-of-contact during the drafting/editing process.</p>
</li>
<li>
<p>Determine whether to include supporting testimonials from the community (and solicit them).</p>
</li>
<li>
<p>Draft the announcement by following these steps: <a href="https://docs.google.com/document/d/1y3fZYn92LlnNadYxUsRiJEMwz0urKxnotBtDn0Cq_G0/edit">TLP Press Release &amp; Distro Process + Guidelines</a></p>
</li>
<li>
<p>Send your complete draft to press(at)apache(dot)org for review and indicate if/when your project was approved as a TLP by the ASF Board. The ASF Marketing &amp; Publicity team will work with you to edit, finalize, and distribute your release. Once final, ASF M&amp;P will post it on a newswire, the ASF blog, and ASF social media channels.</p>
</li>
<li>
<p>Coordinate any promotion timing closely with M&amp;P, including announcing the project’s graduation on any mailing lists.</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Note that some organizations require legal clearance to participate in any media activities, and may require several weeks to obtain sign-off on proposed participation in the form of testimonials or being listed as a corporate user.</p>
</div>
<div class="paragraph">
<p>Before announcing anything across media/analyst/news channels, ensure to remove references to "incubating/incubation" on podlingname.apache.org and related properties to ensure that pointers are active and accurate.</p>
</div>
<div class="paragraph">
<p>Podlings should contact ASF Marketing &amp; Publicity at press(at)apache(dot)org for assistance.</p>
</div>
</div>
</div>
</div></p>

</div>

		</div>
		<div id="push"></div>
    </div>

    <div id="footer">
      <div class="container">
          <p class="muted credit">&copy; 2024 The Apache Software Foundation | Licensed under the Apache License, Version 2.0.<br/>
          Apache Incubator, Apache, the Apache feather logo, and the Apache Incubator project logo are trademarks or registered trademarks of The Apache Software Foundation.</p>
      </div>
    </div>
    <script src="../js/jquery-1.11.1.min.js"></script>
    <script src="../js/bootstrap.min.js"></script>
    <script src="../js/prettify.js"></script>
    <script src="../js/readingTime.js"></script>
    <script src="../js/incubator.js"></script>
  </body>
</html>
