<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <meta name="description" content="Home page of The Apache Software Foundation">
  <link rel="apple-touch-icon" sizes="57x57" href="/favicons/apple-touch-icon-57x57.png">
  <link rel="apple-touch-icon" sizes="60x60" href="/favicons/apple-touch-icon-60x60.png">
  <link rel="apple-touch-icon" sizes="72x72" href="/favicons/apple-touch-icon-72x72.png">
  <link rel="apple-touch-icon" sizes="76x76" href="/favicons/apple-touch-icon-76x76.png">
  <link rel="apple-touch-icon" sizes="114x114" href="/favicons/apple-touch-icon-114x114.png">
  <link rel="apple-touch-icon" sizes="120x120" href="/favicons/apple-touch-icon-120x120.png">
  <link rel="apple-touch-icon" sizes="144x144" href="/favicons/apple-touch-icon-144x144.png">
  <link rel="apple-touch-icon" sizes="152x152" href="/favicons/apple-touch-icon-152x152.png">
  <link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-touch-icon-180x180.png">
  <link rel="icon" type="image/png" href="/favicons/favicon-32x32.png" sizes="32x32">
  <link rel="icon" type="image/png" href="/favicons/favicon-194x194.png" sizes="194x194">
  <link rel="icon" type="image/png" href="/favicons/favicon-96x96.png" sizes="96x96">
  <link rel="icon" type="image/png" href="/favicons/android-chrome-192x192.png" sizes="192x192">
  <link rel="icon" type="image/png" href="/favicons/favicon-16x16.png" sizes="16x16">
  <link rel="manifest" href="/favicons/manifest.json">
  <link rel="shortcut icon" href="/favicons/favicon.ico">
  <meta name="msapplication-TileColor" content="#603cba">
  <meta name="msapplication-TileImage" content="/favicons/mstile-144x144.png">
  <meta name="msapplication-config" content="/favicons/browserconfig.xml">
  <meta name="theme-color" content="#282661">

  <title>New Project and Software Product Naming Process</title>
  <link href="/css/Montserrat-300-600.css" rel="stylesheet">
  <link href="/css/min.bootstrap.css" rel="stylesheet">
  <link href="/css/styles.css" rel="stylesheet">
  <style>
.headerlink {
  visibility: hidden;
}
dt:hover > .headerlink, p:hover > .headerlink, td:hover > .headerlink, h1:hover > .headerlink, h2:hover > .headerlink, h3:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, h6:hover > .headerlink {
  visibility: visible
}  </style>

<!-- https://www.apache.org/licenses/LICENSE-2.0 -->
</head>

