A project’s “name” isn’t necessarily a trademark – it might just be a term used to describe a technology, for example “rpm” (which started out as a Red Hat trademark) or “html.” Some countries have the concept of a “software title,” which is a legal form also entitled to some protection from confusion. For our purposes we will assume that every project name will be a trademark, now or later.
The goal is to pick a name that won’t be confused with anyone else’s name for their software or related goods and services: that is, you want to pick a name that won’t infringe the existing rights of others.
It isn’t as simple as letter string identicality—instead, the legal concept of confusion considers the sound, spelling and connotation of the words or designs, whether they incorporate terms that are commonplace or unique, and how similar the goods and services are from the intended consumer’s perspective.
You can find more information in the discussion of “Infringement” here.
While a trademark lawyer can do a legal analysis and provide more certainty, there are principles you can use when choosing the name that will improve the likelihood you can use your name without too much legal risk.
Principles for Choosing a Name
Below are a handful of principles for choosing a name for project:
Make up a word: A made-up word, or one with no relationship to the software, will serve you well in the long run. It can be inspired by a concept, but if the relationship is too close or predictable then it is more likely that someone else already used the same idea. For example, at this point you can be sure that every synonym for “cloud” is being used.*
Make it unusual: The more unusual the word is, the higher it will appear in search engine results and the more likely it will be that you can obtain a matching domain name. The more unusual the name, is the easier it will be to stop infringement.
Don’t use a name of something else you like: Don’t name your project after well-known science fiction or comic book references, sports teams, famous people (whether living or dead), or a well-known trademark of others. You may intend it as a homage but the owner of the rights may not perceive it that way, and many of the owners of these famous rights are protectionist. The same is true for parody; generally the well-resourced owner won’t be amused.
Avoid playing with spelling of other names: A misspelled word will be considered confusing with the correctly spelled word.
It must be distinct: The word must be “distinctive,” meaning it can identify one project uniquely. “Platform” for a platform, for example, could not function as a trademark.
Be extra careful with forked software: If the project is a fork, or related to other software, be careful about using a name too close to the original. An example of a good naming choice for a new fork is the fork of Hudson called Jenkins, which has the same English butler feel as Hudson but sounds and looks different. An example of what didn’t go so well was Nevernote, a Linux version of Evernote, but Evernote wasn’t so happy with the name and Nevernote is now Nixnote.
If you just need a name for a new project and you don’t know what the future may bring, there is probably a low risk in adopting a name casually. If your project isn’t commercialized, most likely it won’t be a high priority target even if someone believes the name is infringing. Consider using the techniques below for picking names, it could reduce the likelihood you will unintentionally pick a name too similar to another name already in use.
Conduct search engine searches, look in public source code repositories, and check domain names to see whether others are using the same letter string. The whohas tool will give you results for exact matches.
Many countries provide public access to searchable trademark databases. Without training in trademark law you won’t be able to say whether your name is available, but you can “knock out” names that are definitely not available.
After choosing a name it may not make sense for you to hire someone to do a formal trademark clearance. However, if approached by someone who claims you are infringing their trademark, be prepared to change your name.
Helpful Techniques for Creating Names
Below are a handful of techniques you may find useful for creating a unique name for your project.
Make up a word: Qpid is a Java message broker that implements the Advanced Message Queuing Protocol (AMQP). It uses “QP,” and is a homophone for “cupid,” successfully making a non-infringing reference to AMQP in a memorable way.
Use an acronym: GNOME for the desktop environment is an acronym for GNU Network Object Model Environment, but the acronym has a different meaning that lent itself to a fun identity. Samba is from SMB, “server message block.”
Concatenate two unrelated words or partial words: Inkscape, the a vector graphics editor, combines the concepts of a drawing medium with a vista, like a landscape or oceanscape. The combination alludes to the object-oriented nature of vector imagery.
Play on words: Make a verbal word play that changes the meaning significantly, for example “Drools” for a platform for rules.
Use a name generator: There are many, for example.
Use a story: A good story makes your name memorable; everyone enjoys that fact that “Apache” is a pun on “a patchy” web server.