I'm now on the Acela back form the Etherpad FAD at Olin College, writing this on the wonderful Amtrak wifi service. This was an excellent and very productive weekend, even though we fell short of th emilestone of having an acceptable Etherpad package for Fedora. This is because of a few thingss:
There were more bundled libraries (some of which required packaging for Fedora, some which were already in Fedora) than you could shake a stick at, and extracting them isn't always as simple as we'd like - sometimes we'd have to BuildRequire the library, and copy the system version into the proper location in the source in order to have the build of the things that aren't bundled not puke.
Another issue that we found with one of the dependencies took a few hours last night, and is still not resolved. A library called c3p0 (not the Droid, I'm not really sure what in the world it does, but maybe some Wookie cuddling would help) won't build in Fedora because it can't find ANOTHER library that it's bundled with, even though the system version of the library is installed, and the build.properties properly points to the system location of the library, but the build still fails saying that it can't find classes that are in the library. We've verified that the proper classpath is being passed to the Java compiler, and that's about the extent of my knowledge in troubleshooting Java builds.
This minor setback was, in my opinion, offset by the tremendous amount of success that we *did* have. A lot of good work was accomplished, though we're holding off submiting pakcages for review because we want to submit the entire stack at once, for fear of having "abandonware" in Fedora.
Speaking of abandonware, Etherpad itself could be classified as sort of that. The lineage is that a company called Appjet produced Etherpad, and they were acquired by Google, mainly in order to acquire some of their developers for Google Wave. They didn't really want the Etherpad product itse;f, so they open sourced it, and failed to cultivate a community around it. The current community around Etherpad is entirely non-Google, and there appears to be no canonical upstream - there's a version on Google Code, there's a version (or two or three) in Github, and I'm sure there are others hanging around.
This brings me to Jeff Mitchell's (of KDE, one of the lead developers of Amarok, member of the KDE Community Working Group, etc) talk around how to build (and destroy) community, and reinforced some things that I already knew, but hearing them over and over again, and ingraining them in everything that you do in the FOSS world, The part that really resonated with me was that "are we here for ourselves, developing stuff that we think is cool that scratches a personal itch, or are we writing software for users?"
You can't drift too far to one extreme or the other and still be
successful. Too much of developing for yourself, and you wind up with no
users, and no new developers. With no developers, you have no
community. Too towards the user side, and you get developer burnout, and
more importantly, users will slander your good name if they are
Another important concept, which should be incredibly obvious, but again, we all need reminders of it from time to time, is that there are three types of communities, each with dfferent needs and motivators. There's the user community, the developer community, and the commercial community
There are basically two types of people in free software communities - those whose primary motivation is loyalty to the concept and ideal of free software, and those whose primary motivation is towards monetary gain. Note that the two aren't mutually exclusive of each other, it matters what the PRIMARY motivation is, not that there's some of the other in there. Note that for people whose primary motivation is loyalty to free software, money can and does help - for instance, sponsoring attendance at FUDCon or other conferences, etc.
Typically, the user community will be motivated by monetary gain (which seems counter-intuitive, but they do indirectly gain financially, since they don't have to buy propietary software). This is why, as mentioned earlier, they will have no hesitation to go somewhere else and slander your good name.
The developer community is typically, but not always, motivated by the loyalty to free software, which should be also failry obvious, while the commercial community is motivated by financial gain (though the people WITHIN that commercial community may be motivated by other things).
I've rambled on enough for now :).