<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Open Project Guide &#187; communication</title>
	<atom:link href="http://www.openprojectguide.org/tag/communication/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.openprojectguide.org</link>
	<description>For and about open source projects</description>
	<lastBuildDate>Wed, 29 Sep 2010 05:56:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Numbers are nothing but smoke and mirrors &#8211; selecting a version numbering scheme</title>
		<link>http://www.openprojectguide.org/2010/03/numbers-are-nothing-but-smoke-and-mirrors/</link>
		<comments>http://www.openprojectguide.org/2010/03/numbers-are-nothing-but-smoke-and-mirrors/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 13:20:02 +0000</pubDate>
		<dc:creator>patrick.c</dc:creator>
				<category><![CDATA[Talk posts]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[early-phase]]></category>
		<category><![CDATA[introduction]]></category>
		<category><![CDATA[naming]]></category>
		<category><![CDATA[release-planning]]></category>
		<category><![CDATA[talk]]></category>

		<guid isPermaLink="false">http://www.openprojectguide.org/?p=113</guid>
		<description><![CDATA[Choosing the right scheme for the version numbers is not as easy as it sounds. There are many implications that you may not think of in the first place. Selecting a version scheme without thinking is like selecting a name without thinking and you don&#8217;t wouldn&#8217;t do that, would you? There are features missing, so [...]]]></description>
			<content:encoded><![CDATA[<p>Choosing the right scheme for the version numbers is not as easy as it sounds. There are many implications that you may not think of in the first place. Selecting a version scheme without thinking is like selecting a name without thinking and you don&#8217;t wouldn&#8217;t do that, would you?</p>
<p><span id="more-113"></span></p>
<p><strong>There are features missing, so we start at 0.0.1-alpha1 &#8230;</strong></p>
<p>There are thousands of projects, which have a version number that starts with a zero. It was common to do so many years ago and strangely enough, there are still projects that do this today. During the &#8220;Web 2.0&#8243; hype it was even en vogue to put &#8220;beta&#8221; stickers in the logo, so the &#8220;unfinishedness&#8221;  was promoted to a positive signal that expressed that the project was dynamic and evolving. While that point of view is somewhat understandable, it&#8217;s somehow &#8220;dangerous&#8221; too. People often don&#8217;t take projects with a zero in front not seriously. Many projects even classify their status as alpha or beta for many many years. Nevertheless, they release new versions to the public from time to time. How can this be, if the project is not ready for use?</p>
<p>A common misconception is that a project that releases something with a 1.0 is finished or has completed the vision for the project. Another &#8220;advantage&#8221; of the leading zero is that you can react to critics that the project itself is not finished and the complains will be resolved when 1.0 will be released. But are there critics that complain in this way and if there are, do they really buy the argument that this is due to the beta status?</p>
<p>I think not! When you are so satisfied that you want to release a stable version to the public (I exclude &#8220;real&#8221; beta versions and release candidates here), then you should consider to start with a 1.0 when you use this kind of version number scheme. It&#8217;s not a problem if a 1.0 release is not feature complete, that is what future releases are for. Just use 1.0 for the first release where your software does something useful (otherwise it wouldn&#8217;t make much sense to release, doesn&#8217;t it?) and then go up from here in your self defined steps. The common scheme is #major.#minor.#patch, where #patch is increased by (security) bugfix releases, #minor is increased when smaller changes have been made that are usually compatible with the prior releases with for example saved files, interfaces, &#8230; and #major is increased by big changes that the team considers as big step ahead. New major releases are also a good point in time for breaking compatibility or getting rid of deprecated stuff.</p>
<p>Using a reasonable version scheme with appropriate numbers, people will take the project more serious, business users won&#8217;t get a headache when they have to convince their boss that the 0.0.1alpha3 version of your project is more stable and reliably than the version number suggests. Don&#8217;t get me wrong, a version number does not make the your project more reliable, stable or whatever, it just changed the perception of the project and provides a more professional &#8220;look&#8221;.</p>
<p><strong>Alternative schemes</strong></p>
<p>Another thing that has established at least in the last decade is that major or sometimes even minor releases get code names that make them memorable. Ubuntu for example uses alliterations like Karmic Koala, Dapper Drake etc. to name the﻿ir releases (major + minor according to the scheme above). KDE has code names for their beta series for a release. This makes it a lot easier in communication with your users and within the team to speak of the karmic release than release 10.04 or the 1.2.x series. Some projects follow a strict pattern in choosing their release names, for example Debian uses toy story character names, if you need plenty names, you might want to have a look at names appearing in the lord of the rings series. ;-) Another reason for assigning names to releases is as reminder of project members that died, this has happened to the postnuke project and the next series was named the &#8220;Adam Baum&#8221; (Greg Allens pseudonym) release. He lost his life in motorcycle accident.</p>
<p>Another thing that might be worth mentioning is that there are more schemes than the major.minor.patch scheme. The decision whether a new release is a next major release or just a minor or maybe even if the minor version should be raised by two or more may take quite a lot of time and some people are really serious in this area and escalate this decision to a full blown conflict. You might also just use the year and the month as version number or year and a running number for the releases of the year, example ubuntu like #year.#month (9.10, 10.04, &#8230;) or #year.#counter (10.01, 10.02, 10.03, &#8230;). This has the advantage or disadvantage (depending on your point of view) that people see in a glance how old th﻿e release is, so this may be only usable when you have a more or less steady release schedule with at least one release per year. I like it for projects with a  high visibility, small tools won&#8217;t benefit from it, but it&#8217;s worth considering, when you plan your release strategy and decide the version number scheme.</p>
<p>One last thing about creative version number schemes&#8230;<br />
Don&#8217;t use only code names or start decreasing version numbers without a reason or you will bring projects like the linux distributions into trouble, because their package managers depend on version numbers that are only increased. Otherwise their update functions will fail. This also is a problem when you&#8217;re changing your version number scheme after a while, so don&#8217;t forget your distributors!</p>
<p><strong>Conclusion</strong></p>
<p>Version numbers are not an easy topic, implications on the perception of the project are not always as easy to grasp as we&#8217;d like to. So spend at least little time when the project starts to release stable versions. 0.x version numbers and beta stickers are out. People like reliable software that takes itself and it&#8217;s users serious.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openprojectguide.org/2010/03/numbers-are-nothing-but-smoke-and-mirrors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The emperor wants to see you &#8211; being a good project leader</title>
		<link>http://www.openprojectguide.org/2010/01/the-emperor-wants-to-see-you/</link>
		<comments>http://www.openprojectguide.org/2010/01/the-emperor-wants-to-see-you/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 21:54:59 +0000</pubDate>
		<dc:creator>patrick.c</dc:creator>
				<category><![CDATA[Talk posts]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[early-phase]]></category>
		<category><![CDATA[introduction]]></category>
		<category><![CDATA[social-skills]]></category>
		<category><![CDATA[talk]]></category>

		<guid isPermaLink="false">http://www.openprojectguide.org/?p=72</guid>
		<description><![CDATA[Sometimes people start to behave weird when they are in control or able to influence others. They act rude, or for example are mean to their users or project members&#8230; So, take a second and reflect if you are doing similar things and hurting your project and reputation. Disclaimer: It&#8217;s sad, but there are many [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes people start to behave weird when they are in control or able to influence others. They act rude, or for example are mean to their users or project members&#8230; So, take a second and reflect if you are doing similar things and hurting your project and reputation.</p>
<p><span id="more-72"></span></p>
<p>Disclaimer: It&#8217;s sad, but there are many examples of bad leadership in the open source sphere. I normally don&#8217;t want to do name calling, but I think that  learning by example is a good approach in this case. If you feel insulted by one of the examples, feel free to drop me a line and I&#8217;ll rewrite or delete the example.</p>
<p><strong>Are you a ruler or a leader?</strong></p>
<p>You have started a project and it&#8217;s your baby. You have a few people helping in the project and they trust your decisions. As the project progresses, conflicting interests appear. Maybe it&#8217;s because of the main direction of the project or just features someone wanted to implement that don&#8217;t fit in your agenda. This happens a lot. When this has happened before and their ideas have not been appreciated, then often the people step back and don&#8217;t do the stuff they&#8217;d like to accomplish.</p>
<p>This may be the result of a general pattern that has established in your project. People don&#8217;t step up to their opinions because they&#8217;re used that they can&#8217;t get through with it anyway. At least they think that this happen. This is a dangerous state for a project. People will be drawn away from the project in the long run or maybe a revolt will form and the project is forked by the disappointed members.<br />
So what can you do to to prevent your project from going down that road? It&#8217;s as simple as it&#8217;s important: treat your project members as equals! Of course a project needs someone who makes sure that the project has a clear vision, but try to keep a balance between the vision and the reality. Maybe the vision just needs to be updated to reflect the vision of the whole team. The difference between a ruler and a leader is that the leader is open to eliminate or postpone some of his wishes in favor of wishes of the team or team members. This creates a more open environment which enables the project to grow and prosper.<br />
Long story short: <em>Try to keep an open mind for input from your team and your users. Periodically reflect if you are really listening to them to make sure that a bad atmosphere not slowly sneaks into your project.</em></p>
<p><strong>Your behavior influences the reputation of your projects</strong></p>
<p>Even if you are nice and understanding to your team members (or you don&#8217;t have any yet), be aware that your behavior in forums, mailing lists etc. is visible to others. It&#8217;s sad, but there are many people out there who don&#8217;t think about the effects that their behavior has on their online reputation. Some people even don&#8217;t care and misbehave in publicly visible places.</p>
<p>There are many prominent people with &#8211; let&#8217;s put it that way &#8211; questionable social skills. Starting with more or less rude behavior of well known &#8220;open source gurus&#8221; like Linux Torvalds, whose rants are widely known. But there are also people like the author of one of the best cd/dvd burning programs for linux/solaris/&#8230; who is known for his rude behavior. Linus has earned enough reputation that his behavior has no bad effect on his projects like git or the linux kernel and his projects have many people who join them or want to join them. On the other hand, our good friend with the cd/dvd burning application is more known for his rudeness and you won&#8217;t find many people that really want to work with him.<br />
In short: <em>Be nice or your project and your &#8220;karma&#8221; may/will suffer!</em></p>
<p><strong>Conclusion</strong></p>
<p>There are many things you can do wrong when you&#8217;re communicating with your project members or in public channels. Keep in mind it&#8217;s a good approach to treat others like you want to be treated yourself. This often helps to keep your communication straight and honest. I like the concept of karma that Tobias Schlitt mentioned in his blog post. And you don&#8217;t want to mess with karma, so be nice! ;-)</p>
<p><strong>References</strong></p>
<ul>
<li><a href="http://greg.chiaraquartet.net/archives/171-10-golden-rules-for-running-an-open-source-project.html" target="_blank">http://greg.chiaraquartet.net/archives/171-10-golden-rules-for-running-an-open-source-project.html</a></li>
<li><a href="http://schlitt.info/opensource/blog/0541_10_golden_rules_for_starting_with_open_source.html" target="_self">http://schlitt.info/opensource/blog/0541_10_golden_rules_for_starting_with_open_source.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.openprojectguide.org/2010/01/the-emperor-wants-to-see-you/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>So, you&#8217;re the new one &#8230; &#8211; integrating new people in your project</title>
		<link>http://www.openprojectguide.org/2009/12/so-youre-the-new-one/</link>
		<comments>http://www.openprojectguide.org/2009/12/so-youre-the-new-one/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 15:21:01 +0000</pubDate>
		<dc:creator>patrick.c</dc:creator>
				<category><![CDATA[Talk posts]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[early-phase]]></category>
		<category><![CDATA[introduction]]></category>
		<category><![CDATA[social-skills]]></category>
		<category><![CDATA[talk]]></category>

		<guid isPermaLink="false">http://www.openprojectguide.org/?p=45</guid>
		<description><![CDATA[This blog post deals with the mistakes and opportunities you might encounter when you&#8217;re trying to integrate new people in the project. The problems range from a too high entrance barrier to overly caring project leads that suffocate new members&#8230; So you attracted a new member&#8230; Especially when you&#8217;re team is small, then it&#8217;s a big [...]]]></description>
			<content:encoded><![CDATA[<p>This blog post deals with the mistakes and opportunities you might encounter when you&#8217;re trying to integrate new people in the project. The problems range from a too high entrance barrier to overly caring project leads that suffocate new members&#8230;</p>
<p><span id="more-45"></span></p>
<p><strong>So you attracted a new member&#8230;</strong></p>
<p>Especially when you&#8217;re team is small, then it&#8217;s a big deal when new people join it. You are eager to integrate them, but there are many things you can do wrong and drive them away from your project. It&#8217;s not an easy task if you are not used to it to get someone involved. And you always have to take care that you don&#8217;t ask too much of the new member or bore him to death. In short: <em>when you have a new member, try to keep him interested but protect him from &#8220;information overload&#8221;.</em></p>
<p><strong>&#8220;Here read this comprehensive guide&#8230;&#8221;</strong></p>
<p>There are projects like debian for example, that have a pretty rigid recruiting process. You have to prove worthy for a long period before you gain the rights to really participate. There are other projects out there that also follow this principle, which basically is based on mistrust on new developers. That is understandable for projects that are as big and popular as the debian project for example, but this approach has several disadvantages that you should keep in mind. Your project has the possibility to keep only the &#8220;best&#8221; developers and discard the ones you don&#8217;t like in the process before they can do harm. This sounds good in the first place, but you also discourage many good people from trying to get involved because they don&#8217;t like to be treated in this way. And even the people that survived the selection process may turn out as &#8220;malicious&#8221; in the long run. Long story short: <em>think about the negative implications before setting up a rigid process.</em></p>
<p><strong>&#8220;He joined and was never seen since&#8230; :-(&#8220;</strong></p>
<p>One thing that you&#8217;ll notice very soon is, that people are very excited about your project, do everything to join it and maybe even start some tasks and suddenly they keep a low profile. You&#8217;re trying to contact them and receive no answer on your mails, IM messages etc. Many people think that they have done something wrong and repelled the new member. But the truth is that this happens a lot. Sometimes the people will write back a few months later and apologize but most of the times they play dead after they realize that they should have contacted you because they are embarrassed. When something like this happens, think if you might have done something wrong, If you find nothing obvious, you can be pretty sure that it&#8217;s not your fault. Long story short: <em>people sometimes disappear because of personal reasons &#8211;  this is pretty normal, get over it.</em></p>
<p><strong>&#8220;OMG he killed our source code repository&#8230;&#8221;</strong></p>
<p>When you&#8217;re project is very small and new people join, then it&#8217;s not unlikely that you want to integrate them as soon as possible into the project. So you&#8217;re giving them administrator rights at sourceforge and the password to the webserver to keep them busy and give them the freedom to help in any way they like. This sounds silly if it&#8217;s written down in compressed form, but this happens and sometimes this has negative consequences. The new member might damage parts of the infrastructure either intentionally or by accident. This is not unlikely, because especially non-linux/-unix people have often problems with shell access, ftp, file permissions etc. In short:<em> Take care that only people you trust and who know what they are doing get unlimited access to the core infrastructure of your project!</em></p>
<p><strong>&#8220;He is so lazy and always asks dumb questions&#8230;&#8221;</strong></p>
<p>Some people expect that new members have from the start a complete understanding of the sourcecode and the underlying infrastructure, of course they also should know all the tools they need. If they don&#8217;t then it&#8217;s their duty to learn it before they ask dumb questions&#8230; Another variant of this behavioral pattern could be described as &#8220;fire and forget&#8221;. You introduce the new member and then he is on his own, without help and guidance. Sadly quite a few projects act like that and many new members get disappointed and leave the project soon. It doesn&#8217;t have to be this way and even when this is a spare time project, the &#8220;old wise members&#8221; should take some time and help the new members. Just because they don&#8217;t know everything yet doesn&#8217;t mean that they won&#8217;t be helpful members after they got properly introduced in the projects technologies and procedures. To summarize it: <em>there are no dumb questions, only dumb answers! Take your time with the newbies it&#8217;s worth it!</em></p>
<p><strong>&#8220;I do my very best to help him&#8230;&#8221;</strong></p>
<p>The direct opposite of the mistake above is that the project is too protective and too &#8220;kind&#8221;. The new member is bombarded with good advices, links and help offerings. This may as well drive people away. It looks desperate and may drive the new members crazy. Offering too much help introduces a feeling of pressure, even if it&#8217;s not meant this way. In short: <em>Don&#8217;t exaggerate with help offerings, try to balance between negligence and over caring.</em></p>
<p><strong>Setting up a process helps</strong></p>
<p>To avoid the problems I have mentioned above, you should think about introducing processes. This might sound boring and you don&#8217;t like it, because it reminds you on your work, but clear guidelines help new people to fit in the group and learn the processes that exist anyway, no matter if they are written down or not. Thinking about the processes helps to improve them. Consider for example check-in or code style rules. Every project needs some kind of common understanding in theses areas and new people need to learn these. Without written down rules, they have to do trial &amp; error which can be pretty frustrating. Even harder are social rules like who is responsible for what and who decides when there are conflicts. You should consider if it&#8217;s possible to assign a mentor to the new member, so the new one has one dedicated person to ask questions. But the mentor needs to be motivated and willing to help. Otherwise it will do more harm then help. Long story short: <em>By formalizing the internal rules and roles you make it a lot easier for new people to blend in.</em></p>
<p><strong>Knowing their motivation</strong></p>
<p>Everybody who joins a project expects something in return. Some people like to participate in publicly highly visible projects to get reputation in a field, others just like to code and practice their profession or hobby. Of course there are much more different aspects why someone joins a project, but as a project lead you should try to find out what the motivation is and help the members to get the most joy out of their involvement. You can do this by giving the right tasks to the right people, giving credit to the team or even assigning roles to people, so they can do what they like most.This way you can maintain a healthy project with satisfied members. As a summary: <em>Knowing the motivation of your fellow team members and acting to fit their needs will greatly benefit our project.</em></p>
<p><strong>Comprehension</strong></p>
<p>There are many ways to drive people away from your project, but there are also many ways to attract them if you do it right. Take your time to introduce new people, maybe select mentors that help the newbies in the first few months. Be clear what you expect from people and where you help them to shape their expectations and prevent them from being disappointed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openprojectguide.org/2009/12/so-youre-the-new-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making common cause &#8211; it&#8217;s more fun to work in a team</title>
		<link>http://www.openprojectguide.org/2009/12/making-common-cause/</link>
		<comments>http://www.openprojectguide.org/2009/12/making-common-cause/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 13:11:58 +0000</pubDate>
		<dc:creator>patrick.c</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[communication]]></category>
		<category><![CDATA[early-phase]]></category>
		<category><![CDATA[introduction]]></category>
		<category><![CDATA[social-skills]]></category>
		<category><![CDATA[talk]]></category>

		<guid isPermaLink="false">http://www.openprojectguide.org/?p=39</guid>
		<description><![CDATA[This article deals with the fun aspect of building a project team. There are many things you can profit from when you participate in a project. I am going to write about a few of them&#8230; It&#8217;s more fun if you don&#8217;t do it alone As mentioned in the second blog post, open source software exists [...]]]></description>
			<content:encoded><![CDATA[<p>This article deals with the fun aspect of building a project team. There are many things you can profit from when you participate in a project. I am going to write about a few of them&#8230;</p>
<p><span id="more-39"></span><strong>It&#8217;s more fun if you don&#8217;t do it alone</strong></p>
<p>As mentioned in the <a href="http://www.openprojectguide.org/2009/12/not-invented-here-syndrome-–-start-or-join-a-project/" target="_blank">second blog post</a>, open source software exists because passionate people join in team and produce software. Working together is a great aspect of being in an open source team. If you have never worked in a small/medium sized team with nice people, then you&#8217;re missing a great opportunity. When you&#8217;re working in and with the team and you&#8217;re spending hours in mailing lists and chats, then you&#8217;ll have the chance to form friendships with your team mates. Team meetings are also a nice way of getting to know each other. I&#8217;ll write a separate article about this later. So please keep in mind: <em>Working alone is boring. Collaborating is fun.</em></p>
<p><strong>Training social skills</strong></p>
<p>Rumors exist that IT affine people are socially &#8220;not that well educated&#8221;. Participating in a project is your chance to change that, if you&#8217;re belonging to this group. ;-) When you&#8217;re in a team, sometimes conflicts happen. Especially when you&#8217;re the project lead then you&#8217;ll have the chance to exercise your conflict solving skills. Small teams are normally pretty easy to handle, but starting at medium sized teams you&#8217;ll see several kinds of internal conflicts or struggles, which are perfectly normal when a group of people comes together. There are always some people who don&#8217;t like each other or can&#8217;t integrate in the group. If you notice that, then you can try to help in solving the conflict. This is great for training this kind of problem solving. Things like this will happen in your work life anyway, so it&#8217;s better to practice when your career is not in danger, when you mess things up. ;-) So as we all know, social skills were getting much more important in the last decade. In short: <em>Being in team can improve your social skills &#8211; try it!</em></p>
<p><strong>Communication training is expensive &#8211; helping in a project is free</strong></p>
<p>All well running projects require a lot communication, either internal or external. Especially for non native speakers, it&#8217;s a chance to improve their English. Most projects use English as their default language to make it easy for developers from any country to join the team. If your project has no one who handles the external communication, it&#8217;s your chance to step up and do it yourself. It&#8217;s a good training and depending on your user base you even might get some constructive feedback on your announcements and other form of communication. Long story short: <em>Communication is of great importance in every aspect of our daily life &#8211; take your chances to practice&#8230;</em></p>
<p><strong>Conclusion</strong></p>
<p>Working in a team is the fun part. Get something from your open source involvement back and improve your social skills. You can even train your other communication skills and your English, if you&#8217;re not a native speaker. Open source is not only for students and unemployed people. Improve yourself by helping others&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openprojectguide.org/2009/12/making-common-cause/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

