A few days ago I bought some Christmas tree lights from amazon.co.jp, the Japanese version of Amazon:

https://www.amazon.co.jp/gp/product/B076WTG77B/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1

One of the words in the description of the item is パーティスマスツリー, which seems to be "party-mas-tree". You might think that is some kind of Japanese neologism, but there's no such word as "パーティスマスツリー" in Japanese. A google search just brings you back to Amazon.co.jp.

https://encrypted.google.com/search?hl=en&q=%22%E3%83%91%E3%83%BC%E3%83%86%E3%82%A3%E3%82%B9%E3%83%9E%E3%82%B9%E3%83%84%E3%83%AA%E3%83%BC%22

If you have an account on Amazon.co.jp, you can get messages in English by choosing "see this page in English". Amazon.co.jp has a fancy translation system, but even that is defeated by the "party-mas-tree". If I choose "see this page in English" for the product, the Japanese nonsense word comes out as "pa-texisumasuturi-". That, and many other romanisations on Amazon.co.jp, looks like the default work of my module Lingua::JA::Moji's routine kana2romaji. Perhaps Amazon is using my module to romanise untranslateable words, although I have never heard a toot from them to indicate that. Of course it might be a coincidence, but the romanisation they are using is rather odd, and it's exactly the same as my module's.

That reminded me of a topic I've been meaning to bring up here. How do we know who's using modules we release to CPAN? I have a number of experiences of both unexpected uses and non-uses of modules I've released to CPAN.

First of all let me mention Lingua::KO::Munja, a sister module to the above Japanese module. I released a version with bugs which would cause it to fail to operate, and yet received no bug reports in the entire year that the broken version was on CPAN, so apparently nobody even tried to use it, or anyone who tried to use it found it too broken and gave up. The effect that had on me was to make me think that it was very likely that nobody was using the modules I had released. However, that turned out to be wrong.

The next unexpected thing happened after I forked a module from CPAN called Encode::Detect which has a lot of failures on CPAN Testers. I forked it into "Encode::Detective", basically to see if I could get it to compile across CPAN testers better than Encode::Detect. It turned out to be a failure, so I deleted it, but surprisingly I got quite a lot of emails from people who had been using the module. Unfortunately the work involved in restoring that module into working order is beyond me, so it will remain deleted.

In another example, I deleted a module called Test::CGI::External, only to have one user wanting to restore it, so I've put it back on CPAN. I don't know if anyone other than the one user uses it, although it's actually a vital part of a web site that I run.

I really have no idea beyond things like bug reports and ++s on metacpan whether people are using the modules I've released or not. I doubt whether I am the only person who ends up feeling this way. There are quite a lot of fairly useful modules which people have deleted from CPAN, you might find them when Google searching for a way to solve a problem.

So what I took away from this is that if I'm using a module, since the author has no way of knowing whether I'm using it, I should at least ++ it on metacpan so that the author knows that someone is using his or her module. I'd like to strongly recommend doing that, not just as a way to flatter someone or make them feel good, but as a way to actually let them know that someone is using their module.