Open Source Hacks: One question interviews with Open Source Experts
Open Source Hacks: One question interviews with Open Source Experts - Naming your open source project
This blog series aims to share simple philosophies, insights, tips, and tricks that can positively impact your open source adventures. Each blog will feature a guest expert providing their thoughts on one open source question. In today’s blog I will answer the question below;
How do I name my open source project?
When you start thinking about a name for your open source project there are two types of names to consider –“fanciful” and “generic descriptive.” Fanciful names can be trademarked. Generic descriptive names can’t be trademarked. Fanciful names don’t have to describe the project or the function of the product . For example, Zephyr™ Project is an open source, small footprint, real-time operating system, but you’d never know that from the name. A generic descriptive name for that project might be: “Real-time operating system for resource constrained systems.” Given those options, why wouldn’t everyone want a fun, trademark-able name? The answer: Money and time.
Trademarking a fanciful name is an expensive process that can take weeks, if not months, and cost hundreds of thousands of dollars (and the more countries you want to clear, the more expensive it gets) just to learn if you have a name that is viable.
You must also be prepared to defend your mark against other marks that infringe upon your name, as well as claims that your mark infringes someone else’s. There are also “prior use” claims that can be raised in the U.S. for names that may not even have a trademark. Generic descriptive names tend to be a much faster, less expensive option.
So what makes a name generic and descriptive? Generic implies a common term in the English language. A Google or Wikipedia search will find the term used in a consistent way and with a commonly accepted meaning – especially as it applies to technology. Let’s go back to the earlier example – “Real-time operating system for resource constrained systems.” In this case, “Real-time operating system” is an industry standard usage with its own Wikipedia page. Descriptive implies that is one seeking to describe something. In this case, “resource constrained systems” gives a clear sense of what type of systems the real-time operating system will run on. Below I’ve put together a list of projects and divided them into fanciful and generic descriptive buckets to help illustrate the difference in names.
Robot Operating System
Intel® Graphics for Linux
Supplemental Reset Components for Qsys
Keytakeways and tips:
• Search - No matter what type of name you pursue – Google is your friend. If a Google search results in hits for a name under consideration, it’s probably best to consider other options.
• Legal - If you have access to a legal team (foundation or corporate) that can help you – use them. Their due diligence will protect the project from potential litigation.
• 3rd party names –It could make sense to include the name of another project in your project name. For example – Android* for Intel® Architecture. If so, make sure you understand the usage parameters for that 3rd party name – often searching online for the project name and ‘license’ or ‘usage’ will bring-up the relevant results.
• Fun temporary code names – It may seem harmless to use a fun code name while you come up with the ‘final’ name for the project. From my experience, once everyone starts calling a project “X”, “X” is what it is. This can make a transition to the final, legally approved name awkward. I’d love to hear about your adventures and tips in naming open source projects. Add a comment!
If you liked this blog, checkout some of the others in the series;
About the author
Jim has over 25 years of experience in the technology sector from start-ups to Fortune 50 companies and has named a variety products and projects – from video games to repos. He currently works in the Open Source Technology Center at Intel.