Every so often one will see posts from people trying to encourage others to contribute back to open source communities, such as that for Python. Over the years I feel I have done my fair share, and having done that, I cant but help feel a bit jaded these days about where things are currently at. To explain why, let me chronicle how I see things as having evolved over the years.
When Python first came out I recollect sucking down the source distribution as separate little shar files that were posted onto the alt.sources USENET news group. There was a bit of documentation with it, but not much. If you had a problem you hoped you could work it out yourself as there wasn't really any forums back then that you could go ask for help about it.
A few years later the comp.lang.python news group was created and there was at least then somewhere you could go. You could try and troll through the archives for the news group if you had access, but history was generally limited by how much your news server kept and it wasn't exactly the best resource for trying to find out much about what others were trying to use Python for. Because help was hard to get, one really appreciated it when you did get an answer to your problem and people showed that appreciation.
The Python news group has always been a quite civilised place in that respect, but the same can't be said of all news groups at the time. People often only had small pipes down which news feeds came, so the last thing you wanted was people being idiots in the way they dealt with others on the news group, or as far as what expectations they had over what you would do for them. News group etiquette evolved, including how you could help yourself by asking good questions so as to get the best response. Such good practices were collated in posts like How To Ask Questions The Smart Way.
Some books eventually became available and these were the first really broad resource where you could learn about the language, but also about the myriad of things you could do with it. If you were like me, you would buy up every book you could find on the topic in the hope that you would find that one nugget of information in it that would help you with the specific problems you were working on.
Next up came what we know today as the Internet and that is when people started posting online their own resources, be it articles on how to do something, or their own code libraries. Initially you still had to know where to go to find this information, but by asking on news groups and looking through hand crafted meta index sites you could be lucky. This was all made a lot easier when search engines such as AltaVista and eventually Google came along, albeit that you still had to actually do the research to find what you wanted.
News groups and also mailing lists were still important forums when you had questions, but these partly started to be replaced by question and answer sites. Right now the most prominent question and answer site for developers is Stack Overflow. Unfortunately, such sites have also been the start of the rot that is setting in.
In the past when people have freely given up their time to help others by answering questions, or posting useful information online, it was genuinely because they did want to contribute back. Sure some may have done it just to make a name for themselves, but I would say that most would do it because it felt good to be able to help. Quite often the people who were answering were more than just knowledgable people, but the actual people who wrote the software you were trying to use.
The question and answer sites have changed that now. These days it is a game, where the goal is to win as many badges and accrue as many points as possible. This is more and more devaluing the responses one does get. This is because those who are answering are increasingly not those knowledgeable people who actually understand the problem and know the answers, but the people who are best at using Google to find the answers from elsewhere and then cut and paste them as the answer.
A lot of the time this does actually provide the answer someone wants, but at this point the person who is asking the question is no longer dealing with someone who genuinely cares about understanding your problem properly and come up with the best solution. No longer can one see the person answering as a trusted advisor whom you might form an ongoing relationship with and this I believe is having the effect of changing the behaviour of the people asking questions. This attitude isn't limited just to question and answer sites like Stack Overflow, but is starting to leach out into other more traditional forums such as new groups, mailing lists and IRC.
Increasingly, those who have the questions are just treating all these forums like a help desk. They no longer expect to encounter the real experts, nor try and form any relationship with those who may be trying to help them. They are just in there to get want they want, leave and get on with their work.
More and more they cannot even be bothered to try and research the problem themselves by using Google, nor even explain what their problem is properly. The idea therefore of asking questions in a smart way so as to get the best response is vanishing. Instead people will just throw a question out their in the hope they get an answer back by the time they have come back from getting their coffee.
To me this is slowly destroying the relationship building which actually creates a good community. People asking questions just don't appreciate any more the people who are trying to help and those knowledgeable people who were once willing to help, can no longer be bothered because it more and more comes across as a thankless tasks. What is enjoyable in replying with an answer which is the same as saying Let Me Google That For You?
So it is all well and good to try and get in and contribute back to a community, but if you want to feel you are getting something out of it and feel that you are building those good relationships which are the foundation of any good community, you should be careful about how you go about contributing back.
Personally I wouldn't bother with Stack Overflow unless you want to play the game. Commenting on posts in Redit isn't much better. IRC has a better level of community interaction, but sometimes channels are dominated by a small group of individuals who can be quite biased in their opinions, which can be a turn off and not really that productive when someone wants to find out about something that those dominant people don't like.
To me therefore, mailing lists or news groups with a large diverse following are still the best forums available if you really want to interact with and become a part of the community. Local Python user groups and attending conferences can also be worthwhile, but you have to work a lot harder by reaching out rather than just sitting back and watching.
Whether things will get worse or better I don't know. Right now though things definitely seem out of balance to me. I just hope that it doesn't become the new status quo. The Python community has always been an open and accepting one, I wouldn't like to see it dragged down because of changing attitudes brought on by quick fix question and answer sites.