On Mon, Jan 10, 2011 at 7:20 AM, Nicholas Butko wrote: > This is not directly related to ROS or PCL, but I hoped that people on the mailing list would have some insights. > > When you are creating or releasing a new software package (e.g. ROS, PCL, OpenNI, etc.), how much do you worry about the name you choose conflicting with existing software packages or systems? Do you worry about trademarks and things like that? Is it bad to have any existing software package with your same name? Or is it enough for your software package to have a different purpose / domain than previous packages? > > I know for trademarks, they are only valid in limited domains. But I don't know if "Software packages" is a sufficiently limited domain, or if, e.g. "Software packages for machine perception" is more of the correct scope. > > For example, a quick google search for "PCL" return "Printer Command Language," a printing protocol developed by HP. Is this something you worried about for PCL? > > Does anyone else have experience with such issues? hi Nick, Usual disclaimer: this isn't legal advice. In general, I would advise choosing a unique name whenever possible. The reason is not so much for trademark concerns, but general identifiability and searchability. You want to be able to say, "I'm using foo," and have everyone understand what "foo" is. Of course, there's context in these conversations; you don't need the passenger next to you on an airplane to know what "foo" is. But you do want everyone in your professional community to have a shared understanding of what you mean. And you might want the name to mean something to people not yet in your community. Quick anecdote: Player and Stage were originally called, respectively, Golem and Arena. As detailed in the whimsical project history (http://playerstage.sourceforge.net/wiki/PlayerHistory), it turned out that "75% of all robot software is called Golem and another 20% is called Arena." So we changed to Player and Stage, to avoid confusion. That disambiguated things for the robotics community, which was certainly an improvement. But when it came time to incorporate Player and Stage into the Debian/Ubuntu package tree, those names were too generic. To the average Ubuntu user, what does "player" mean? Is it a program for showing videos or music? So the package is named "robot-player" (http://packages.ubuntu.com/hardy/science/robot-player), which includes prepending "robot-" to all the installed executables (e.g., robot-playercam, robot-playerjoy). In general, when considering names: (i) look for other uses of the name first; and (ii) think about how the name will be received by people who are not yet part of your target audience. brian.