<body >
  <!-- Navigation -->
  <header>
	<div id="skiptocontent">
		<a href="#maincontent">Skip to Main Content</a>
	</div>
    <nav class="navbar navbar-inverse navbar-fixed-top mainmenu">
      <div class="container">
        <div class="navbar-header">
          <button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#mainnav-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
        </div>
        <div class="collapse navbar-collapse" id="mainnav-collapse">
          <ul class="nav navbar-nav navbar-justified">
            <li><a href="/index.html#news">News</a></li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">About&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="/foundation">Overview</a></li>
                <li><a href="/foundation/how-it-works.html">Process</a></li>
                <li><a href="/foundation/governance/">Governance</a></li>
                <li><a href="/theapacheway/index.html">The Apache Way</a></li>
                <li><a href="/foundation/governance/members.html">Membership</a></li>
                <li><a href="https://community.apache.org/">Community</a></li>
                <li><a href="https://diversity.apache.org/">Diversity & Inclusion</a></li>
                <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
                <li><a href="/foundation/glossary.html">Glossary</a></li>
				  <li><a href="/apache-name">About Our Name</a></li>
                <li><a href="/foundation/preFAQ.html">FAQ</a></li>
                <li><a href="/foundation/contributing.html">Support Apache</a></li>
                <li><a href="/press/">Media/Analysts</a></li>
                <li><a href="/foundation/contact.html">Contact</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Make a Donation&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="/foundation/contributing.html">Donate Now</a></li>
                <li><a href="https://donate.apache.org/">&nbsp;&nbsp;Via Credit Card</a></li>
                <li><a href="https://donate.apache.org/">&nbsp;&nbsp;Via ACH</a></li>
                <li><a href="https://donate.apache.org/">&nbsp;&nbsp;Via PayPal</a></li>
                <li><a href="https://www.redbubble.com/people/comdev">Buy Swag</a></li>
                <li><a href="https://smile.amazon.com/gp/chpf/homepage/ref=smi_se_scyc_srch_stsr?q=apache+software+foundation&orig=%2F">Shop smile.amazon.com</a></li>
                <li><a href="/foundation/sponsorship.html">ASF Sponsorship</a></li>
                <li><a href="/foundation/thanks#targeted-sponsors">Targeted Sponsorship</a></li>
                <li><a href="/foundation/contributing.html#CorporateGiving">Corporate Giving</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdopwn-toggle" data-toggle="dropdown">The Apache Way&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="/theapacheway/index.html">The Apache Way</a></li>
                <li><a href="https://s.apache.org/GhnI">Sustainable Open Source</a></li>
                <li><a href="/foundation/how-it-works.html">How it Works</a></li>
                <li><a href="/foundation/how-it-works.html#meritocracy">Merit</a></li>
                <li><a href="https://blogs.apache.org/foundation/category/SuccessAtApache">Success at Apache</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdopwn-toggle" data-toggle="dropdown">Join Us&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="https://community.apache.org/gettingStarted/101.html">Getting Started</a></li>
                <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
                <li><a href="https://www.apachecon.com/">ApacheCon</a></li>
                <li><a href="http://community.apache.org/calendars/">Community Events</a></li>
                <li><a href="/travel/">Travel Assistance</a></li>
                <li><a href="https://community.apache.org/gsoc.html">Summer of Code</a></li>
                <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
                <li><a href="https://community.apache.org/contributors/etiquette">Etiquette</a></li>
                <li class="dropdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Projects&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="/index.html#projects-list">Project List</a></li>
                    <li><a href="/foundation/how-it-works.html#management">How they work</a></li>
                    <li><a href="https://community.apache.org/projectIndependence.html">Independence</a></li>
                    <li><a href="https://projects.apache.org/committees.html?date">Date Founded</a></li>
                    <li><a href="https://projects.apache.org/projects.html?name">Names</a></li>
                    <li><a href="https://projects.apache.org/projects.html?category">Categories</a></li>
                    <li><a href="https://projects.apache.org/projects.html?language">Languages</a></li>
                    <li><a href="https://projects.apache.org/statistics.html">Statistics</a></li>
                    <li><a href="https://incubator.apache.org/">Apache Incubator</a></li>
                    <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
                    <li><a href="/foundation/marks/">Brand Management</a></li>
                  </ul>
                </li>
                <li class="dropdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">People&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="/foundation/how-it-works.html#roles">Roles</a></li>
                    <li><a href="/foundation/members.html">Members</a></li>
                    <li><a href="https://community.apache.org/contributors/">Committers</a></li>
                    <li><a href="/foundation/#who-runs-the-asf">Board of Directors</a></li>
                    <li><a href="/foundation/#who-runs-the-asf">Officers  &amp; Project VPs</a></li>
                    <li><a href="https://community.zones.apache.org/map.html">Location Map</a></li>
                    <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
                    <li><a href="https://people.apache.org/">Committer Directory</a></li>
                  </ul>
                </li>
                <li class="dropdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Community&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="https://community.apache.org/about/">Community Development</a></li>
                    <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
                    <li><a href="https://community.apache.org/">Get Involved</a></li>
                    <li><a href="https://community.apache.org/mentoringprogramme.html">Mentoring</a></li>
                    <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
                    <li><a href="https://community.apache.org/calendars/">Community Events</a></li>
                    <li><a href="https://community.apache.org/newbiefaq.html">FAQ</a></li>
                    <li><a href="https://community.apache.org/lists.html">Mailing Lists</a></li>
                  </ul>
                </li>
                <li class="dropdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Infrastructure&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="/dev/infrastructure.html">Infra overview</a></li>
                    <li><a href="https://infra.apache.org/" target="_blank">Policies and Tools</a></li>
                    <li><a href="https://cwiki.apache.org/confluence/display/INFRA/Index" target="_blank">CWiki</a></li>
                  </ul>
                </li>
                <li class="dropdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">License&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="/licenses/LICENSE-2.0">Apache License 2.0</a></li>
                    <li><a href="/foundation/license-faq.html">Licensing FAQ</a></li>
                    <li><a href="/licenses/contributor-agreements.html">Contributor License Agreements</a></li>
                    <li><a href="/licenses/contributor-agreements.html#grants">Software Grants</a></li>
                    <li><a href="/foundation/marks/list/">Trademarks</a></li>
					<li><a href="/licenses/exports/">Exports</a></li>
                  </ul>
                </li>
                <li class="dropdown dropdown-submenu visible-xs">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Sponsors&nbsp;<span class="caret"></span></a>
                  <ul class="dropdown-menu" role="menu">
                    <li><a href="/foundation/sponsorship.html">Sponsor the ASF</a></li>
                    <li><a href="/foundation/thanks">Sponsor Thanks</a></li>
                    <li><a href="/foundation/contributing.html#CorporateGiving">Corporate Giving</a></li>
                    <li><a href="/foundation/contributing.html">Individual Donations</a></li>
                    <li><a href="https://www.redbubble.com/people/comdev/">Buy Stuff</a></li>
                  </ul>
                </li>
              </ul>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Downloads&nbsp;<span class="caret"></span></a>
              <ul class="dropdown-menu" role="menu">
                <li><a href="https://downloads.apache.org/">Distribution</a></li>
                <li><a href="https://projects.apache.org/releases.html">Releases</a></li>
                <li><a href="https://status.apache.org/">Infrastructure Status</a></li>
                <li><a href="/uptime/">Infrastructure Statistics</a></li>
              </ul>
            </li>
            <li class="dropdown hidden-xs">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"><span class="glyphicon glyphicon-search"
                  aria-hidden="true"></span><span class="sr-only">Search</span></a>
              <ul class="dropdown-menu search-form" role="search">
                <li>
                  <div class="input-group" style="width: 100%; padding: 0 5px;">
                    <script async src="https://cse.google.com/cse.js?cx=cb41d2753d228d8b7"></script>
                    <div class="gcse-search"></div>
                  </div>
                </li>
              </ul>
            </li>
          </ul>
        </div>
      </div>
    </nav>
  </header>
  <!-- / Navigation -->
  <header id="main-header" class="container">
    <div class="sideImg">
          <a class="visible-home" href="https://events.apache.org/x/current-event.html">
            <img class="img-responsive" style="width: 125px;" src="/events/current-event-125x125.png" alt="Apache Events"/>
