I recently had a discussion with a fellow Ruby developer that revealed a
significant variance in our views about project names.
In 2008 I published a Ruby project on GitHub with an MIT license and
registered a RubyForge project at the same time. This code was available
as a Gem from GitHub while GitHub was hosting Gems (ie, I included a
gemspec in the project). I never publicized my code, though I think it
is worthwhile, and I did not publish a Gem to gemcutter.org or
rubygems.org once GitHub stopped hosting Gems. My Gem was no longer
installable with gem install X
after that point.
In 2010, my fellow Rubyist published a gem using the same name as my
project without notifying me. When I contacted him about this, he
indicated that in his view, first to publish in the public Gem namespace
is the only claim a developer can make on a name for a Ruby project. He
didn’t say so, but I assume he only recognizes the authority of
rubygems.org with regard to the Gem namespace. Citing this view of
project name ‘ownership’, he refused my request that he rename his
project.
I was disappointed, but I was also curious. Clearly the authority of
rubygems.org as the public Gem namespace is important, but I
personally search for existing projects on GitHub, RubyForge and Google
before considering a given name as ‘available’. I consider it reasonable
and polite to do so, but more so, I consider it my responsibility to
perform such a check before publishing. I don’t take gem install X
as
the only meaningful test for project name availability.
What is the community view of project name ‘ownership’? Was my fellow
Rubyist right to publish his Gem without checking Google, GitHub or
RubyForge for existing projects under his intended name? Or am I right
to expect Ruby Gem authors to perform at least a minimal search for
existing projects prior to publication?
I appreciate your input in this matter,
Emmanuel G.