How to Name a Project

How do you properly name a programming project? This is one of the most pressing issues for developers in 2025. This is arguably more important than AI replacing everything or your favorite language dying. No: Mythological Figures One of my golden rules is that your name needs to make sense. Naming a communication network "Hermes" may seem appealing, but it could mean a number of things. Usually you want your project to be visible in your search engine, because you want your project to be what developers need. Why? Because that's the goal of open source: You want your developers to use your project because it's good. Good projects have good names that make them stand out. That's fundamentally why you should avoid mythological figures: they make your project feel unoriginal. Yes: Word Combinations Using word combinations may seem weird. "BattleCards," "StarCosmetics," and "Novaconomy" were all terrible names I thought of during my Minecrafting phase. But they stood out on their own. Now, they're (somewhat) successful plugins with a combined ~5,000 downloads on Spigot, and ~10,000 across all platforms. Usually weird is memorable, which is good. You want developers to remember your project. Sure, they can always star it for later, but not everyone does that. Developers see hundreds of git repositories every day, and the ones that remember yours are going to use it. Think about all the times you've came across a GitHub project that fit exactly what you needed, but you couldn't remember how to find it, so you found a different one. Sometimes search history is your friend, and sometimes it can reveal to your friends that you really hate Go. No: Brand-Exact This one is probably the most controversial, even in an enterprise space. You shouldn't name your open-projects after your business brand. This is liekly due to the psychology of how developers view the companies that maintain them: sure, they could be sponsoring every contributor to the project, but they don't. In addition, the most hardcore open source contributors are mostly anti-capitalist and pro-freeware, which may go against your employer's values. I'm not criticizing or revealing any political views here, I'm just stating the facts. Developers like open-source projects that feel like open source projects, and your project should reflect that initiative. If you want me to be more specific, don't name your project after your company's mascot or logo word for word. More on that below. Yes: Brand-Inspired This is different than the above. You want your name to stand on its own, but if you're working for a company, you still need to put food on the table, so it should be associated with the company, not representative of the company. If this is confusing, I'll give you an example. I'm working on a game under my company, Calculus Games, named Combinatory (click to play). The actual game is going to be closed-source (because of env vars), but I want to open-source as much as possible. The open source portion is named "calculatory" instead of "combinatory-public" simply because it's a brand that stands on its own independent of the "combinatory" brand name. The game, which will eventually be a for-profit inspired game, will not overshadow the open-source portion. Conclusion These are some short guidelines on naming your project. Listen to them, or don't. No one really cares. A name should reflect the developer's own personal choice, not what some random kid says on his website. Name your project however you want to, and do whatever you think works best for you.

Mar 31, 2025 - 03:56
 0
How to Name a Project

How do you properly name a programming project?

This is one of the most pressing issues for developers in 2025. This is arguably more important than AI replacing everything or your favorite language dying.

No: Mythological Figures

One of my golden rules is that your name needs to make sense. Naming a communication network "Hermes" may seem appealing, but it could mean a number of things. Usually you want your project to be visible in your search engine, because you want your project to be what developers need.

Why?

Because that's the goal of open source: You want your developers to use your project because it's good. Good projects have good names that make them stand out. That's fundamentally why you should avoid mythological figures: they make your project feel unoriginal.

Yes: Word Combinations

Using word combinations may seem weird. "BattleCards," "StarCosmetics," and "Novaconomy" were all terrible names I thought of during my Minecrafting phase. But they stood out on their own. Now, they're (somewhat) successful plugins with a combined ~5,000 downloads on Spigot, and ~10,000 across all platforms.

Usually weird is memorable, which is good. You want developers to remember your project. Sure, they can always star it for later, but not everyone does that. Developers see hundreds of git repositories every day, and the ones that remember yours are going to use it.

Think about all the times you've came across a GitHub project that fit exactly what you needed, but you couldn't remember how to find it, so you found a different one. Sometimes search history is your friend, and sometimes it can reveal to your friends that you really hate Go.

No: Brand-Exact

This one is probably the most controversial, even in an enterprise space. You shouldn't name your open-projects after your business brand.

This is liekly due to the psychology of how developers view the companies that maintain them: sure, they could be sponsoring every contributor to the project, but they don't. In addition, the most hardcore open source contributors are mostly anti-capitalist and pro-freeware, which may go against your employer's values. I'm not criticizing or revealing any political views here, I'm just stating the facts. Developers like open-source projects that feel like open source projects, and your project should reflect that initiative.

If you want me to be more specific, don't name your project after your company's mascot or logo word for word. More on that below.

Yes: Brand-Inspired

This is different than the above. You want your name to stand on its own, but if you're working for a company, you still need to put food on the table, so it should be associated with the company, not representative of the company.

If this is confusing, I'll give you an example. I'm working on a game under my company, Calculus Games, named Combinatory (click to play). The actual game is going to be closed-source (because of env vars), but I want to open-source as much as possible. The open source portion is named "calculatory" instead of "combinatory-public" simply because it's a brand that stands on its own independent of the "combinatory" brand name. The game, which will eventually be a for-profit inspired game, will not overshadow the open-source portion.

Conclusion

These are some short guidelines on naming your project. Listen to them, or don't. No one really cares. A name should reflect the developer's own personal choice, not what some random kid says on his website. Name your project however you want to, and do whatever you think works best for you.