<!-- STALE: <img class="img-responsive" style="width: 125px;" src="https://www.apachecon.com/event-images/default-square-light.png" alt="ApacheCon 2021 Coming Soon!" /> -->
          </a>
      <a class="hidden-home" href="/"><img class="img-responsive" src="/img/asf-estd-1999-logo.jpg" alt="The Apache Software Foundation"></a>
    </div>
    <div class="main">
      <img class="img-responsive center-block visible-home" src="/img/asf-estd-1999-logo.jpg" alt="Apache 20th Anniversary Logo">
      <h2 class="text-center">Community-led development "The&nbsp;Apache&nbsp;Way"</h2>
      <ul class="nav navbar-nav navbar-justified">
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Projects&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="/index.html#projects-list">Project List</a></li>
            <li><a href="/foundation/how-it-works.html#management">How they work</a></li>
            <li><a href="https://community.apache.org/projectIndependence.html">Independence</a></li>
            <li><a href="https://projects.apache.org/committees.html?date">Date Founded</a></li>
            <li><a href="https://projects.apache.org/projects.html?name">Names</a></li>
            <li><a href="https://projects.apache.org/projects.html?category">Categories</a></li>
            <li><a href="https://projects.apache.org/projects.html?language">Languages</a></li>
            <li><a href="https://projects.apache.org/statistics.html">Statistics</a></li>
            <li><a href="https://incubator.apache.org/">Apache Incubator</a></li>
            <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
            <li><a href="/foundation/marks/">Brand Management</a></li>
            <li><a href="/foundation/glossary.html">Glossary of Terms</a></li>
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">People&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="/foundation/how-it-works.html#roles">Roles</a></li>
            <li><a href="/foundation/members.html">Members</a></li>
            <li><a href="https://community.apache.org/contributors/">Committers</a></li>
            <li><a href="/foundation/#who-runs-the-asf">Board of Directors</a></li>
            <li><a href="/foundation/#who-runs-the-asf">Officers &amp; Project VPs</a></li>
            <li><a href="https://diversity.apache.org/">Diversity & Inclusion</a></li>
            <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
            <li><a href="https://people.apache.org/">Committer Directory</a></li>
            <li><a href="https://community.zones.apache.org/map.html">Heat Map</a></li>
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Community&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="https://community.apache.org/about/">Community Development</a></li>
            <li><a href="/foundation/policies/conduct">Code of Conduct</a></li>
            <li><a href="https://community.apache.org/">Get Involved</a></li>
            <li><a href="https://community.apache.org/mentoringprogramme.html">Mentoring</a></li>
            <li><a href="https://helpwanted.apache.org/">Help Wanted</a></li>
            <li><a href="https://community.apache.org/calendars/">Community Events</a></li>
            <li><a href="https://community.apache.org/newbiefaq.html">FAQ</a></li>
            <li><a href="https://community.apache.org/lists.html">Mailing Lists</a></li>
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Infrastructure&nbsp;<span class="caret"></span></a>
          <ul class="dropdown-menu" role="menu">
              <li><a href="/dev/infrastructure.html">Infra overview</a></li>
              <li><a href="https://infra.apache.org/" target="_blank">Policies and Tools</a></li>
              <li><a href="https://cwiki.apache.org/confluence/display/INFRA/Index" target="_blank">CWiki</a></li>
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">License&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="/licenses/LICENSE-2.0">Apache License 2.0</a></li>
            <li><a href="/foundation/license-faq.html">Licensing FAQ</a></li>
            <li><a href="/licenses/contributor-agreements.html">Contributor License Agreements</a></li>
            <li><a href="/licenses/contributor-agreements.html#grants">Software Grants</a></li>
            <li><a href="/foundation/marks/list/">Trademarks</a></li>
			<li><a href="/licenses/exports/">Exports</a></li>
          </ul>
        </li>
        <li class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">Sponsors&nbsp;<span class="caret hidden-sm"></span></a>
          <ul class="dropdown-menu" role="menu">
            <li><a href="/foundation/sponsorship.html">Sponsor the ASF</a></li>
            <li><a href="/foundation/thanks">Sponsor Thanks</a></li>
            <li><a href="/foundation/contributing.html#CorporateGiving">Corporate Giving</a></li>
            <li><a href="/foundation/contributing.html">Individual Donations</a></li>
            <li><a href="https://www.redbubble.com/people/comdev/">Buy Stuff</a></li>
          </ul>
        </li>
      </ul>
    </div>
    <div class="sideImg">
      <a href="/foundation/contributing.html"><img class="img-responsive" src="/img/support-apache.jpg" alt="Apache Support Logo" /></a>
    </div>
  </header>
  <main id="maincontent">
