Can–or should–a programming language name be a trademark? The Trademark Trial and Appeal Board, the administrative board within the U.S. Patent and Trademark Office that adjudicates whether trademarks can be registered, recently decided that the word “Lua” was not a generic name for a programming language, but rather that the term referred to a particular proprietary language. Is it right though, that someone is allowed to exercise proprietary rights over a programming language name?
A word is only a trademark if the consumer recognizes it as one. We all know the litany of former trademarks that aren't trademarks anymore because people used the words to identify a type of goods, not a particular manufacturer's brand: aspirin (in the U.S.), shredded wheat, cellophane, escalator, and thermos are a few examples.
So do people think of the names of programming languages as trademarks? For some programming languages, there is clearly no single entity that claims ownership. Fortran, Ada, C, C++, Extended Pascal, and Basic are all defined by ISO standards and no one owns the names; they're just generic. Based on past experience, as users we may not be predisposed to think of a language name as proprietary.
There are more indications that a language name is simply not a trademark. The USPTO says that in a trademark registration, one may only use generic words to describe the goods and services – it is “inappropriate” to use a trademark in the description and the examining attorney should instruct the applicant to change the trademark to a generic word. Nevertheless, a number of registrations contain the trademarks “Java” or “Perl” in the description of goods and services, e.g., “M Squared Technologies” is a long-standing registration for “computer software development tools that assist the software developer to create and understand software programs written in the computer programming languages of C, C++, Java, C#, Fortran, Pascal, Assembler, XML, HTML, and variants of Basic.” This uses the “Java” registered trademark right alongside the generic names for other languages. “J2U” is registered for “conversion of software into Practical Extraction and Report Language (PERL), korn shell (KSH) or Bourne-Again Shell (BASH) command language interpreter,” using the Perl registered trademark. This certainly suggest that at least the trademark examining attorneys aren't recognizing these words are trademarks. Another example: when Microsoft filed its application for Visual C#, it disclaimed the “exclusive right to use C# apart from the mark as shown.” Microsoft isn't claiming any exclusive rights to the name C#.
Does it really matter though? And isn't it fair that the entity that controls the standard for the language be allowed to say what is authentic $LANGUAGE and what isn't?
It does matter. No one should be able to use trademark law to control truthful speech about a product. The Examining Attorney in the Lua application raised this point, but it wasn't a good enough sell for the TTAB. Indeed there is a legal theory – nominative fair use – that says one can use others' trademarks to refer truthfully to the others' products, but this is a judge-made doctrine, not statutory, of varying parameters in different courts, and not even accepted by all of them. Given the unsettled law, one can see that an aggressive trademark enforcer could exploit the situation to try to suppress use of the programming language itself.