[Thunderbolt General] merc248:
Alright - there's been some concern about me link baiting for traffic to my blog. I don't really care much about traffic to my blog whatsoever (no, I don't get any ad revenue), so I'm reposting the entire post, in its entirety, without any links back to my blog.

It's inflammatory, but I think there's suggestions that should be considered. I'll post some of the suggestions in here on the XDA suggestions thread, too.

TL;DR: Cowboys suck (even if they contribute tons of code upstream, witholding source code "until it's ready" for an OSS project is disingenuous at best), the XDA forums are *okay*, but the flat comment format that most, if not all forum software impose is completely outdated (look at Reddit and mailing lists for inspiration), and other OSS communities have largely figured out how to separate user/developer communication lines without hiding anything from anyone.

Without further ado...

---

I've been a member of the XDA Developers Forums for a few months, and after following development forums for various phones (mostly the Nexus S and the HTC Thunderbolt forums), I've concluded that the XDA Developers forums suck. Perhaps an even stronger claim is that the Android developer community sucks, but I won't be defending that claim in this post.

So, why do the XDA Developers forums suck?

For one, the purpose of the forums is to centralize discussion and cooperation of development projects for Android. Based on what I've seen so far on the Nexus S and Thunderbolt forums, I believe that the forums have largely failed at this task. ROM's are largely developed independently with about over half of the ROMs maybe sharing source code to the community, with the biggest offender being CM7 for Thunderbolt (the source code for most of the OS is shared to the public, but the most important part that adds support for the Thunderbolt's radio will not be open sourced "until it's done.") Worse, there's a lot of prima donnas in the community - in most other dev communities, most of the work is done in teams, though there may be benevolent dictators or celebrities (but almost none of the things that are present in the XDA community - witholding of source code and "heroism.") As much as slayher has contributed to the community, it's telling when you see CM7 on Thunderbolt completely contingent on him finishing his radio interface layer code, and having to go to a channel called #slayher for CM7 Thunderbolt support. Who the **** creates a channel based on their handle for a software project?

Not only that, but the discussion that does take place on the forums around development is almost always centered on end user support. Many other communities solve this with mailing lists in order to help focus branching topics in a thread (most forums are notoriously bad at this, given that the default view in most forums and the way that a forum focuses your conversation often defaults to a flat hierarchy of posts.) Any relevant developer discussion is drowned in a sea of user support questions, and I would not blame anyone who wishes to take their conversation elsewhere.

What I propose as an alternative is the following:

* A site that is an aggregate of mailing lists for various phones, software projects associated with each phone, etc.

* User support may be provided on this same site on forums, like how XDA is setup right now. The only difference is that dev discussion is separated into mailing lists (and make it crystal clear that any developer related discussion should be posted on the mailing lists.)

* This site should not post anything that doesn't have any source code freely available under the GPL/BSD/Apache/etc. licenses.

EDIT: There's a couple of things I want to address:

"Why are you complaining? The developers put a lot of time into making these ROM's!"

I'm not complaining about the devs creating software - in fact, I recognize that they've put a lot of hard work in writing these ROM's. However, there's a problem with how development is done: there's a lot of cowboys in the community who bring out the "I have a family" card when they don't try to avail themselves of responsibility by releasing their code and letting others contribute in a meaningful way. In a lot of other OSS projects, there's not a lot of that going on - people contribute, things are documented, and there's a process to merge changes in.

I want to contribute to the CM7 Thunderbolt project, but the outstanding issues largely have to do with the RIL code, which is not even available!

"Why don't you develop your own ROM?"

Because my expertise isn't squarely in Android development. I'd rather contribute fixes to a project in order to get myself acquainted, then maybe I can think about developing my own ROM.

Linus' Law: "given enough eyeballs, all bugs are shallow."