<div class="container">    <h1 id="new-project-and-software-product-naming-process">New Project and Software Product Naming Process<a class="headerlink" href="#new-project-and-software-product-naming-process" title="Permalink">&para;</a></h1>
<p>All Apache Podlings, and any Apache&reg; top level project (TLP) must use this process when coming up with a new project name,
or when coming up with a name for a new subproject or downloadable software product.</p>
<p><strong>Contents</strong></p>
<div class=".pull-right" style="float:right; border-style:dotted; width:200px; padding:5px; margin:5px">
<p>See Also: <a href="https://www.apache.org/foundation/marks/resources">Trademark Resources Site Map</a> and <a href="https://incubator.apache.org/guides/names.html">Podling Name Search Guide</a>.</p>
</div>
<div id="toc"><ul><li><a class="toc-href" href="#rationale" title="Why do we need a project/product naming process?">Why do we need a project/product naming process?</a></li><li><a class="toc-href" href="#who-needs-this-process" title="Who needs this process?">Who needs this process?</a></li><li><a class="toc-href" href="#startsearch" title="When do I need to start this process?">When do I need to start this process?</a></li><li><a class="toc-href" href="#namesearch" title="How To: Perform a Suitable Name Search">How To: Perform a Suitable Name Search</a><ul><li><a class="toc-href" href="#create-an-name-search-issue" title="Create an Name Search issue">Create an Name Search issue</a></li><li><a class="toc-href" href="#sourcesearch" title="Research common software sources">Research common software sources</a></li><li><a class="toc-href" href="#regsearch" title="Research Registered Trademarks">Research Registered Trademarks</a></li><li><a class="toc-href" href="#searchresults" title="Result interpretation &amp; Approval">Result interpretation &amp; Approval</a></li><li><a class="toc-href" href="#podlings" title="Transferring Podling Trademarks To The ASF">Transferring Podling Trademarks To The ASF</a></li><li><a class="toc-href" href="#incubation" title="Legal Trademark Work During Incubation">Legal Trademark Work During Incubation</a></li><li><a class="toc-href" graduate'="" href="#failed" t="" title="When A Podling Doesn">When A Podling Doesn't Graduate</a></li></ul></li></ul></div>
<h2 id="rationale">Why do we need a project/product naming process?<a class="headerlink" href="#rationale" title="Permalink">&para;</a></h2>
<p>When it comes to trademarks conflicts it might be necessary to show other parties that ASF trademarks
were chosen in good faith and with appropriate research. As a non-profit, we have no
business infringing on pre-existing trademarks for the software products or services
from other organizations.  Nor would you want to start with a new software name
that's likely to be confused with some other organization's software products.</p>
<p>For pre-existing projects being submitted to Apache, we still need to follow
this process.  This ensures both that we fully understand any past or potential
name conflicts around your project name, as well as to ensure that all
trademark rights are properly transferred to the ASF in
a timely manner during incubation. The ASF must own all trademark
rights in a podling's branding before they may graduate.</p>
<h2 id="who-needs-this-process">Who needs this process?<a class="headerlink" href="#who-needs-this-process" title="Permalink">&para;</a></h2>
<ul>
<li>Every project which wants to name or rename a new product</li>
<li>Every project which wants to rename the project itself</li>
<li>Every Incubator Podling which wants to graduate from the Incubator and become either a top level project or a sub project</li>
<li>Every project which is created without going through the Incubator</li>
</ul>
<h2 id="startsearch">When do I need to start this process?<a class="headerlink" href="#startsearch" title="Permalink">&para;</a></h2>
<p>You need to start this process early enough to complete your search and to give
the trademarks committee time to review.  Preferably start this process well before:</p>
<ul>
<li>your project graduates from the Apache Incubator</li>
<li>you release any software products with the name</li>
<li>you publish any product / project websites (exception: Incubator pages)</li>
</ul>
<p>Please note: renaming projects (later, if a change is required) requires a lot of resources from our Infrastructure team. It is recommended to
run the process as early as possible. Incubator podlings could run it after they have been accepted, but before
they start to request resources. This will cause a few days delay, but might save a lot of trouble later.</p>
<h2 id="namesearch">How To: Perform a Suitable Name Search<a class="headerlink" href="#namesearch" title="Permalink">&para;</a></h2>
<p>After you have carefully read <a href="http://apache.org/foundation/marks/pmcs.html#naming">Project Naming And Descriptions</a> and <a href="http://apache.org/foundation/marks/">the trademarks main page</a> and some <a href="http://apache.org/dev/project-names.html">common-sense hints for choosing names</a>,
make sure your PMC (Podlings: PPMC) has decided on a name. Usually this is done by a public vote.</p>
<p>When your PMC has decided on a name, a "suitable name search" must be done.</p>
<h3 id="create-an-name-search-issue">Create an Name Search issue<a class="headerlink" href="#create-an-name-search-issue" title="Permalink">&para;</a></h3>
<p>First, create a an issue in <a href="https://issues.apache.org/jira/browse/PODLINGNAMESEARCH">Suitable Names Search JIRA space</a>. Good examples are:</p>
<ul>
<li><a href="https://issues.apache.org/jira/browse/PODLINGNAMESEARCH-26">Apache Open Climate Workbench</a></li>
<li><a href="https://issues.apache.org/jira/browse/PODLINGNAMESEARCH-27">Apache Onami</a></li>
</ul>
<p>Describe the origin of your name and please include a description of the product's functionality in the
issue. It's important to understand what kind of functionality the product offers if there is a question with
another company's similarly named software product.  In particular, do not use fluff or marketing-speak here:
this should be a factual description of the functionality your software provides to users.</p>
<p>If you are a podling where the existing name is coming along, please note if there
are any registered trademark(s) for the podling.  Including a list from the donor of
the marks, along with a clear statement of intent to donate, is very helpful in evaluating the results.</p>
<h3 id="sourcesearch">Research common software sources<a class="headerlink" href="#sourcesearch" title="Permalink">&para;</a></h3>
<p>Please consider to research at least the following sources:</p>
<ul>
<li>GitHub</li>
<li>SourceForge.net</li>
<li>Google Code</li>
<li>Ohloh.net</li>
<li>Google, Bing, Yahoo search engines</li>
</ul>
<p>Start by searching for just your chosen name, for example "Foo".  If that finds a lot of hits
that are clearly unrelated, try searching for "Foo software".  This is the first
step to narrowing to relevant results, since trademarks generally only apply
within a specific class of goods - in our case, the software products we
offer for download.</p>
<p>Note all results in the according JIRA issues. When done, inform trademarks @ apache.org that you have
finished your research. Please wait until the trademarks team has responded, as we
rely on Apache volunteers to organize this work.</p>
<p>Please <strong>don't include any interpretation</strong> in the JIRA issue, just try to note all facts you can find.
If you have specific questions on what the results mean, please ask trademarks@ and
include your project/podling's private mailing list (i.e. not your public dev@ list).</p>
<h3 id="regsearch">Research Registered Trademarks<a class="headerlink" href="#regsearch" title="Permalink">&para;</a></h3>
<p>Perform the same search as above, but for registered trademarks.
A thorough review of registered trademarks in countries your project
is active in is important, because if a third party has already
registered a similar name for a similar kind of software project,
it is unlikely we'll be able to use the name.</p>
<ul>
<li><a href="http://www.uspto.gov/trademarks-application-process/search-trademark-database">USPTO</a> - required</li>
<li><a href="http://oami.europa.eu">EU Organization for Harmonization</a> - recommended</li>
<li><a href="http://www.ic.gc.ca/app/opic-cipo/trdmrks/srch/tmSrch.do?lang=eng">Canada Trademark Search</a> - optional</li>
<li><a href="http://www.chinatrademarkoffice.com/">China Trademark Search</a> - optional</li>
<li><a href="http://ipindiaonline.gov.in/tmrpublicsearch/frmmain.aspx">India Trademark Search</a> - optional</li>
<li><a href="http://www.wipo.int/branddb/en/">WIPO Global Brand Search</a> - optional</li>
</ul>
<p>Again, it is important to store the factual results of your name
search, but do <strong>not</strong> offer comments or interpret the results
of the search.  Review of the results happens afterwards with
trademarks@.</p>
<p><strong>USPTO Search Tips</strong></p>
<p>For common words, you will end up with a long list of mostly irrelevant
registered marks, so you will want to narrow your search to only relevant
kinds of marks.  Try this search criteria to narrow the results:</p>
<ol>
<li>Open the <a href="http://www.uspto.gov/trademarks-application-process/search-trademark-database"><strong>USPTO</strong> website</a></li>
<li>Click to go to directly to the <strong>Trademark Electronic Search System (TESS)</strong> search system</li>
<li>Click to do the <strong>Word and/or Design Mark Search (Free Form)</strong></li>
<li>Enter your product name with the following search string and submit:</li>
</ol>
<p><code>(ProductName)[BI,TI] and (software or computer)[GS] and (live)[LD]</code></p>
<p>If this produces zero results, that's a good start: mark that in the Name
Search issue!  If this produces a handful of results, you will want to
click through to review the Goods &amp; Services description of each one
to see if they offer similar functionality to your product.
Copy the blue TDSR link (<em>not</em> the URL from the search, but the TDSR
link within each page result) into your Name Search issue.</p>
<p>If the above search produces a lot of results, you may want to experiment
with the USPTO's search query criteria, or review only results where the
marks are directly related to your name.</p>
<p><strong>USPTO Search Criteria</strong></p>
<p>The above search string is a good starting search query for most software products:</p>
<ul>
<li><strong>BI</strong>: searches the Basic Index, which includes some obvious variants of a name</li>
<li><strong>TI</strong>: searches the Translation Index, which may include other language or wording translations of names</li>
<li><strong>GS</strong>: for the Goods &amp; Services description, we typically are only concerned with software products (sometimes for computers)</li>
<li><strong>LD</strong>: means Live trademarks only; either applications in process or currently registered marks (not including Dead marks, ones that were never granted or have expired)</li>
</ul>
<p>Note that there is a reasonable <a href="http://tmsearch.uspto.gov/webaka/html/help.htm">query syntax for the USPTO freeform search</a>,
in particular if you need to search variants or phonetic versions of your name.</p>
<p><strong>Important: USPTO URLs</strong></p>
<p>Note that many of the URLs in the USPTO's "TESS" Search System are session-specific,
and will <strong>not</strong> work if you copy the URL.  The only reliable way to send or save a link to
a specific page is:</p>
<ul>
<li>Perform your search as above</li>
<li>Click on one of the specific serial number lines to see a single trademark</li>
<li>Click on the blue "TSDR" button near the top of the trademark listing</li>
<li>Copy the <strong>entire</strong> URL from that page, which will be something like:</li>
</ul>
<p><code>https://tsdr.uspto.gov/#caseNumber=87925939&amp;caseType=SERIAL_NO&amp;searchType=statusSearch</code></p>
<p>The whole URL there will work if you send it to someone else (or put it in a PODLINGNAMESEARCH).</p>
<h3 id="searchresults">Result interpretation &amp; Approval<a class="headerlink" href="#searchresults" title="Permalink">&para;</a></h3>
<p>The trademarks team will interpret your findings and probably discuss it on <a href="mailto:trademarks@apache.org">trademarks@apache.org</a> (please note:
this is a private list, all messages from there should be treated as such).</p>
<p><strong>The VP, Apache Brand Management will approve the PODLINGNAMESEARCH issue.</strong>
Note that project members are not authorized to approve name search issues.</p>
<p>Important: you must wait until your trademark has been approved. There is no lazy consensus.
In particular, approvals will typically not be issued until the podling is nearing graduation.</p>
<p>Once the name is approved, you can work with your new trademark - and be sure to
update your website with the appropriate &trade; or &reg; symbols.
Incubator Podlings: please don't forget to update your Incubator status page.</p>
<h3 id="podlings">Transferring Podling Trademarks To The ASF<a class="headerlink" href="#podlings" title="Permalink">&para;</a></h3>
<p><a href="https://incubator.apache.org/">Incubation</a> is the process by which an existing community formally works towards becoming an Apache top level project.  This includes the donation of various IP associated with the podling, like code and documentation, and includes the trademark rights to any branding the podling uses.</p>
<p>When a company donates a pre-existing project as a podling, one of the decisions to make is: are they donating the trademarks of the project as well or not?  Either way is fine; however this decision should be made before the website and resources for the podling are created to avoid rework later.</p>
<p>If the company chooses not to donate the trademarks, then the podling should be submitted with a new name and/or logo during the acceptance process.  If the trademarks are to be donated, then please read on!</p>
<p>The <strong>ASF must own all trademark rights and goodwill to the branding used in podlings before graduation</strong> to top level project will be approved. This is to ensure that the ASF can defend the project's brand, and that we can maintain independent governance for our projects.  However the  process can take some time, and we are flexible with the legal details of the transfer during incubation.</p>
<h3 id="incubation">Legal Trademark Work During Incubation<a class="headerlink" href="#incubation" title="Permalink">&para;</a></h3>
<p>During acceptance of a podling, we require a clear statement of intent from the current trademark owner that they will donate the trademarks to the ASF before graduation.  This can be via email from some officer of the existing trademark holder; it does not need to be legally binding, just socially binding, since if the trademarks are not transferred the podling won't graduate.</p>
<p>During incubation, the donor and the podling itself should both work to ensure the <a href="https://incubator.apache.org/guides/sites.html">actual podling branding</a> displayed on each website is updated to reflect the proper Apache <em>Projectname</em> branding everywhere.  We understand this can take time; however showing progress here is an important way to help a diverse community to grow in the podling; another graduation requirement.  Immaterial of the legal details, any practical work done with the trademark(s) should be by Apache policies where possible, and focusing on transitioning to "Apache <em>Projectname</em>" and the like.</p>
<p>Once a podling is well-established and before it begins any vote to graduate, the existing trademark holder needs to sign a standard trademark transfer agreement to the ASF.  We appreciate it if the current owner can propose a standard agreement for our counsel's review.  The podling PPMC needs to get counsel for the donor to <a href="https://www.apache.org/foundation/marks/contact">work with trademarks@apache.org</a> to agree and sign the transfer.</p>
<h3 id="failed">When A Podling Doesn't Graduate<a class="headerlink" href="#failed" title="Permalink">&para;</a></h3>
<p>If a podling honestly fails incubation (i.e. they honestly try but don't
make it), and we have not executed specific legal agreements to transfer
any <em>registered</em> trademarks, then they will stay with the original
donor without any problem.  Unregistered trademarks aren't likely to be
an issue either way.</p>
<p>If the trademarks have been legally transferred to the ASF, the donating organization should work with VP Brand to equitably handle the matter.  The ASF's need is to protect the trademarks of all of our active project communities.  Podlings that have exited incubation without graduating are not something we have a continued interest in maintaining.</p>

