<?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>Bradley Holt &#187; Git</title>
	<atom:link href="http://bradley-holt.com/tag/git/feed/" rel="self" type="application/rss+xml" />
	<link>http://bradley-holt.com</link>
	<description></description>
	<lastBuildDate>Thu, 17 May 2012 01:04:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>The Future of CouchDB and Couchbase Server</title>
		<link>http://bradley-holt.com/2012/01/the-future-of-couchdb-and-couchbase-server/</link>
		<comments>http://bradley-holt.com/2012/01/the-future-of-couchdb-and-couchbase-server/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 19:42:03 +0000</pubDate>
		<dc:creator>Bradley Holt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Couchbase]]></category>
		<category><![CDATA[CouchDB]]></category>
		<category><![CDATA[FOSS]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[NoSQL]]></category>

		<guid isPermaLink="false">http://bradley-holt.com/?p=1491</guid>
		<description><![CDATA[&#8220;What&#8217;s the future of CouchDB? It&#8217;s Couchbase.&#8221; —Damien Katz &#8220;The future of CouchDB is CouchDB.&#8221; —Noah Slater First of all, don&#8217;t panic. The Apache CouchDB project is thriving. There are plenty of core contributors who are dedicated to the project. If you&#8217;re using CouchDB, you&#8217;re fine. If you&#8217;re considering using CouchDB, you&#8217;ll be fine. CouchDB [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>&#8220;<a href="http://damienkatz.net/2012/01/the_future_of_couchdb.html">What&#8217;s the future of CouchDB? It&#8217;s Couchbase.</a>&#8221; —Damien Katz</p></blockquote>
<blockquote><p>&#8220;<a href="https://twitter.com/nslater/status/154938284647260160">The future of CouchDB is CouchDB.</a>&#8221; —Noah Slater</p></blockquote>
<p>First of all, don&#8217;t panic. The Apache CouchDB project is thriving. There are plenty of core contributors who are dedicated to the project. If you&#8217;re using CouchDB, you&#8217;re fine. If you&#8217;re considering using CouchDB, you&#8217;ll be fine. CouchDB has a bright future ahead of it. Couchbase has repeatedly said that they&#8217;re not the CouchDB company, so this shouldn&#8217;t be a surprise to anyone.</p>
<p>My interpretation of this announcement is that CouchDB is forking. Going forward, you&#8217;ll have two choices, either Apache CouchDB or Couchbase Server. The <a href="https://issues.apache.org/jira/browse/COUCHDB?report=com.atlassian.jira.plugin.system.project:roadmap-panel">road map for Apache CouchDB</a> will continue to be determined by community consensus. The road map for Couchbase Server will be determined by Couchbase, the company.</p>
<p>CouchDB has two futures: CouchDB and Couchbase Server. Traditionally, forking a project in this manner has been considered a Bad Thing. From The Jargon File entry for <a href="http://catb.org/jargon/html/F/forked.html">forked</a>:</p>
<blockquote><p>An open-source software project is said to have forked or be forked when the project group fissions into two or more parts pursuing separate lines of development (or, less commonly, when a third party unconnected to the project group begins its own line of development).  Forking is considered a <a href="http://catb.org/jargon/html/B/Bad-Thing.html"><em>Bad Thing</em></a> — not merely because it implies a lot of wasted effort in the future, but because forks tend to be accompanied by a great deal of strife and acrimony between the successor groups over issues of legitimacy, succession, and design direction.  There is serious social pressure against forking.  As a result, major forks (such as the Gnu-Emacs/XEmacs split, the fissionings of the 386BSD group into three daughter projects, and the short-lived GCC/EGCS split) are rare enough that they are remembered individually in hacker folklore.</p></blockquote>
<p>In my humble opinion, forking should no longer be considered a Bad Thing. Distributed revision control systems, such as Git, have made it much easier to merge changes back-and-forth between forked projects. If an individual or organization wants to take a project in a different direction, great! It sounds like Couchbase Server will be designed to meet a set of needs that are not being met by CouchDB. If so, a fork is perfectly appropriate as now both sets of needs can be met.</p>
]]></content:encoded>
			<wfw:commentRss>http://bradley-holt.com/2012/01/the-future-of-couchdb-and-couchbase-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Social Coding</title>
		<link>http://bradley-holt.com/2009/08/social-coding/</link>
		<comments>http://bradley-holt.com/2009/08/social-coding/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 20:54:00 +0000</pubDate>
		<dc:creator>Bradley Holt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[FOSS]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[GitHub]]></category>
		<category><![CDATA[ZendCon]]></category>

		<guid isPermaLink="false">http://bradley-holt.com/2009/08/social-coding/</guid>
		<description><![CDATA[My first real introduction to Git and GitHub was at last year&#8217;s ZendCon. I&#8217;ve been using Subversion, a centralized revision control tool, for a few years now and it has changed the way I work. For example, I think in terms of changesets or &#8220;commits&#8221; that fix a defect, make an enhancement or complete a [...]]]></description>
			<content:encoded><![CDATA[<p>My first real introduction to <a href="http://git-scm.com/">Git</a> and <a href="https://github.com/">GitHub</a> was at last year&#8217;s <a href="http://zendcon.com/">ZendCon</a>. I&#8217;ve been using <a href="http://subversion.tigris.org/">Subversion</a>, a centralized <a href="http://en.wikipedia.org/wiki/Revision_control">revision control</a> tool, for a few years now and it has changed the way I work. For example, I think in terms of changesets or &#8220;commits&#8221; that fix a defect, make an enhancement or complete a task in my codebase.  It&#8217;s a workflow that has served me well.</p>
<p>I&#8217;d heard about <a href="http://en.wikipedia.org/wiki/Distributed_revision_control">distributed revision control</a> tools before last year&#8217;s ZendCon. I thought it was a neat idea but didn&#8217;t really get what the advantage was over a centralized tool like Subversion. The folks from GitHub had a vendor booth so I thought I&#8217;d ask them why Git was better than Subversion. I forget exactly what they said (probably something about how branching and merging is so much easier in Git) but whatever it was it definitely made me consider trying Git.</p>
<p>The GitHub folks were wearing t-shirts that said, &#8220;fork you&#8221; and explained that on GitHub they encourage projects to fork. Typically in free/open source projects forking is considered a bad thing. It usually signifies some breakdown in the community when one project forks from another. However, with Git and GitHub it&#8217;s really easy to &#8220;clone&#8221; a project&#8217;s repository, hack away at some changes, and then &#8220;push&#8221; (or have &#8220;pulled&#8221;) your changes back to the repository you originally cloned. Git makes branching, cloning, pushing/pulling, and merging very easy and GitHub provides a place to host your repositories making this interaction with other people&#8217;s repositories very simple.</p>
<p>GitHub&#8217;s tagline is &#8220;social coding.&#8221; With distributed revision control each developer gets  his or her own project repository. If your repository is public then anyone can come along and make a clone of it giving themselves their own copy of your project to work on. Assuming their clone is also public, you can track their changes and decide if you want to pull in work they&#8217;ve done. If you find yourself collaborating a lot with a particular person that you trust, you can give them the ability to push to your repository. With Git this actually scales to projects with lots of contributors. This may seem chaotic, pushing and pulling changes to and from decentralized repositories, but it&#8217;s actually a great way to encourage ad hoc collaboration.</p>
<p>If you want to learn more about Git you can read the <a href="http://book.git-scm.com/">Git Community Book</a>, <a href="http://pragprog.com/titles/tsgit/pragmatic-version-control-using-git">Pragmatic Version Control Using Git</a> or the <a href="http://progit.org/">Pro Git Book</a>. One last thing: if you&#8217;re currently a Subversion user then forget everything you know about how Subversion works. While a lot of the commands may be similar to Subversion and there&#8217;s a way to integrate with Subversion (git-svn), Git is fundamentally very different than Subversion. If you try and equate the two you&#8217;ll most likely end up confused!</p>
]]></content:encoded>
			<wfw:commentRss>http://bradley-holt.com/2009/08/social-coding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

