Tuesday, March 11, 2008

My First Trademark Violation

A few weeks ago, I posted a pair of little utilities that I wrote to help me play Falcon. They were just one of those spare-time, throwaway things most programmers do from time to time, so I didn't put a ton of thought into them. Well, last week, I got a phone call from a marketing guy at Sassafras Software…it seems I should have put a bit more though into at least the names.


See, one of the bits I published, I called KeyServer. I called it that because it's a little TCP listener that receives events and sends keystrokes to the active application. Of course, it's also a registered trademark of Sassafras Software. Oopsie.


The marketing guy was pretty nice about it. He never said anything about legal action. But here's the thing: US Trademark law says you have to actively defend a trademark, or you lose it. That means that if you don't sue the people who use your trademark, a competitor can come along and point to that behavior as proof that you don't want your trademark and that it should be taken away.


On the one hand, it was somewhat shortsighted of me to name my software "KeyServer". I mean, that was practically guaranteed to be trademarked. On the other hand - subjectively and emotionally - it's never fun to be threatened with legal action, even when it's done politely and when you know that the person delivering the news has no choice about it. Lesson learned, I guess.


On the bright side, it was good motivation to add a few features that I've been meaning to get around to. So I'm re-releasing the software under the name "Keylay" (it's a keystroke relayer - get it?). Here are the new features:


  • A name that won't get me sued!

  • Has a less-boring tray icon that changes colors based on whether or not a profile is loaded, whether or not a client is connected, and animates when keystrokes are being relayed.

  • Takes a command-line argument that is the path to a profile to be loaded at startup.


While I was at it, I also updated F4Panel a bit. In addition to the ICP and the MFDs, I also added an "Aux1" panel that gives access to touchscreen controls of a few miscellaneous things like landing gear, the autopilot, the ECM and RWR, the laser, and the master arm switch. In addition, I made it remember the last address it connected to, since that was driving me nuts.


You can download the updated binaries and the source here.


  1. FWIW - Keylay is a better name ... pretty cool, even!

    The most concise way I've heard trademark law described is that it gives the trademark holder OFFENSIVE rights. A trademark doesn't DEFEND you against anything ... it merely gives you the right to go after people who use it. And as you mentioned, if you don't go after those people, you will ultimately lose those offensive rights.

    And of course ... IANAL

  2. Well, actually the phone call can be seen as efforts to defend the trademark. And if you continue to use this name, I bet you would receive additional calls....

    Don't be fooled, deciding not to formally defend your trademark in court will not cause you to lose a trademark. Not defending a trademark at all will cause you to lose it.

    I would suggest that the phone call could be pointed to in court as an initial effort to request that you cease and desist from using the registered trademark, if it ever actually went to court on your challenge to use the Trademark.....