<!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>Estimated Trademark Registration Costs For Apache Projects</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">

      <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>
 
  </header>
  <main id="maincontent">
<div class="container">    <h1 id="estimated-trademark-registration-costs-for-apache-projects">Estimated Trademark Registration Costs For Apache Projects<a class="headerlink" href="#estimated-trademark-registration-costs-for-apache-projects" title="Permalink">&para;</a></h1>
<p>An overview of legal costs related to trademarks, especially the cost of trademark registrations and maintenance for Apache Software Foundation top level projects.</p>
<p><strong>Intended Audience</strong></p>
<p>This page provides a basic background on the costs associated with Apache projects requesting registration or other trademark related legal assistance from the ASF and our counsel.  Please note that this is not legal advice, and in particular these costs or procedures do not apply to any non-Apache projects or individuals.  If non-Apache projects have legal questions about trademarks, you should contact your own legal counsel; the ASF cannot advise you.</p>
<div class=".pull-right" style="float:right; border-style:dotted; width:200px; padding:5px; margin:5px">
<p>See Also: <a href="/foundation/marks/resources">Trademark Resources Site Map</a>.</p>
</div>
<div id="toc"><ul><li><a class="toc-href" href="#registered" title="Registered Trademarks">Registered Trademarks</a></li><li><a class="toc-href" href="#timeline" title="Trademark Registration and Maintenance Timelines">Trademark Registration and Maintenance Timelines</a><ul><li><a class="toc-href" href="#regrequest" title="How To Request Registration">How To Request Registration</a><ul><li><a class="toc-href" href="#regapplication" title="Registration Application Timeline And Steps">Registration Application Timeline And Steps</a></li><li><a class="toc-href" href="#regrenewal" title="Registration Renewal Timelines">Registration Renewal Timelines</a></li></ul></li></ul></li><li><a class="toc-href" href="#cost" title="Estimated Costs For Trademark Registration And Renewals">Estimated Costs For Trademark Registration And Renewals</a><ul><li><a class="toc-href" href="#uscost" title="In the US">In the US</a></li><li><a class="toc-href" href="#eucost" title="In Europe">In Europe</a></li><li><a class="toc-href" href="#madridcost" title="Madrid Protocol And Other Country Costs">Madrid Protocol And Other Country Costs</a></li><li><a class="toc-href" href="#counselcost" title="Legal Counsel Fees">Legal Counsel Fees</a></li><li><a class="toc-href" href="#outsidecost" title="Outside Counsel Fees">Outside Counsel Fees</a></li></ul></li></ul></div>
<h2 id="registered">Registered Trademarks<a class="headerlink" href="#registered" title="Permalink">&para;</a></h2>
<p>Common law trademark rights for your Apache software product's name and logo accrue to the ASF (in the United States, at least) as long as your project provides a consistently named software product download and uses it's name as a trademark.  These are often called "common law trademarks".  The ASF's use of a specific software product name over time grows our basic rights to the name as our users are used to getting software products of a certain type and quality from Apache projects.</p>
<p>While common law trademarks provide some rights in the US and some countries, they are sometimes ignored or even contested by other software vendors or service providers.  Registering our trademarks with various country national registration authorities provides significantly more protection, both in terms of preventing other vendors from using our trademarks to start with, as well as providing a much stronger defense if they attempt to mis-use or infringe on our trademarks.</p>
<p>The ASF will attempt to register any healthy Apache top level software project's name in the US if the <a href="/foundation/marks/register#request">PMC requests it</a>.  PMCs may also request additional registrations in other countries where they are likely to find new contributors, however the PMC must provide a justification for the additional funds needed to pay for additional country applications.</p>
<p>Trademark registrations are country-specific.  In particular, many countries operate on a "first-to-file" basis, meaning the first party to register a mark for a specific product gets the primary benefit for legal questions within that country.  Having a registration in the US or another major software market is significant value to a project in terms of how other vendors respect your name, however that registration does not necessarily grant any legal advantage in other countries in a lawsuit.</p>
<p>The ASF owns all Apache project trademarks on behalf of our volunteer project communities.</p>
<h2 id="timeline">Trademark Registration and Maintenance Timelines<a class="headerlink" href="#timeline" title="Permalink">&para;</a></h2>
<p>While trademark law and implementation varies by country, in most cases the pace of a registration application is fairly slow.  Similarly, submitting a registration application is by no means a sure thing; applications can have issues raised by the national registry's examiners or may even be contested by third parties.  In general, expect the process to take 6 months or longer, when an application does not have any issues come up.  If issues are raised (which is not easy to predict), the timeline and cost can go up notably.</p>
<h3 id="regrequest">How To Request Registration<a class="headerlink" href="#regrequest" title="Permalink">&para;</a></h3>
<p><strong>Information Needed:</strong> To request registration, your <a href="/foundation/marks/register#register">PMC needs to provide basic information</a> about your software product's name, it's download page, a brief description of what the software product does, and when the name was first used.  VP, Brand will evaluate the information, and send it to the ASF's trademark counsel for a detailed review.  Our counsel will then formally submit the registration application to the USPTO, the national registry for US trademarks.  If the PMC has an approved budget for other country registrations, our counsel will complet them at the same time using the <em>Madrid Protocol</em>.</p>
<p>Each mark (a specific name or logo) must be applied for separately.  In almost all cases, we will be applying in Nice international trademark <strong>class 9</strong> for software products.  PMCs requests to applying for an additional "services" class (that is, providing the volunteer developer support PMCs do on dev@/user@) will be considered on an individual basis and will require justification for any additional costs.</p>
<h4 id="regapplication">Registration Application Timeline And Steps<a class="headerlink" href="#regapplication" title="Permalink">&para;</a></h4>
<p>Note that Brand Management will track this process, and will reach out to the private@project list if the PMC's feedback is required.</p>
<p><strong>1. Application and Corrections</strong> Each national registry has a process for evaluating an application which typically takes several months.  During this period, the examiners may ask for clarifications, or may require changes to the application.  They may also state that the registration might conflict with existing trademarks.  Each of these questions must be answered (with the assistance of counsel) within a specific time period, or else the application will be denied or closed.</p>
<p><strong>2. Opposition</strong> Then, applications are published for opposition: the details of the application are formally published, and a time period is given for any other parties to file an objection.  Other companies can submit a complaint if the mark we're applying for is too similar to one of their trademarks (either registered or unregistered).  The ASF and counsel must respond to any such objections, and the examiners then make a ruling if the objection is upheld or not.  Note that in some cases, we might negotiate with a company who has an objection to see if there's any way we can amicably get them to withdraw their objection.</p>
<p>The trademark examiners make a final determination of any objections.  In very rare cases if there is a serious objection that requires our counsel to provide detailed replies, we may need to make a choice: pay for the additional counsel time to provide the replies, or abandon the application.  Similarly, there may be objections that are not practical to overcome, however these are extraordinarily rare if the project has done a prior name search or has been using the name for a long time without objection.</p>
<p><strong>3. Granting</strong> Finally, an application is formally granted, and the ASF is given a registration number and the information is published in the trademark register.  At this point, your project must begin using the &reg; registered trademark symbol for your name, to ensure that other parties know it's now registered.  Brand Management will let you know when this happens.</p>
<h4 id="regrenewal">Registration Renewal Timelines<a class="headerlink" href="#regrenewal" title="Permalink">&para;</a></h4>
<p>Once a registration is issued, it is valid for a certain period of time (typically 5 or 10 years) after which it must be renewed; the timeline, process and fees vary by country.  Our counsel maintains a docket of all the paperwork and dates required for these registrations and will alert us when items need to be filed, and will handle the paperwork for us.</p>
<p>Renewals come with a national registry fee as well.  In virtually all cases, there are no or few other costs with renewals.  Note that the ASF must show (by providing URLs and images of current web pages) that we are still continuing to use the mark in conjunction with the software product.</p>
<h2 id="cost">Estimated Costs For Trademark Registration And Renewals<a class="headerlink" href="#cost" title="Permalink">&para;</a></h2>
<p>Note that national costs below do not include the (discounted) counsel time required for preparing
documentation.  So for each specific trademark a project wants to register, plan on adding between 800USD - 3000USD additional cost
over the application process (below) for counsel time (from our lawyers) to submit forms and address objections.</p>
<h3 id="uscost">In the US<a class="headerlink" href="#uscost" title="Permalink">&para;</a></h3>
<ul>
<li>Application US-only: 225 USD (<em>Our counsel, DLAPiper, uses the TEAS Plus application process</em>)</li>
<li>After 5 years: Filing section 8 &amp; 15 declarations: 300 USD</li>
<li>After 10 years: Filing formal renewal application: 300 USD</li>
<li>If the 5 or 10 year applications and payments are not made, the registration will lapse.  When the 5 year declaration is made, the registration becomes "incontestible", meaning we have even stronger legal rights to protect it.</li>
</ul>
<p>The official <a href="http://www.uspto.gov/learning-and-resources/fees-and-payment/uspto-fee-schedule#TM%20Process%20Fee">USPTO cost schedule</a> includes detailed costs.  If a project is registering in multiple countries at the same time, see the <a href="#madridcosts">Madrid Protocol costs</a> instead.</p>
<h3 id="eucost">In Europe<a class="headerlink" href="#eucost" title="Permalink">&para;</a></h3>
<p>The EU/CTM allows for a single application process to cover all EU member states, which is many times cheaper than filing national registrations.  EU registrations are valid for 10 years.</p>
<ul>
<li>EU single registration: 900 EUR - this is the case where a project is <em>already registered</em> in the US, and wishes to only file one new EU registration.</li>
<li>If a project is registering in the EU and other countries at the same time, see the <a href="#madridcosts">Madrid Protocol costs</a> instead.</li>
</ul>
<h3 id="madridcost">Madrid Protocol And Other Country Costs<a class="headerlink" href="#madridcost" title="Permalink">&para;</a></h3>
<p>The Madrid Protocol allows a trademark holder to apply for multiple national trademarks in a single, streamlined process.  The costs vary depending on which countries are applied for; one application is made that is automatically forwarded to each selected country.  The actual registration applications are then processed independently in each country.  Costs vary widely and are subject to change.</p>
<p>Sample Madrid application costs for an application in EU, India, China:</p>
<ul>
<li>Madrid application fee: 653 CHF</li>
<li>China-specific application fee: 249 CHF</li>
<li>EU-specific application fee: 912 CHF</li>
<li>India-specific application fee: 62 CHF</li>
<li>Total fees:  1876 CHF (<em>roughly 2000 USD</em>)</li>
</ul>
<p>See the <a href="http://www.wipo.int/madrid/en/fees/calculator.jsp">Madrid Protocol cost calculator</a> at the WIPO for a simple cost estimation tool.  Note that if additional work is needed or objections are raised in any one country, additional counsel fees may be required to continue that specific country's application process.</p>
<p>Each country registration comes up for renewal every 10 years individually.</p>
<h3 id="counselcost">Legal Counsel Fees<a class="headerlink" href="#counselcost" title="Permalink">&para;</a></h3>
<p><a href="https://www.dlapiper.com/">DLAPiper</a>, an international IP law firm, represents the ASF for trademark matters, and provides discounted rates for their work.  In some cases, if complex work is required, they will alert us that specific work will incur a larger than usual charge.  VP, Brand will work with the relevant PMC to either justify budget from the Apache Board for these costs, or to cease work on the specific matter.</p>
<h3 id="outsidecost">Outside Counsel Fees<a class="headerlink" href="#outsidecost" title="Permalink">&para;</a></h3>
<p>While DLAPiper can perform most legal work for us, in some cases they must defer work to outside law firms to complete specific steps of the process.  This happens either when DLAPiper doesn't have lawyers in a specific country or jurisdiction, or when DLAPiper has a conflict of interest with some other related trademark holder and cannot represent the ASF in that specific matter.</p>
<p>In these cases, DLAPiper will pass our work onto the other firm, which bill us separately once we authorize work.  DLAPiper has negotiated discounted fee structures with these firms on our behalf.</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>