Though it might seem to contradict the open source way, I believe it is essential for an open source project to register and protect its trademark.
Think about it: You spend hours upon hours creating a project, writing code and building a reputation. The code is free, so anyone can use it, but your reputation--that’s your business. How do you protect it, if just anyone can come along and use your name?
Up front, I want to be clear that I am not a lawyer. This column concerns only my history with trademarks, and nothing I write here should be construed as legal advice. Likely, I’ve left out some important aspects of the trademark process; perhaps, despite my best efforts, some of this is just plain wrong. The only advice I offer is this: hiring a legal expert to help you through the trademark process is almost certainly worth the expense.
Ever since I started my business, I’ve been the habit of typing “opennms” into search engines to see what comes up. In the beginning, I was just trying to keep an eye on things, but in October of 2002, I found something disturbing: a link for “OpenNMS for Mac.”
Today, we support OpenNMS on OS X through the fink project (http://www.finkproject.org/). However, in 2002, this support was in its infancy, primarily because we required Java 1.4 and, at that time, the publicly available version of OS X “Jaguar” supported only version 1.3.
I clicked on the link and discovered that a company in California had removed all of the code that required Java 1.4 and released an OpenNMS 1.0alpha version (totally different from our naming scheme). They’d also set up their own website and separate mailing list—all using our logo. They made no reference to the main OpenNMS project, nor had they made any attempt to work with us.
I contacted this company to see if we could bring them into the main OpenNMS project (if only to avoid confusion), but, essentially, their response was "it's open source, we can do whatever we want with it." They weren’t interested in working with the community, and, more importantly, they were adamant that they were going to keep reverting any changes that required Java 1.4.
I foresaw a problem. We had moved to Java 1.4 because of serious performance issues with 1.3, and I knew that, on the off chance a major publication wanted to look at OpenNMS running on the Mac, then this other version (easily searchable on the web) was likely to fail miserably in any kind of real-world test. The subsequent negative review could have huge consequences as to how the main project was perceived.
Thus, the need for a trademark.
According to Wikipedia, a trademark is “a distinctive sign or indicator used by an individual, business organization, or other legal entity to identify that the products or services to consumers with which the trademark appears originate from a unique source, and to distinguish its products or services from those of other entities."
In the world of open source software, the code is built to be shared and modified, and that’s as it should be. Trademarks, however, enable end users to identify a particular version of software, where it came from, and who built it. Without trademarks things could get very chaotic, very quickly.
The Mozilla Foundation has a well-defined trademark policy. They are needed, it explains, in order "to ensure that the Mozilla Marks remain reliable indicators of quality, source, and security." In one of the better-known trademark issues, the Debian distribution decided that the Mozilla trademark policy on their logos did not meet their definition of free software. Thus the "free" version of Mozilla's Firefox browser became Iceweasel in Debian.
Despite the duplication of effort, I think this example illustrates the strength of the Open Source Way. Rebranding Firefox is much simpler than rewriting it, and consumers now have a better understanding of the source of the software they use.
Back in October of 2002, I began my own trademark journey at the United States Patent and Trademark Office (USPTO) website. Money was scarce back then, and since anyone can submit a trademark application online, I decided to do it myself.
The first step was to do a trademark search (http://tess2.uspto.gov/) on "OpenNMS.” I was relieved to find that no one was using it, as getting a trademark is much easier if your application is uncontested.
Note that trademarks exist for a particular good or service: while we own the trademark for OpenNMS with respect to “computer programs for use with networked computer systems," we would not own it for, say, swimming pool supplies. If you want your trademark to cover multiple categories, you might need to file multiple trademark applications. There’s a fee for each application (as of this writing around US$325), but there is a discount for applying online.
It took me almost two hours to work my way through the application (you have to submit a specimen of the trademark, among other things), although someone familiar with the system could do it much more quickly. In the end I was rewarded with a serial number (radically different than a registration number). Now it was time to wait.
I should add that if you are feeling lonely or wondering if your postal mail service is working, start the trademark registration process. You will receive a lot of mail from lawyers and other companies wanting to sell you trademark-related services. It is left as an exercise for the reader to decide the relative merit of such solicitations.
Five months later, in March of 2003, I received a reply (known as an "Office Action"). The lawyer examining my application sent an e-mail outlining a number of issues, though I was pleasantly surprised that he also offered solutions to several of them. For example:
Identification of goods
The identification of goods is unacceptable as indefinite because the exact function of the software is unclear. The applicant must amend the identification to better specify the function of the software. TMEP §1402.01.
The applicant may adopt the following identification of goods, if accurate:
Open-source network management system software for monitoring a computer network to prevent and identify problems that affect computer network performance for use with networked computer systems, in International class 9.
Correcting that issue was as simple as going back to the USPTO website and responding to the office action with the exact suggestion provided by the lawyer (since he would be reviewing the action I thought it prudent to adopt his suggestions).
Once the application is complete to the satisfaction of the lawyer, it will be published in the Trademark Official Gazette. Any party who thinks that the trademark infringes on one they already own has 30 days to register a complaint. After that period, it takes about 12 weeks until a trademark is registered.
In October of 2003, two weeks shy of the first year anniversary of filing, we were awarded registration number 2773670 for OpenNMS.
So what happened to that company in California? With my newly minted trademark in hand, I contacted them again and asked that they to stop distributing their software as OpenNMS. I invited them to participate in the OpenNMS community (by this time OS X "Panther" was out with Java 1.4 support), and I encouraged them to continue to use the OpenNMS software, but under a different name. Their response: "you just don't understand open source.”
In the end, I had to hire a lawyer to send a cease and desist order letter--the first money I had spent on legal services since starting my business--and, eventually, they took down their "OpenNMS" site. Believe it or not, I was kind of disappointed; I had hoped that we would be able to bring them into the larger community but, ultimately, the reputation of the project was more important.
But I wasn’t out of the woods yet (though I didn’t know that at the time). My DIY approach had left me unaware that a trademark must be renewed sometime between the fifth and sixth year of its registration. A good lawyer would have known this, but I didn’t. In May of 2010 the USPTO declared the OpenNMS trademark "dead."
The only way to “resurrect” a dead trademark is to re-apply, so in October of last year, I started the process again.
On the upside, I had done it before so it was much easier. On the downside, each review attorney is different, and this one wrote: "Registration is refused because the proposed mark merely describes applicant’s goods and/or services."
Despite the fact that we had registered OpenNMS before, this new lawyer decided that "OpenNMS" matched a part of the Trademark Act stating:
A mark is merely descriptive under Trademark Act Section 2(e)(1), 15 U.S.C. §1052(e)(1), if it describes an ingredient, quality, characteristic, function, feature, purpose or use of the relevant goods/services. In re Gyulay, 820 F.2d 1216, 3 USPQ2d 1009 (Fed. Cir. 1987); In re Bed & Breakfast Registry, 791 F.2d 157, 229 USPQ 818 (Fed. Cir. 1986); In re MetPath Inc., 223 USPQ 88 (TTAB 1984); In re Bright-Crest, Ltd., 204 USPQ 591 (TTAB 1979); TMEP §1209.01(b).
The mark, OPENNMS, merely describes the goods because the purpose of the software is to be able to read (OPEN) files for network management systems (NMS)
I knew I needed to educate the lawyer on what OpenNMS actually does, and it helped my case that I was able to point to a number of other registered trademarks. My reply:
The mark "OpenNMS" does indeed represent a product and a brand and does not simply describe goods and services. The "open" stands for "open source" and it is a common practice for open source software projects to name themselves starting with "open" followed by an acronym. The NMS stands for Network Management System. It is not just to "open" files but instead represents both the open source nature of the software, the fact that it leverages open protocols and that the system is open for modification. Other trademarked software has similar names. "OpenVPN" (serial number 77897620) is an open source virtual private network. "OpenLDAP" (serial number 75581115) is an open source implementation of a directory access protocol. "OpenSSL" (serial number 77753541) is an open source implementation of the Secure Sockets Layer. Please forgive me for not being a lawyer. I run a small project that once held this trademark but due to my ignorance of the need to renew it I let it lapse. I am trying to correct that and would welcome any advice.
This didn't sway the lawyer, but trademark lawyers can be a helpful bunch, and she pointed out that "OpenNMS" could obtain a trademark based on "acquired distinctiveness":
To amend the application to Section 2(f) based on five years’ use, applicant should submit the following written statement claiming acquired distinctiveness, if accurate: The mark has become distinctive of the goods and/or services through applicant’s substantially exclusive and continuous use in commerce for at least the five years immediately before the date of this statement.
Again, it is always prudent to accept the advice of the lawyer reviewing your application. I submitted the amendment, and in May we received a new trademark on OpenNMS.
The trademark process can be frustrating, and you should plan on at least a year, with much of that time spent waiting. Still, acquiring a trademark is something I think every open source project should seriously consider. While the open source way is based on sharing and cooperation, the effort you put into free software does have value, and that value needs to be protected.