<?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</title>
	<atom:link href="http://www.openprojectguide.org/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>Oracle sues Google over JVM technique related patent infringements &#8211; time for a Java fork?</title>
		<link>http://www.openprojectguide.org/2010/08/oracle-sues-google-over-jvm-technique-related-patent-infringements-time-for-a-java-fork/</link>
		<comments>http://www.openprojectguide.org/2010/08/oracle-sues-google-over-jvm-technique-related-patent-infringements-time-for-a-java-fork/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 08:07:17 +0000</pubDate>
		<dc:creator>patrick.c</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://www.openprojectguide.org/?p=169</guid>
		<description><![CDATA[Oracle starts to show his disrespect for the java ecosphere.  Oracle published a press release on 12th august 2010 that they are suing Google about patents presumably used in android. This results in a lot of fear in the industry that they may be next. This hurts Suns former goal to make java a language [...]]]></description>
			<content:encoded><![CDATA[<p>Oracle starts to show his disrespect for the java ecosphere.  Oracle published a press release on 12th august 2010 that they are suing Google about patents presumably used in android. This results in a lot of fear in the industry that they may be next. This hurts Suns former goal to make java a language that is widely used. There are millions of people out there who use java to earn a living. Is this on stake now? Would I as a company try to find alternatives now to mitigate the risk of Oracle go even more haywire? Of course I would. And if I&#8217;m getting familiar with the new alternative, then I&#8217;d switch over completely, when the new solution fits my needs. Why should I keep up the risky java business?</p>
<p>I think that Oracle did a great mistake by suing Google. But after all, java is kind of open source, it&#8217;s mainly protected by trademarks and obviously some patents, which sun should have donated to a separate organisaion long ago&#8230; So what can we do? Maybe we should use the open source spirit and show oracle that a blade can have two sides and start a java fork.</p>
<p>After all, there are plenty of JVMs out there, the specification if freely available. The language itself is standardized. Why not create a fork and get rid of code and features that is blocked by patents and invalidate as many oracle java/jvm patents by prior art as possible. Put the new ecosphere in the hands of a foundation that is lead by the interested companies and highly rated individuals from the java community to ensure that the cancer doesn&#8217;t come back. I am sure that google would be delighted to help in this process and I guess that IBM wouldn&#8217;t mind either to get rid of Oracle as gatekeeper.</p>
<p>We all play in a publicly available playground that has been build by a (presumably) nice guy and then a bully comes, takes over the nice guys business and starts kicking out some people whose face he don&#8217;t likes. What do you think? Should we keep playing or show the bully that he may have bought the playground, but without us, it will be pretty boring?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openprojectguide.org/2010/08/oracle-sues-google-over-jvm-technique-related-patent-infringements-time-for-a-java-fork/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Participate in the survey: agile open source development</title>
		<link>http://www.openprojectguide.org/2010/06/participate-in-the-survey-agile-open-source-development/</link>
		<comments>http://www.openprojectguide.org/2010/06/participate-in-the-survey-agile-open-source-development/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 07:45:30 +0000</pubDate>
		<dc:creator>patrick.c</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[froscon]]></category>
		<category><![CDATA[talk]]></category>

		<guid isPermaLink="false">http://www.openprojectguide.org/?p=160</guid>
		<description><![CDATA[Hi! I am preparing a talk, that I will give at an open source conference in august (http://www.Froscon.org). The topic is &#8220;agile open source development&#8221; and I&#8217;m looking for projects that like to participate and help me to gather some data about agile techniques in these projects. Often projects don&#8217;t realize that they use agile [...]]]></description>
			<content:encoded><![CDATA[<p>Hi!</p>
<p>I am preparing a talk, that I will give at an open source conference in august (http://www.Froscon.org). The topic is &#8220;agile open source development&#8221; and I&#8217;m looking for projects that like to participate and help me to gather some data about agile techniques in these projects.<br />
Often projects don&#8217;t realize that they use agile techniques, so it would be nice if you and/or the team could answer the questions and send me an email to <a href="mailto:cornelis@pcornelissen.de">cornelis@pcornelissen.de</a> and place your project name and &#8220;[TALK]&#8221; in the subject, so my mail filters can mark the mails accordingly.</p>
<p>There are no wrong answers and it&#8217;s completely ok, if your project does not use any of the mentioned techniques!</p>
<p>To be able to use the data for the talk it would be nice if you could send me the reply before the 20th of july. If you can&#8217;t make it for that date, I can use it nevertheless, because I&#8217;m going to write a blog entry after I gave the talk about the topic.</p>
<p>I&#8217;d like to thank you in advance for your time and effort! If you have any questions, feel free to contact me.</p>
<p>If you are involved in multiple projects, feel free to send me multiple replies to this mail. You may also send this to other people/projects you know, if you think they might want to participate.</p>
<p>BTW: I am also interested in negative experiences with certain techniques or agile development as a whole (in the context of open source projects).</p>
<p>The survey won&#8217;t take long and I&#8217;ll give credit to each project in the talk and the blog post, that I&#8217;ll write afterwards!</p>
<p><span id="more-160"></span></p>
<p>Let&#8217;s start:</p>
<p>1. Would you like to get your project mentioned in the talk? (Otherwise I won&#8217;t mention the project, just the results)</p>
<p>2. How many project members also work in software development in their &#8220;regular&#8221; job? (The regular job may as well be to work on the project)</p>
<p>3. Is your project based in a company?</p>
<p>4. Do you use agile project management processes like Scrum, eXtreme Programming, lean development or similar?</p>
<p>5. Are you using timeboxed releases? (Releases every x months for example like Gnome or Ubuntu)</p>
<p>6. Are you doing retrospectives after a release or at all in your project?</p>
<p>7. Are you using a version control system? (CVS,SVN,GIT,&#8230;) Which one? Are you using branches etc. or only one line for development?</p>
<p>9. Are you writing unit tests for your code? (junit, phpunit,&#8230;) Are you doing automated UI-tests? (With for example Selenium)</p>
<p>10. Are you doing peer reviews of new code? If this is the case, are you doing it only for new developers or for &#8220;old devs&#8221; too?</p>
<p>11. If you are writing unit tests, do you also do continous integration on a daily or per checkin basis?</p>
<p>12. Are you doing early releases or fast iterations to get your code as soon as possible to your users or do you have rather long release cycles?</p>
<p>13. Is there collective code ownership or do you have code that only one or a few people are &#8220;allowed&#8221; to touch? How many people are able to make changes everywhere? (how good is codebase known to the team)</p>
<p>14. Are you using a bug-/tasktracker to handle user requests like bug reports or feature requests? Which one?</p>
<p>15. How are you planning your releases? Do they just &#8220;materialize&#8221; or do you use user stories or similar techniques to plan your iterations/releases?</p>
<p>14. How are you documenting your project? (Inline documentation like Javadoc, Wiki, Tasktracker like Bugzilla/Jira,&#8230;)</p>
<p>15. Do you have regular team meetings like &#8220;daily standup&#8221; meetings (which are of course difficult in distributed teams)? Maybe scheduled IRC meetings or constant communication via chat,IM,Skype,&#8230;?</p>
<p>16. Are there chances for face to face communication in the project for example via team meetings in real life?</p>
<p>17. Are there developers who are co-located (or at least live close to another, so they can meet if necessary)</p>
<p>18. Are you using pair programming via internet or co-location?</p>
<p>19. Are there any other things you&#8217;d like to mention in context of agile development and your project?</p>
<p>Thanks for your time!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openprojectguide.org/2010/06/participate-in-the-survey-agile-open-source-development/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fixed WordPress&#8230;</title>
		<link>http://www.openprojectguide.org/2010/06/fixed-wordpress/</link>
		<comments>http://www.openprojectguide.org/2010/06/fixed-wordpress/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 18:03:33 +0000</pubDate>
		<dc:creator>patrick.c</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://www.openprojectguide.org/?p=156</guid>
		<description><![CDATA[The wordpress installation was broken and the article links didn&#8217;t work. Now they should work again&#8230;]]></description>
			<content:encoded><![CDATA[<p>The wordpress installation was broken and the article links didn&#8217;t work. Now they should work again&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openprojectguide.org/2010/06/fixed-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Preparing FrOSCon talk &#8211; agile open source development</title>
		<link>http://www.openprojectguide.org/2010/06/preparing-froscon-talk-agile-open-source-development/</link>
		<comments>http://www.openprojectguide.org/2010/06/preparing-froscon-talk-agile-open-source-development/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 17:59:26 +0000</pubDate>
		<dc:creator>patrick.c</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[talk]]></category>

		<guid isPermaLink="false">http://www.openprojectguide.org/?p=153</guid>
		<description><![CDATA[In august I&#8217;m giving a talk on agile open source development. I have prepared an email with questions for open source projects that use or have tried agile techniques. If you know a project that may be interested to participate and get some coverage in the talk, please contact me at cornelis@pcornelissen.de The talk will [...]]]></description>
			<content:encoded><![CDATA[<p>In august I&#8217;m giving a talk on agile open source development. I have prepared an email with questions for open source projects that use or have tried agile techniques. If you know a project that may be interested to participate and get some coverage in the talk, please contact me at <a href="mailto:cornelis@pcornelissen.de">cornelis@pcornelissen.de</a></p>
<p>The talk will be in german, but after the conference, I&#8217;ll write a blog post here in english.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openprojectguide.org/2010/06/preparing-froscon-talk-agile-open-source-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nice video regarding managing open source projects</title>
		<link>http://www.openprojectguide.org/2010/04/nice-video-regarding-managing-open-source-projects/</link>
		<comments>http://www.openprojectguide.org/2010/04/nice-video-regarding-managing-open-source-projects/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 10:59:23 +0000</pubDate>
		<dc:creator>patrick.c</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[froscon]]></category>
		<category><![CDATA[talk]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.openprojectguide.org/?p=150</guid>
		<description><![CDATA[I am watching the video of Alexandra Leisses talk at the Froscon 2009 with the title &#8220;Managing the Unmanageable&#8221;. You can download it at: ftp://ftp.stw-bonn.de/pub/froscon/2009/prerelease_please_do_not_redistribute/sa/hs12/&#8230; It is a nice talk and worth watching! (Language is english!)]]></description>
			<content:encoded><![CDATA[<p>I am watching the video of Alexandra Leisses talk at the Froscon 2009 with the title &#8220;Managing the Unmanageable&#8221;.</p>
<p>You can download it at:</p>
<p><a href="ftp://ftp.stw-bonn.de/pub/froscon/2009/prerelease_please_do_not_redistribute/sa/hs12/2009_08_22_-_HS12_-_EN_-_Managing_the_Unmanageable.ogg">ftp://ftp.stw-bonn.de/pub/froscon/2009/prerelease_please_do_not_redistribute/sa/hs12/&#8230;</a></p>
<p>It is a nice talk and worth watching! (Language is english!)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openprojectguide.org/2010/04/nice-video-regarding-managing-open-source-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google summer of code 2010 &#8211;  students, apply now!</title>
		<link>http://www.openprojectguide.org/2010/03/google-summer-of-code-2010-students-apply-now/</link>
		<comments>http://www.openprojectguide.org/2010/03/google-summer-of-code-2010-students-apply-now/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 09:53:28 +0000</pubDate>
		<dc:creator>patrick.c</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://www.openprojectguide.org/?p=147</guid>
		<description><![CDATA[The projects have been chosen, now it&#8217;s up to the students to apply for certain tasks. So if you are a student and you have spare time left, need a little bit of money and you want to help the open source community, then go to: http://google-opensource.blogspot.com/2010/03/students-apply-now-for-google-summer-of.html And check the available projects and tasks :-)]]></description>
			<content:encoded><![CDATA[<p>The projects have been chosen, now it&#8217;s up to the students to apply for certain tasks. So if you are a student and you have spare time left, need a little bit of money and you want to help the open source community, then go to:</p>
<p><a href="http://google-opensource.blogspot.com/2010/03/students-apply-now-for-google-summer-of.html">http://google-opensource.blogspot.com/2010/03/students-apply-now-for-google-summer-of.html</a></p>
<p>And check the available projects and tasks :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openprojectguide.org/2010/03/google-summer-of-code-2010-students-apply-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Video of my (german) Froscon talk finally online</title>
		<link>http://www.openprojectguide.org/2010/03/video-of-my-german-froscon-talk-finally-online/</link>
		<comments>http://www.openprojectguide.org/2010/03/video-of-my-german-froscon-talk-finally-online/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 09:20:39 +0000</pubDate>
		<dc:creator>patrick.c</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[Talk posts]]></category>
		<category><![CDATA[froscon]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[talk]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.openprojectguide.org/?p=145</guid>
		<description><![CDATA[I held a talk about things to consider, when you&#8217;re starting an open source project and what you can do to keep it alive. The talk is in german (sorry, no subtitles, but the talk is the insparation for this blog, so you can more or less read what I have talked about here). I [...]]]></description>
			<content:encoded><![CDATA[<p>I held a talk about things to consider, when you&#8217;re starting an open source project and what you can do to keep it alive. The talk is in german (sorry, no subtitles, but the talk is the insparation for this blog, so you can more or less read what I have talked about here). I have fixed the sound, because the microphone had some minor problems. There are a few minutes where the sound is a little bit crappy.</p>
<p>See the video here: <a href="http://www.bit.ly/chxBnC" target="_blank">Froscon &#8220;Open Source Projekte starten und am Leben halten&#8221; auf Vimeo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.openprojectguide.org/2010/03/video-of-my-german-froscon-talk-finally-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google summer of code &#8211; projects, apply now!</title>
		<link>http://www.openprojectguide.org/2010/03/google-summer-of-code-projects-apply-now/</link>
		<comments>http://www.openprojectguide.org/2010/03/google-summer-of-code-projects-apply-now/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 11:23:20 +0000</pubDate>
		<dc:creator>patrick.c</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[external-help]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://www.openprojectguide.org/?p=140</guid>
		<description><![CDATA[It&#8217;s time again. If you want google to pay someone, so he helps in your project, apply now! http://code.google.com/soc Citation from the gsoc homepage: About Google Summer of Code Google Summer of Code is a global program that offers student developers stipends to write code for various open source software projects. We have worked with several [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s time again. If you want google to pay someone, so he helps in your project, apply now!</p>
<p><a href="http://code.google.com/soc">http://code.google.com/soc</a></p>
<p><span id="more-140"></span>Citation from the gsoc homepage:</p>
<blockquote>
<h2>About <em>Google Summer of Code</em></h2>
<p><em>Google Summer of Code</em> is a global program that offers student developers stipends to write code for various open source software projects. We have worked with several open source, free software, and technology-related groups to identify and fund several projects over a three month period. Since its inception in 2005, the program has brought together nearly 2500 successful student participants and 2500 mentors from 98 countries worldwide, all for the love of code. Through <em>Google Summer of Code</em>, accepted student applicants are paired with a mentor or mentors from the participating projects, thus gaining exposure to real-world software development scenarios and the opportunity for employment in areas related to their academic pursuits. In turn, the participating projects are able to more easily identify and bring in new developers. Best of all, more source code is created and released for the use and benefit of all.</p>
<p>To learn more about the program, peruse our 2010 <a href="http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs">Frequently Asked Questions</a> page. You can also subscribe to the <a href="http://google-opensource.blogspot.com/">Google Open Source Blog</a> or the <a href="http://groups.google.com/group/google-summer-of-code-discuss">Google Summer of Code Discussion Group</a> to keep abreast of the latest announcements.</p></blockquote>
<p>Keep in mind:</p>
<blockquote><p>Mentoring organization applications must be submitted by Friday, March 12, 2010 at 23:00 UTC.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.openprojectguide.org/2010/03/google-summer-of-code-projects-apply-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spread the word &#8211; communicating with your users Part 1</title>
		<link>http://www.openprojectguide.org/2010/03/spread-the-word-communicating-with-your-users-part-1/</link>
		<comments>http://www.openprojectguide.org/2010/03/spread-the-word-communicating-with-your-users-part-1/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 18:47:21 +0000</pubDate>
		<dc:creator>patrick.c</dc:creator>
				<category><![CDATA[Talk posts]]></category>
		<category><![CDATA[early-phase]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[introduction]]></category>
		<category><![CDATA[talk]]></category>

		<guid isPermaLink="false">http://www.openprojectguide.org/?p=130</guid>
		<description><![CDATA[For us developers, it&#8217;s easy to write the code, but that is not all a good project needs to do. You have to provide information on your project, the releases, the schedules and how to use your software. That&#8217;s a bunch of work, how can you fulfill the user expectations? The website, a first step [...]]]></description>
			<content:encoded><![CDATA[<p>For us developers, it&#8217;s easy to write the code, but that is not all a good project needs to do. You have to provide information on your project, the releases, the schedules and how to use your software. That&#8217;s a bunch of work, how can you fulfill the user expectations?<br />
<span id="more-130"></span><br />
<strong>The website, a first step</strong></p>
<p>You are writing your software and everything works well. Now you want to release the first beta version to the public. Where should you put the files online? Where would people read about your project?</p>
<p>As mentioned in the article &#8220;<a href="http://www.openprojectguide.org/2009/12/the-project-needs-a-home/">The project needs a home &#8211; where to host your project</a>&#8221; you might want to host everything on sourceforge, github or whatever hosting site you select. They often provide the option to put various information about your project online and the&#160;possibility&#160;to publish news. That&#8217;s a good start, but don&#8217;t forget to keep the information up to date. Nothing is more confusing than wrong information about the project, features, links to other sources of information regarding the project. That point is valid for self hosted websites as well as external hosting providers. A solution to ease the pain of maintaining the information are wikis. You can set them to read-only for anonymous readers, so only your team can change the pages.</p>
<p>When you are hosting the website yourself, please be aware that your server is constantly a target for hackers and when you host your source code there, it&#8217;s an even a more attractive target. Keep the software on the server up to date, be selective who gets access to the server itself. Keep more than one backup of the server to be able to restore everything in case something bad happened.</p>
<p><strong>Documentation, the voluntary exercise?</strong></p>
<p>People who would like to use your software will most likely need some form of guidance. Provide as much documentation as possible. Information on deployment/installation, usage of the software, developer info (if you are providing an API), etc.</p>
<p>But with a lot of documentation you&#8217;ll get a lot of responsibility. Don&#8217;t let the documentation be outdated or at least state somewhere where everyone can see it, which version you are referring to. Sometimes you are lucky and users from the community offer to help you with the user documentation. This happens frequently, but not on all projects! Take that chance and add these users to your team. They need to be informed about the current developments, so don&#8217;t just give them access to the wiki and let them do their work. There is a high chance that this won&#8217;t work out in the long run. They are valuable members of your team, so treat them as such.</p>
<p><strong>Which additional information might be valuable for the users?</strong></p>
<p>So you have a location to put information online (wiki, blog, cms,&#8230;), what should you put there?&#160;The answer is again pretty simple: as much as possible!</p>
<p>As a user it might be valuable to read how you can join the team or in which areas you &#160;desperately need help. Not everyone is brave enough and asks you directly. many people are shy and don&#8217;t want to bother the team, because they may have something better to do or the user just fears to be ignored. Be very clear in your communication and people will listen.</p>
<p>Another very neat kind of documentation are screenshots, webcasts and online demos. It doesn&#8217;t matter if your software can be installed in seconds on the users computer. When you provide screenshots, people will more often give your software a try. In the last 2-4 years projects started to put webcasts about their software online. This has several advantages, you have some kind of &#8220;moving screenshot&#8221;, so people get a quick impression how your software feels and you have nice looking &#8220;interactive&#8221; documentation, if you do them in right way. Give it a try!</p>
<p>When you have a team of several developers and the projects progresses, it may happen that no one has time left to write some nice articles about the progress the team has made. The developers know that there is progress in the project, but users normally don&#8217;t follow SVN commit mails, so they may just think that the silence is the sign of a dying project. Maybe someone in the community is willing to perform these actions on a regular basis.</p>
<p><strong>Single point of failure</strong></p>
<p>So, now you have your domains, maybe even a dedicated webserver and a paypal account for donations. Imagine now, the people that opened the accounts want to leave the project. You have a lot of work transferring the accounts, domains, &#8230; Sometimes people don&#8217;t go, they are kicked out of the project, that&#8217;s even more bad if they had a central role in the project before. You can imagine that getting the domain from a kicked project member might be tricky.</p>
<p>When your project reaches a certain size you should consider to start for example a non-profit foundation (&#8220;gemeinn&#252;tziger Verein&#8221; in Germany) that holds the rights on the accounts, domains etc. This way you are safe in case someone leaves the project and you might be able to get some funding from companies that like your project. But we&#8217;ll come back to that topic in another blog post.</p>
<p><strong>Conclusion</strong></p>
<p>So, organizing the (one-way)&#160;communication with your users can be done by providing a homepage with the necessary information. Put as much information up there as you can handle. It will be worth it, because many users just go to the next site when the project doesn&#8217;t provide the answers they are looking for. Also be careful to distribute the ownership of assets like server, domains, admin rights etc, so the project can continue when an important person is suddenly gone. In the next article we&#8217;ll have a look at two way communication with your users.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openprojectguide.org/2010/03/spread-the-word-communicating-with-your-users-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>1</slash:comments>
		</item>
		<item>
		<title>Release early, release often &#8211; plan your release cycle well</title>
		<link>http://www.openprojectguide.org/2010/03/release-early-release-often/</link>
		<comments>http://www.openprojectguide.org/2010/03/release-early-release-often/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 11:03:21 +0000</pubDate>
		<dc:creator>patrick.c</dc:creator>
				<category><![CDATA[Talk posts]]></category>
		<category><![CDATA[early-phase]]></category>
		<category><![CDATA[introduction]]></category>
		<category><![CDATA[release-planning]]></category>
		<category><![CDATA[talk]]></category>

		<guid isPermaLink="false">http://www.openprojectguide.org/?p=94</guid>
		<description><![CDATA[As soon as you have a decent user base, people will start to ask questions about your release cycle and/or when you will release next with which features, bugfixes etc.There are certain things that you might want to consider when you&#8217;re planning your releases. Finding your perfect release cycle Most projects have a &#8220;on demand&#8221; [...]]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste">As soon as you have a decent user base, people will start to ask questions about your release cycle and/or when you will release next with which features, bugfixes etc.There are certain things that you might want to consider when you&#8217;re planning your releases.</div>
<div><span id="more-94"></span></div>
<p><strong>Finding your perfect release cycle</strong></p>
<p>Most projects have a &#8220;on demand&#8221; release plan. When security problems occur or a stable application has been build, then a release is quickly announced and put online. This is ok as long as it is a smaller project. Especially when your project is used in a business environment, people will ask for plans and schedules so they can plan their updates. Another problem with irregular release schedules is that when the last release has been a long time ago, then people might get impatient and start to use your daily development exports or use a checkout from the version control system, that you are using (I hope). The problem is that the impatient users will lead to more and more support requests, because they are using a version that is not released yet.</p>
<p>So what to do? Communicate your plans early. People like to be informed. When your plan for the next release does not take the expected 6 months and after 2 years you&#8217;re not ready, then you should consider to change your plans and try to do intermediate releases. When you are planning big changes, then it&#8217;s a good idea to check if you can split your changes into smaller pieces to keep the time between releases smaller.</p>
<p>When you have enough time to dedicate for the project or you have a group of people that helps you to have a more or less constant stream of changes then you might consider to establish a regular release cycle like for example gnome or ubuntu (they release every 6 months). Sometimes it&#8217;s easier to determine the changes that fit in a release cycle than to determine how long a set of changes will take. The advantage is that you might even skip some changes when time is running short.</p>
<p><strong>Presumably dead projects</strong></p>
<p>As mentioned above, sometimes changes take longer than expected. The planned release takes a year or two longer and you&#8217;ve pulished none or just a few intermediate bugfix of feature releases. The effect is that your userbase might shrink, people start complaining, maybe even start a fork to return to a steady release cycles with more releases per year. There is also an effect on the team. Maybe not your whole team is involved in the blocking task(-s) that lead to the delayed release. They want to continue, but their tasks might not be ready when the current blockers are finished, so they are asked to wait to not destabilize the code base even more. That leads to frustration even in your team and may damage the team on the long run.</p>
<p><strong>How to deal with complex changes</strong></p>
<p>So there are changes that are small and medium sized and of course the big tasks that take virtually ages. How should you deal with that? No matter how good you plan there were always tasks that have a high probability to break your release plans. To solve this you can use techniques that are commonly used in &#8220;commercial&#8221; software development: feature branches!</p>
<p>Every version control system that I know of has the ability to copy a repository or a part of it (this is called branching) and there is another functionality called merging where you can merge the changes of one branch in the other branch and solve any conflicts where the same code lines have been changed. I don&#8217;t want to go too much into detail here, because it depends on the software you are using, but when you use this for any non trivial changes in your project, then it&#8217;s not a big deal when you are used to it.</p>
<p>So, how does this work? You have a main development branch which is usually called &#8220;trunk&#8221;. You plan for example to refactor a part of the system, then you branch the trunk and work on that branch on your refactoring. The rest of the team can do for example smaller changes or bugfixes on the trunk  or even other feature branches. When you like you can pull changes from the trunk in your branch if you feel that this is necessary. When you&#8217;re done, then you can merge your branch back into the trunk and your project has a shiny new feature or a cleaner codebase. The downside of this is that, when you have changed parts of the code and in the trunk people changed the same code pieces, then the version control system will complain and mark the file as conflicting. These conflicts have to be resolved manually. This happens in my experience not very often and when it happens it&#8217;s trivial to merge the changes and get the code running again. The chance of conflicts grows over time, when work is done in the trunk and the branch, but by pulling updates from the trunk in the branch you can minimize the chance of conflicts.</p>
<p>People often complain that this is too complex, they don&#8217;t know hot to do the branching and merging and they don&#8217;t believe in this anyway. Where does this come from? I think the answer is simple. When you don&#8217;t do branches, then you&#8217;re not &#8220;wasting&#8221; your time at the start by performing the branches and later when the merging occurs. But they don&#8217;t see the big picture. Development gets even easier when you do when you do this. You get used to branching and merging pretty soon and it&#8217;s not something you have to think a lot about. Everyone can develop their features without interfering too much with the rest of the team and when a feature is not ready when the planned release date approaches you can simply move it to the next release. So the whole team benefits from it, don&#8217;t get intimidated by some devs that are complaining. They&#8217;ll get use to it. ;-)</p>
<p><strong>Condclusion</strong></p>
<p>So, what have we learned here? Release plans are only as good as the techniques, you use to stick to them and purely code driven release schedules tend to get blown away by too complex tasks that have been underestimated. Use things like branching and/or discipline to establish a regular release schedule or at least be predictable and communicate your plans to give your users a chance to react, plan and look forward to your releases.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openprojectguide.org/2010/03/release-early-release-often/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rest in peace Kenai &#8211; but not for long (UPDATE)</title>
		<link>http://www.openprojectguide.org/2010/02/rest-in-peace-kenai/</link>
		<comments>http://www.openprojectguide.org/2010/02/rest-in-peace-kenai/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 09:20:26 +0000</pubDate>
		<dc:creator>patrick.c</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://www.openprojectguide.org/?p=97</guid>
		<description><![CDATA[Oracle decided to shut down the public services of Kenai  (the sun hosting site, that was announced on java-One last year). First I thought that the idea of combined standard services with a shared frontend for project hosting is dead. But today I received an email from the kenai admins and they clarified the oracle [...]]]></description>
			<content:encoded><![CDATA[<p>Oracle decided to shut down the public services of Kenai  (the sun hosting site, that was announced on java-One last year). First I thought that the idea of combined standard services with a shared frontend for project hosting is dead. But today I received an email from the kenai admins and they clarified the oracle strategy. The Kenai infrastructure will be merged into java.net, so kenai is not dead, it has switched bodies ;-)</p>
<p>I am really glad that oracle has decided in this way!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openprojectguide.org/2010/02/rest-in-peace-kenai/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>Divide and conquer &#8211; don&#8217;t do everything on your own</title>
		<link>http://www.openprojectguide.org/2009/12/divide-and-conquer/</link>
		<comments>http://www.openprojectguide.org/2009/12/divide-and-conquer/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 13:18:46 +0000</pubDate>
		<dc:creator>patrick.c</dc:creator>
				<category><![CDATA[Talk posts]]></category>
		<category><![CDATA[early-phase]]></category>
		<category><![CDATA[external-help]]></category>
		<category><![CDATA[introduction]]></category>
		<category><![CDATA[social-skills]]></category>
		<category><![CDATA[talk]]></category>

		<guid isPermaLink="false">http://www.openprojectguide.org/?p=56</guid>
		<description><![CDATA[Your project published a few releases and a small developer team is forming. You&#8217;re still doing the communication and web site maintenance. Time for real development is becoming smaller and smaller. Are you doing it right? Delegate! When you have started the project alone and created the first versions on your own, then you might [...]]]></description>
			<content:encoded><![CDATA[<p>Your project published a few releases and a small developer team is forming. You&#8217;re still doing the communication and web site maintenance. Time for real development is becoming smaller and smaller. Are you doing it right?<span id="more-56"></span><strong></strong></p>
<p><strong>Delegate!</strong></p>
<p>When you have started the project alone and created the first versions on your own, then you might think of it as your baby. It&#8217;s not easy to give up responsibility for certain areas. But the amount of administrative work will grow with the project. Try to find areas that you can delegate like Website maintenance, forum moderation or things like that. After a while when you know the other developers better, then you&#8217;ll find it easier to assign other tasks to them too. Just practice a little bit. ;-) To summarize this:  <em>Try to delegate even important tasks to capable trustworthy members to free up time for important things.</em></p>
<p><strong>&#8220;Activate&#8221; non-programmers</strong></p>
<p>After a while your project might form a small community of users. They often communicate via forums, mailinglists, IRC or something like that. Then you&#8217;ll have the chance to convince some of the users to help you, even if they are not programmers. Regular users that feel connected to the project, sometimes like to help as well. Try to leverage that enthusiasm and ask if they&#8217;d like to help. They may help you for example by:</p>
<ul>
<li>by doing official support in the forums/irc</li>
<li>help with improving the usability</li>
<li>helping with the Website &#8220;maintenance&#8221;</li>
<li>being the &#8220;community manager&#8221;</li>
<li>design for the homepage, the UI or a logo/&#8221;corporate design&#8221;</li>
<li>PR work/booth duties at conferences like LinuxTag, UbuntuCon, &#8230;</li>
<li>collect donations to fund the projects</li>
<li>&#8230;</li>
</ul>
<p>In short: <em>Don&#8217;t focus your search for help only on programmers. Every user may become a very useful member of your team.</em></p>
<p><strong>External developer resources</strong></p>
<p>Sometimes companies use your software and they need a certain feature or have other interest in your project. When you are lucky, they&#8217;ll assign one or more developers of their staff to your project (if you allow this) and they&#8217;ll work on it in their work time. Or the company pays members of your team to implement something they need. This is not uncommon, especially in projects like frameworks, EPR systems, shopping carts etc. Just be sure that the stuff they are demanding fits in your global plan. Don&#8217;t let pure economical reasons drive your project or it will soon be off the track! Other ways of getting help are sponsored events like the <a href="http://code.google.com/intl/de-DE/soc/">google Summer of Code</a>. You can apply with your project for certain programming tasks and when your project is chosen, then google will pay a student for a summer to perform that task. This has several advantages for your project. You will get a lot of visibility in the public which may result in more people using your software or joining your project. You will have to  select two mentors that will have the chance to fly to the US and be part of the mentors camp that google organizes before the whole thing starts. But be aware of the dates. When you are late, then you&#8217;ll have to wait for the next year. And don&#8217;t be disappointed when your project has not been selected. Just apply again next year. I&#8217;ll try to find a project that has participated before and interview them for a more comprehensive blog post. Long story short: <em>Paid development is a chance for every project to get a boost. Try to apply for the google SoC or try to find partners in the industry. Just be aware of the responsibility that the project is first, not the money!</em></p>
<p><strong>Conclusion</strong></p>
<p>So, there are many ways to find people that help you in your journey and don&#8217;t be afraid to let certain tasks go. You can&#8217;t do everything on your own and other people are eager to be part of the project. It&#8217;s important to find people that help you, if you want your project to live a long and healthy life. There are always people leaving and joining, so the bigger your team is the more people you have constantly working on it. Maybe with the google SoC or paid development you can attract even more team members with whom you can share the work and maybe even the important tasks. Try it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openprojectguide.org/2009/12/divide-and-conquer/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>
	</channel>
</rss>

