Blog
Finding a name for your software?
What to watch out for
In my projects, finding a name often takes longer than the first working program.
It bothered me enough that I wrote a tool of its own for it: the codename-generator, which creates project and release code names right in the terminal. It is a playful approach that lets you be surprised.
Once a suggestion catches your eye, the actually hard question follows: Am I allowed to use that name at all?
This post shows what to watch out for, which sources you can query yourself and where the limits of that research are.
Note: This is the result of my research, it is not legal advice. At the latest before you sell a product, the naming question should go to a trademark lawyer. The legal details below refer to German and EU law.
Why the name matters so early
As long as nobody uses a tool, renaming it is a small thing.
After that, much more depends on the name: the repository, the package name, the terminal commands, the domain, data folders on users’ machines and every link that points to the project somewhere.
My logbook app was originally called death-proof and is now called Christophorus. For the new name, the package, commands, data folder, database file and repository all had to move. On top of that came a migration, so that existing logbooks are found under the new name on first start.
That was manageable. For a product that has already been sold to customers, it would look different.
Someone else’s trademark in your own name
A common mistake is easy to make: a tool works with a well-known product, so that product’s name ends up in its own.
My timesheet tool is called jira-timesheet. It reads the logged work from Jira and turns it into a timesheet. The name describes exactly what it does, and that is exactly the problem.
Jira is a trademark of Atlassian. Atlassian’s trademark guidelines only allow the mark in a product name as a reference, that is with “for”, “for use with” or “compatible with”. The example there is “Acme plugin for Jira”. The reverse, “Jira plugin for Acme”, is explicitly not allowed.
For domains the guidelines are even stricter. The mark generally does not belong in the domain name. Atlassian lists examples such as confluence-vendorname.com and jiraforagile.com as not approved. The mark is allowed in the path, as in vendordomain.com/atlassian.
In addition, the other company’s mark must not be more prominent than your own name, and there must be no impression that Atlassian is behind the product.
Two alternatives seem obvious, and neither works:
- Variations of the mark. Names like “Jirify” no longer contain the string, but they live off exactly that recognition. That is precisely what likelihood of confusion is about.
- Terms from the product’s world. Switching to agile vocabulary keeps you in the same space. “Backlog” would be taken anyway: it is the name of an established project management tool by Nulab, a product in the same market segment.
What remains is a name of your own with a subtitle like “for Jira”. Other large vendors are likely to have similar guidelines. It is worth reading them before choosing a name.
A free game name? The Halma example
With third-party trademarks, the situation is at least clear. With my browser game Halma, it is not.
Halma is a board game invented in 1883 by the American surgeon George Howard Monks. Sternhalma, the variant with the star-shaped board, appeared in Germany in 1892 and is known in English as Chinese Checkers. So the name has probably referred to a game for more than 140 years. That sounds like a name anyone may use.
A look into the trademark register shows a different picture.
On 17 September 2026, TMview (more on that below) returned 1,676 results for “halma”, 43 of them with exactly that name. One of them is a registered European Union word mark: HALMA, owned by Halma plc, filed on 21 February 2018, registered on 16 March 2022. It applies in all member states.
The mark has nothing to do with board games. Its list of goods and services ranges from safety and measuring equipment to medical technology. However, it is registered in two classes that also matter for software:
- Class 9 includes “recorded data”, among other things.
- Class 42 includes “IT services”, among other things.
Whether a browser game with a board game’s name could conflict with it cannot be answered by a register search. One possibility would be that the name of a game known since 1883 is descriptive for a game, and is therefore not understood as pointing to a company at all. I cannot prove that.
So for Halma, the trademark situation is unresolved 😕
That is still an honest result. A register search delivers findings, not clearance.
The order of checks
The following order goes from quick exclusion to thorough checking. If a name fails an early step, you can skip the rest.
1. Meaning and associations
What does the word mean in other languages? Does it have a second, crude meaning? And does it carry a historical association?
When searching for a name for an internal project to manage AI agents, “Charlie Company” was on the list. The name was free in the trademark registers and among package names, and it fit the theme well. But it was also the name of the US unit that carried out the My Lai massacre in 1968. A name like that reflects back on the project, no matter how clean the trademark situation is.
So before choosing any name from the military, war or contemporary history, search for the term together with “massacre” or “war crime”.
2. Trademark registers
A trademark does not apply everywhere or to everything. It applies to the goods and services it is registered for, and in the territory it is registered for.
Goods and services are divided into 45 classes under the Nice Classification. For software, class 9 (which includes software) and class 42 (IT services) matter most. Anyone making a board game or toy also looks at class 28.
As for territory, a German project needs to check the German Patent and Trade Mark Office and European Union trademarks. Anyone who also wants to sell in the US checks there as well.
3. Rights that are not in any trademark register
This step is easy to miss, because no register covers it.
Besides registered trademarks, the German Trade Mark Act also protects commercial designations. According to Section 5 MarkenG, these are company symbols and work titles. Under Section 15 MarkenG, the owner of such a designation can prohibit a third party from using it, or a similar sign, in a way likely to cause confusion.
But watch out: work titles exist for software, too.
In 1997, the German Federal Court of Justice ruled in the PowerPoint and FTOS decisions that names of computer programs can enjoy title protection. That protection arises without any registration, through distribution of the finished product or through advertising that directly announces its market launch.
So a program that has been sold under a name for years may be protected even though it does not appear in any trademark register. A web search for the name together with “software” or “app” always belongs in the process.
4. Package names and repositories
If the name is already taken on PyPI, npm or as an organisation on GitHub, the package has to be named differently from the product. That is not a legal problem, but it confuses everyone looking for the package.
5. Domains
For .de domains, DENIC gives a binding answer. More on that in the pitfalls below.
6. Findability
A name can be free and still useless if nobody can find it.
This mostly affects descriptive names. The codename-generator is named exactly after what the tool does. That makes conflicts unlikely: on 15 August 2026 there was not a single registration for “codename generator” worldwide. But it also makes the name hard to protect. Under Section 8(2) MarkenG, signs consisting exclusively of indications that describe, among other things, the kind or quality of the goods are not registered. In a search engine, such a name also gets lost among all the other generators.
Which sources are there?
All of the following sources are free and can be used without an account.
| Source | What it covers |
|---|---|
| TMview | Trademarks from EUIPO, DPMA, WIPO, USPTO and many national offices in one search |
| DPMAregister | German trademarks at the German Patent and Trade Mark Office |
| EUIPO eSearch plus | European Union trademarks, with the full list of goods and services |
| WIPO Global Brand Database | International registrations and many national registers |
| USPTO Trademark Search | Trademarks in the US |
| DENIC Whois | Availability of .de domains |
| PyPI, npm, GitHub | Package and organisation names already taken |
| Vendors’ trademark guidelines | What is allowed with other companies’ product names |
TMview is usually enough to start with. The full list of goods and services of a single EU trademark is available at EUIPO, and that is exactly where you see whether a mark really covers the area you are working in.
Pitfalls in your own research
An empty result list proves nothing.
Zero results can mean the name is free. They can also mean the query was built wrong. That is why every search needs a term that must match. On 17 September 2026, TMview returned 1,754 results for “adidas”. If a control term like that returns nothing, something is wrong with the query.
Counting results is not enough.
On 15 August 2026, “codename” had 222 results in TMview, 8 of them in Germany and the EU. The number sounds alarming. On closer inspection, all eight were video game titles, such as “Codename PANZERS”. The entries closer to software were registered in other countries or had already ended. What matters is the class, territory and status of each individual result.
The first results page is not the result.
Halma had 1,676 results. If you only look at the first page, you see a fraction of them. For an assessment, all pages have to be reviewed.
No DNS record does not mean the domain is free.
A registered domain without name servers looks exactly like a free one from the outside. For .de, only the DENIC whois answer is binding: free means available, connect means taken.
A deleted domain is not free yet.
If DENIC shows redemptionPeriod, the domain has been deleted. For the following 30 days, only the previous holder can restore it. After that it becomes free, but at the moment of release, automated services that specifically catch such domains often grab it.
“Nothing found” is not clearance.
No register is complete, and work titles are in none of them. The result of your own research is therefore “no registration found”, never “legally safe”.
Checklist
- Meaning in other languages and historical associations checked
- No third-party trademark in the name or domain, at most as “for …” in a subtitle
- TMview with a control term, all pages, classes 9 and 42, territory Germany and EU
- List of goods and services of relevant results read at EUIPO
- Web search for software with the same name, because of work titles
- Package names on PyPI, npm and GitHub available
- Domain checked via DENIC whois
- Name can be found in a search engine
- Before the first sale: trademark lawyer
What I learned from it
A good name is free, findable and free of any troubling meaning. Most research only checks the first of these, and often only halfway.
The codename-generator delivers ideas, the public registers deliver findings. The decision at the end remains a judgement call, and sometimes the honest result is “unresolved”, as with Halma.
Anyone publishing a project should therefore ask about the name just as early as about the license. As long as nobody uses the tool yet, a new name is a small thing. Later, it is a move.
Sources: Section 5 MarkenG · Section 8 MarkenG · Section 15 MarkenG · BGH, judgment of 24 April 1997, I ZR 44/95 “PowerPoint” · BGH, judgment of 24 April 1997, I ZR 233/94 “FTOS” · Atlassian Trademark Guidelines · EU trademark 017847781 HALMA · Halma on Wikipedia · Nice Classification · TMview · DENIC Whois