1 January 16, Open Source Software Communications William Cohen NCSU CSC 591W January 23, 2008
2 January 16, Forms of Communication ● ● IRC ● Websites ● Wiki ● Blogs ● Phone ● Face-2-Face
3 January 16, Identity ● People often have several accounts ● Be consistent in identity used for correspondence: ● Same name used for bug tracker, , and IRC ● Use identity that is real name if possible ● Avoid fancy title or self-aggrandizing handles
4 January 16, Open Communication ● Minimize private communication ● Allow as many people as possible to comment: ● Unexpected people may have very good insights ● The expected people might not know or be available ● Public material available for future reference: ● Search engines have access material on web ( archives archives, wikis, and web pages) ● Point other people at archive
5 January 16, Politeness ● Avoid “Flame wars” ● Focus on technical discussion and comments ● Avoid commenting about people's character or intelligence ● Hard to determine tone: ● Something written as sarcasm or humor may be mistaken for disparaging comment ● Thank people for their help
6 January 16, Clarity ● Make your message as clear as possible: ● Have appropriate subject line for ● Put core thought of at beginning ● Write in complete sentences ● Avoid slang and texting abreviations: ● Not everyone is a native speaker of English ● Formatting: ● Use quoting appropriately ● Separate sections of , so it is clear what is text and what is code ● Use plain text ● Do not force people to start up other programs ● Some people filter out html messages
7 January 16, Brevity ● People get huge numbers of mail ● Minimize the amount of material people need to read ● Trim quotes include in replies to relevant sections
8 January 16, Content ● Try to globally save people time ● Separate s for separate topics ● Make content as convenient as possible: ● Good summary ● Good organization ● Comments below quotes of interest ● Pointers to the appropriate URLs ● Edit and review before sending
9 January 16, Timeliness ● You may not be able to respond to immediately: ● May need to take care of other issues ● Need time to consider the proposals ● Try to respond to in a reasonable amount of time
10 January 16, Tone ● Often people tend toward terseness ● Avoid hyperbole ● Stick to technical points ● Be encouraging to new posters on mailing list
11 January 16, Pitfalls ● Posting without a purpose ● Productive vs. Unproductive threads ● Softer topics, longer debate ● Holy wars ● “Noisy Minority”
12 January 16, Posting without a purpose ● Why waste people's time with content-free ? ● Nothing to say? Don't say anything. ● Examples when to post: ● Have question or proposal ● Comment about flaw in proposal ● Miscommunication between others
13 January 16, Productive vs. Unproductive threads ● Unproductive thread characteristics: ● Repeated arguments ● Increasing hyperbole ● People commenting are not ones actively working on things ● Thread getting more diffuse rather than more concrete ● Some ideas start as imprecise thought: ● Try to summarize and distill the important points ● Some unproductive threads should just be left to die
14 January 16, Softer topics, longer debate ● More technical topics, fewer people may feel qualified to comment ● Less technical topics, greater people may have opinion on ● People may not have strong opinions on things ● People implementing idea should have more say in topic
15 January 16, “Holy wars” ● People have strong personal opinions on some things ● Realize that futile to try to change people's opinion ● Example: ● vi vs. emacs ● Favorite programming languages ● Avoid being draw into holy war discussion
16 January 16, “Noisy Minority” ● Some people may be very vocal about some issues ● Amount of may not indicate number of people that care
17 January 16, Handling Growth ● Successful projects grow ● Information to get people started: ● Web pages ● Frequently Asked Questions (FAQs) ● HOWTOs ● Wikis ● Archives ● Segmenting mailing lists IRC channels: ● Group by activities, e.g. Development, QA, help
18 January 16, Web Pages ● Often the first place where people look for information about project: ● Information clearing house for the project ● Links to other things related to the project
19 January 16, FAQs ● Questions that come up repeatedly ● Usually introductory material ● Quick reference to save time: ● Allow people to look before they post question ● Allow people to point to answering question ● Describe how to post effective
20 January 16, HOWTO ● Cookbook/recipe to accomplish specific task ● Usually aimed at non-experts ● Try to minimize unneeded details
21 January 16, Wiki ● Collaborative web pages ● Pros: ● Uses very simple markup language ● Very low barrier to entry: ● User registers on wiki ● Makes additions ● No review or vetting of material in many cases ● Quick to update ● Cons: ● Little editorial review ● Potential for poor organization
22 January 16, Archives ● Often issues have encountered before ● Can range from very simple to very technical material ● Searchable ● Provides background information for new people (and refresh memory of old people :)