</div>  </main>

  <!-- Footer -->
  <footer class="bg-primary">
    <div class="container">
      <div class="row">
        <br />
        <div class="col-sm-1">

        </div>
        <div class="col-sm-2">
          <h5 class="white">Community</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="http://community.apache.org/">Overview</a></li>
            <li><a href="/foundation/conferences.html">Conferences</a></li>
            <li><a href="http://community.apache.org/gsoc.html">Summer of Code</a></li>
            <li><a href="http://community.apache.org/newcomers/">Getting Started</a></li>
            <li><a href="/foundation/how-it-works.html">The Apache Way</a></li>
            <li><a href="/travel/">Travel Assistance</a></li>
            <li><a href="/foundation/getinvolved.html">Get Involved</a></li>
            <li><a href="/foundation/policies/conduct.html">Code of Conduct</a></li>
            <li><a href="http://community.apache.org/newbiefaq.html">Community FAQ</a></li>
            <li><a href="/memorials/">Memorials</a></li>
          </ul>
        </div>

        <div class="col-sm-2">
          <h5 class="white">Innovation</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="http://incubator.apache.org/">Incubator</a></li>
            <li><a href="http://labs.apache.org/">Labs</a></li>
            <li><a href="/licenses/">Licensing</a></li>
            <li><a href="/foundation/license-faq.html">Licensing FAQ</a></li>
            <li><a href="/foundation/marks/">Trademark Policy</a></li>
            <li><a href="/foundation/contact.html">Contacts</a></li>
          </ul>
        </div>

        <div class="col-sm-2">
          <h5 class="white">Tech Operations</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="/dev/">Developer Information</a></li>
            <li><a href="/dev/infrastructure.html">Infrastructure</a></li>
            <li><a href="/security/">Security</a></li>
            <li><a href="http://status.apache.org">Status</a></li>
            <li><a href="/foundation/contact.html">Contacts</a></li>
          </ul>
        </div>

        <div class="col-sm-2">
          <h5 class="white">Press</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="/press/">Overview</a></li>
            <li><a href="https://blogs.apache.org/">ASF News</a></li>
            <li><a href="https://blogs.apache.org/foundation/">Announcements</a></li>
            <li><a href="https://twitter.com/TheASF">Twitter Feed</a></li>
            <li><a href="/press/#contact">Contacts</a></li>
          </ul>
        </div>

        <div class="col-sm-2">
          <h5 class="white">Legal</h5>
          <ul class="list-unstyled white" role="menu">
            <li><a href="/legal/">Legal Affairs</a></li>
            <li><a href="/legal/dmca.html">DMCA</a></li>
            <li><a href="/licenses/">Licensing</a></li>
            <li><a href="/foundation/marks/">Trademark Policy</a></li>
            <li><a href="/foundation/records/">Public Records</a></li>
            <li><a href="/foundation/policies/privacy.html">Privacy Policy</a></li>
            <li><a href="/licenses/exports/">Export Information</a></li>
            <li><a href="/foundation/license-faq.html">Licensing FAQ</a></li>
            <li><a href="/foundation/contact.html">Contacts</a></li>
          </ul>
        </div>

        <div class="col-sm-1">
        </div>

      </div>
      <hr class="col-lg-12 hr-white" />
      <div class="row">
        <div class="col-lg-12">
          <p class="text-center">Copyright &#169; 2023 The Apache Software Foundation, Licensed under the <a class="white" href="/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
          <p class="text-center">Apache and the Apache feather logo are trademarks of The Apache Software Foundation. </p>
        </div>
      </div>
    </div>

  </footer>

  <!-- / Footer -->

  <script src="/js/jquery-2.1.1.min.js"></script>
  <script src="/js/bootstrap.js"></script>
  <script src="/js/slideshow.js"></script>
  <script>
    (function($){
    $(document).ready(function(){
    $('ul.dropdown-menu [data-toggle=dropdown]').on('click', function(event) {
    event.preventDefault();
    event.stopPropagation();
    $(this).parent().siblings().removeClass('open');
    $(this).parent().toggleClass('open');
    console.log('WOrked');
    });
    });
    })(jQuery);
  </script>
</body>
</html>