If you know what RTFM means, you should be able to guess what WTFM stands for. If you don’t, here’s the polite version: Read The Freaking Manual. RTFM is a part of programmers’ jargon. For example, you’re trying to figure out how to write something in Java. You tried everything you knew, but it wouldn’t produce the expected result anyway. Ask your more experienced colleague for help, and s/he’ll tell you: RTFM. This means that may be it’s about time to open up a book and do some reading. We live in times of open source software, and this acronym gets outdated as there is no manual to read in many cases. That’s why I came up with a new acronym: WTFM, which is Where’s The Freaking Manual, or something like this. You should use it daily after spending hours trying to figure out how this freaking thing works and why it gives you this meaningless error message.
People who develop open source products do not write manuals for one of three reasons:
1. They believe that writing a geeky code is the right thing to do, and writing manuals sucks. Real programmers should be able to figure out how your creation works by using widely available dissasemblers.
2. They do not provide manuals on purpose: since you need this poorly documented software badly, you have no choice but hiring creators of this product as consultants. They can’t sell licenses, but can sell services.
3. They have no idea of how to properly market their software.
The last reason is “the most popular “. People have no clue that THE most important thing to do after creating your product is to tell the world HOW TO FREAKING USE IT. Things get exponentially worse when your open source baby should be used with someone else’s open source masterpiece. How you can not realize that people need write-ups on BEST PRACTICES for your software?
For example, there is a popular open source JMS transport called Active MQ. I decided to use it from a Web application running under Tomcat. I’m wondering if Active MQ crew have heard of Tomcat? Do you have to have a PhD to figure out that the chances are that Tomcat programmers will try to use it? I’ve contacted some people from Active MQ and they said that writing about integration with Tomcat is in their plans. I went even one step further and offered them to publish an article on this subject. This did not get them too exited, so I’ll consider another MOM provider instead. They just lost at least one customer.
Last year I went for training on some J2EE related software. The instructor Joe declared from the very beginning: “Welcome to imaginary Joe’s Enterprise “. Whe I tried to ask Joe some advice on best practices, he kept saying that we live in the imaginary Joe’s world and he did not encounter these issues just yet. WTFBPM? BTW, it stands for Where’s The Freaking Best Practices Manual?
But sometimes you see exceptions from the WTFM rule. At JavaOne 2006 I’ve attended the presentation by the creator of Maven, which is a build tool and a bit more. The presenter was wearing a shirt and a wool sweater on top and shorts and bare foot beach sandals below. I’ve heard about the California attitude before, but this was a bit too much for a conference presenter. I thought to myself, “This guy does not respect the audience, so he can’t possibly create any good software “. Sure enough, last week I had to learn Maven because my client uses it. I was very pleasantly surprised when I found not only a manual, but a free e-book on Maven 2. The software makes sense, and the book makes a difference.
So if you are about to release a new open source software, I have just one question for you: WTFM?