If They Want To Eat Cake, They Have To Ask Nicely

Traffic has been up on the CakePHP mailing list, and unfortunately not all of it is good. Lots of the same questions and lots of people asking really off-topic questions about PHP that aren't really related to Cake. So, one of the senior members of the CakePHP team finally had enough and said something about it:

Hey, happy Tuesday, how's everybody doing? I just wanted to take a moment out of my afternoon to remind everyone about the awesome search technology this mailing list is built on. It's called Google, and it can help you quickly and efficiently find answers to questions that you might have. Normally I wouldn't take the time to point this out, as it is usually fairly self-evident (refer to the logo in the upper left-hand corner of your screen), but lately the CakePHP community has been experiencing some growing pains. (Not to say that growth is bad, by all means, keep it going). We've had people joining the community at all levels of PHP and programming experience, which is great. What's not great is that people are continuing to ask questions without bothering to search for an answer beforehand. CakePHP is over a year old, and this mailing list is quickly approaching 3000 users. What that means for you is that almost any question you could ever want to ask in your first 3 months of using Cake (or ever) has already been asked, and answered.... many, many, many times. Not only that, but people are also asking questions that are blatantly off-topic, or are general PHP questions that have nothing specific to do with Cake. While this isn't a terrible thing to do, strictly speaking, it certainly doesn't help. (Hint: if you click on the "About" link and scroll to the bottom of the page, there are at least two general PHP mailing lists linked, where you can ask all the PHP questions you want). So, why is this bad? For one thing, I simply can't understand the level of patience required to do something like that. The latest versions of all three major browers have search boxes built right in, which means quick access to information is literally seconds away, whereas asking questions on a mailing list requires you to wait for minutes, hours, or in some cases, days. I don't know about you, but I simply don't have that kind of time. Furthermore, it makes it more difficult for myself and others like me (sdevore, AD7six, psychic, jzimmerman, and more [you know who you are]) who answer your questions on our own time and at our own expense. This is Open Source, no one gets paid to answer questions. These people do it because they care about the advancement of this project. As a core developer, I feel a certain amount of responsibility to them, and if you can't meet them halfway by taking a little bit of effort to answer your own questions, rather than relying on others to spoon-feed you information, that is nothing short of disrespect. Also, and this is probably the single most important point: asking redundant questions dilutes the pool of relevant information for those that come after you. When the same question is asked 20 different times in 20 different ways, it makes it harder to wade through search results when trying to find an answer to your question, which, of course, is the *entire point*. And for those of you who were wondering, the answer is yes: I am keenly aware that the title of this post contains a double negative.

Nate makes the very fair but tough point that this list isn't about PHP, it's about solving problems with CakePHP. Now, I used to be a noob just like a lot of people who are posting on the mailing list but I would always search for answers to my problems before asking questions. Old-skool mailing list etiquette I guess. I give out advice on the list for those who have obviously taken the time to understand the problem they are facing.

The purpose of the list isn't to teach you PHP, it's to teach you how to use CakePHP and you have to assume a certain level of programming knowledge in order to gain anything from it. The website has lots of good info, and you can use Google itself to search through the mailing list. For Nate's sanity, please do lots of research before you ask a question and you will find plenty of people willing to help you out. If you are asking "how do you write PHP code" or "how do you build this" questions, well, I think you need to buy a PHP book or something and learn the basics. Then come back and ask us again. We'll probably be less cranky by then as well.