Why is it that certain groups exhibit what you might call inessential characteristics. It is as if you suddenly encountered a group of music fans who all had red hair. What has red hair to do with that particular music genre? What then has the use of email lists got to do with open source?
The idea of what you might call "inessential weirdness" isn't new but it is only recently that Sumana Harihareswara, of the Wikimedia Foundation, has started compiling a list of inessential weirdness in open source - you might want to join in.
Inessential weirdness is the set of characteristics that seem to be common in a group but have nothing to do with the purpose or objectives of the group. The original source for the idea is an essay on activist culture and the way that certain common characteristics of said culture put potential members off. You may want to join a protest group concerning some new industrial development, but may be put off by the fact that all of the members are vegan and serve only vegan food a their meetings. Being a vegan in this case is an inessential weirdness as removing this trait would make no difference to the group's essential purpose if it were removed.
Overall the concept is a slippery one if you start thinking about it too hard and one person's inessential is another's essential weirdness - but you get the idea.
So back to programming, and open source in particular. Sumana Harihareswara has begun collecting inessential weirdnesses of the open source community - I can hear you say "tell me about it" as you roll your eyes skyward. There aren't very many offerings at the moment and some seem more like essential than inessential ones to me. For example, git is probably essential, but yes I agree about email lists instead of web forums and why IRC?
Open source is full of strange preferences and behavior that has little to do with the core belief and practice of open source software.
Programmers form up into tribes that they identify with and regard as their immediate community. You know - the Perl tribe, the Python tribe, the hacker tribe, the OSGI tribe and so on. Mostly the tribal symbols and artifacts that surround such groupings aren't a problem. They help build an identity and they bind the tribe together.
It can be a problem, however, when an outsider tries to join in. In most case the tribe will either knowingly or accidentally alienate the potential new member by using the totems and symbols of the tribe just to show that they are fully paid up members. Unfortunately this isn't going to make the tribe grow in size, which is often a key consideration.
There are lots of other places where inessential weirdness works against the tribe - irrational inability to change technologies for example, and an inability to produce good neutral documentation.
So what is to be done?
Exactly what Sumana Harihareswara is doing. Documenting proposed inessential weirdness serves to highlight is and to make tribe members see when it is best to drop certain conventions when dealing with the outside world.
So why do so many open source projects use IRC and mailing lists? And if you start your answer with a technological explanation of why they are better you have missed the point more or less completely.
The edit distance is a measure of how close two strings are and it is used in a lot of important applications including spell checkers and genome analysis. Currently the best known algorithm takes O(n [ ... ]