<?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"
	>

<channel>
	<title>Orbited Blog</title>
	<atom:link href="http://orbited.org/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://orbited.org/blog</link>
	<description>Blogging Comet Applications</description>
	<pubDate>Thu, 04 Jun 2009 03:23:29 +0000</pubDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
			<item>
		<title>Willow Chat Presentation at CodeCamp</title>
		<link>http://orbited.org/blog/2008/11/willow-chat-presentation-at-codecamp/</link>
		<comments>http://orbited.org/blog/2008/11/willow-chat-presentation-at-codecamp/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 10:48:07 +0000</pubDate>
		<dc:creator>Adrian Weisberg</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://orbited.org/blog/?p=238</guid>
		<description><![CDATA[The Silicon Valley CodeCamp is next weekend (Nov 8 &#38; 9). On Saturday Michael Carter is presenting on &#8220;WillowChat: Out-of-the-Box Comet Webchat,&#8221;, which is powered by Orbited and js.io.
]]></description>
			<content:encoded><![CDATA[<p>The Silicon Valley CodeCamp is next weekend (Nov 8 &amp; 9). On Saturday Michael Carter <a href="http://www.siliconvalley-codecamp.com/Sessions.aspx?OnlyOne=true&#038;id=123">is presenting on &#8220;WillowChat: Out-of-the-Box Comet Webchat,&#8221;</a>, which is powered by Orbited and <a href="http://js.io">js.io</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://orbited.org/blog/2008/11/willow-chat-presentation-at-codecamp/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Orbited.TCPSocket support for js.io joined by Lightstreamer TCPSocket</title>
		<link>http://orbited.org/blog/2008/10/orbitedtcpsocket-support-for-jsio-joined-by-lightstreamer-tcpsocket/</link>
		<comments>http://orbited.org/blog/2008/10/orbitedtcpsocket-support-for-jsio-joined-by-lightstreamer-tcpsocket/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 00:53:53 +0000</pubDate>
		<dc:creator>Michael Carter</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://orbited.org/blog/?p=236</guid>
		<description><![CDATA[The Orbited Project always strives to push the boundaries of bi-directional web technology, and then roll our advances back into standards. The Orbited.TCPSocket is a prime example &#8212; initially it was our internal standard, the separation between protocol and transport. The js.io project is targeted against the TCPSocket API instead of being built directly into [...]]]></description>
			<content:encoded><![CDATA[<p>The Orbited Project always strives to push the boundaries of bi-directional web technology, and then roll our advances back into standards. The Orbited.TCPSocket is a prime example &#8212; initially it was our internal standard, the separation between protocol and transport. The js.io project is targeted against the TCPSocket API instead of being built directly into Orbited because we always hoped to provide the widest range of integration. For this reason, I&#8217;m excited to announce that <a href=" http://js.io/trac/wiki/News">Lightstreamer will be joining Orbited and Sproket.Socket in supporting the js.io.TCPSocket API</a>. This means that you will be able to swap Orbited out for Lightstreamer in any applications that depend on js.io, including applications developed against the js.io.WebSocket implementation for future-proof compliance with the HTML5 standard.</p>
]]></content:encoded>
			<wfw:commentRss>http://orbited.org/blog/2008/10/orbitedtcpsocket-support-for-jsio-joined-by-lightstreamer-tcpsocket/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Our Ancestor&#8217;s Secrets: WebSocket Article and Panel</title>
		<link>http://orbited.org/blog/2008/10/our-ancestors-secrets-websocket-article-and-panel/</link>
		<comments>http://orbited.org/blog/2008/10/our-ancestors-secrets-websocket-article-and-panel/#comments</comments>
		<pubDate>Sat, 25 Oct 2008 09:16:15 +0000</pubDate>
		<dc:creator>Adrian Weisberg</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://orbited.org/blog/?p=225</guid>
		<description><![CDATA[Michael just wrote an article on WebSocket for the Silicon Valley Web Builder blog. He talks about his experiences explaining WebSocket to developers, and how we can &#8220;recover our ancestor’s secrets&#8221; of good architecture.

Michael is on the WebSocket, Comet, HTML 5, and web standards panel that SV Web Builder has organized for October 29th. The [...]]]></description>
			<content:encoded><![CDATA[<p>Michael just wrote <a href="http://svwebbuilder.wordpress.com/2008/10/20/html5-websocket-and-webjneering/">an article on WebSocket</a> for the Silicon Valley Web Builder blog. He talks about his experiences explaining <a href="http://cometdaily.com/2008/07/04/html5-websocket/">WebSocket</a> to developers, and how we can &#8220;recover our ancestor’s secrets&#8221; of good architecture.</p>

<p>Michael is on the <a href="http://webstandard.eventbrite.com/">WebSocket, Comet, HTML 5, and web standards panel</a> that SV Web Builder has organized for October 29th. The panel also includes Alex Russell, Dion Almaer, Ted Goddard, John Fallows, and Kevin Nilson. It&#8217;s all going down at the Google headquarters in Mountain View. The event is free if you register online.</p>
]]></content:encoded>
			<wfw:commentRss>http://orbited.org/blog/2008/10/our-ancestors-secrets-websocket-article-and-panel/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Announcing Orbited 0.7.0</title>
		<link>http://orbited.org/blog/2008/10/announcing-orbited-070/</link>
		<comments>http://orbited.org/blog/2008/10/announcing-orbited-070/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 13:50:01 +0000</pubDate>
		<dc:creator>Michael Carter</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://orbited.org/blog/?p=222</guid>
		<description><![CDATA[Today marked the release of Orbited 0.7.0, along with the first 0.7.0 tutorial over at CometDaily. Thanks to everyone who helped with the release.

A couple of new features include:


 Embedded Stomp broker via MorbidQ. Now you put stomp:// urls in the [listen] section of the configuration
 Reworked startup api for easier use with outside projects [...]]]></description>
			<content:encoded><![CDATA[<p>Today marked the release of Orbited 0.7.0, along with the <a href="http://cometdaily.com/2008/10/10/scalable-real-time-web-architecture-part-2-a-live-graph-with-orbited-morbidq-and-jsio/">first 0.7.0 tutorial</a> over at CometDaily. Thanks to everyone who helped with the release.</p>

<p>A couple of new features include:</p>

<ul>
 <li>Embedded Stomp broker via <a href="http://www.morbidq.com">MorbidQ</a>. Now you put stomp:// urls in the [listen] section of the configuration</li>
 <li>Reworked startup api for easier use with outside projects like <a href="http://www.willowchat.org">WillowChat</a>.</li>
 <li>Improvements to the IRC client (via <a href="http://www.js.io">js.io</a>)</li>
 <li>Increased stability for Connection handling when the page is reloaded navigated away from then returned to</li>
 <li>Various small bug fixes</li>
  <li>See the commit logs and <a href="http://www.orbited.org/timeline">timeline</a>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://orbited.org/blog/2008/10/announcing-orbited-070/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Django + Orbited 0.6.x Tutorial</title>
		<link>http://orbited.org/blog/2008/09/django-orbited-06x-tutorial/</link>
		<comments>http://orbited.org/blog/2008/09/django-orbited-06x-tutorial/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 16:13:12 +0000</pubDate>
		<dc:creator>Adrian Weisberg</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://orbited.org/blog/?p=207</guid>
		<description><![CDATA[Dark Porter posted a tutorial on using Orbited with Django. Michael Carter linked to it on Comet Daily, and said:

Obviously it makes sense to migrate to separate processes for a high-concurrency production deployment, but this method is perfect for developing applications and deploying small to medium instances.

The tutorial uses a different technique than the STOMP [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://darkporter.com/?page_id=2">Dark Porter</a> posted a <a href="http://darkporter.com/?p=7">tutorial on using Orbited with Django</a>. Michael Carter <a href="http://cometdaily.com/2008/09/22/new-django-orbited-06x-tutorial/">linked to it on Comet Daily</a>, and said:</p>

<blockquote>Obviously it makes sense to migrate to separate processes for a high-concurrency production deployment, but this method is perfect for developing applications and deploying small to medium instances.</blockquote>

<p>The tutorial uses a different technique than <a href="http://orbited.org/blog/2008/09/integrating-orbited-with-web-app-frameworks/">the STOMP method</a> I described. Dark Porter takes advantage of the fact that Django and Orbited are both written in Python, and puts everything in one process, including a custom threaded TCP server.</p>
]]></content:encoded>
			<wfw:commentRss>http://orbited.org/blog/2008/09/django-orbited-06x-tutorial/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Heartbeats Handle Dropped Connections and Timeouts</title>
		<link>http://orbited.org/blog/2008/09/heartbeats-handle-dropped-connections-and-timeouts/</link>
		<comments>http://orbited.org/blog/2008/09/heartbeats-handle-dropped-connections-and-timeouts/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 00:00:33 +0000</pubDate>
		<dc:creator>Adrian Weisberg</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://orbited.org/blog/?p=149</guid>
		<description><![CDATA[The 0.6.1 release of Orbited adds a feature called heartbeats that improves dropped connection handling and also decreases reconnects due to timeouts. Dropped connection handling is important because it affects the user experience of a web application. Heartbeats are better than the previous solution of reconnecting at a fixed interval because they do a better [...]]]></description>
			<content:encoded><![CDATA[<p>The 0.6.1 release of Orbited adds a feature called heartbeats that improves dropped connection handling and also decreases reconnects due to timeouts. Dropped connection handling is important because it affects the user experience of a web application. Heartbeats are better than the previous solution of reconnecting at a fixed interval because they do a better job at a lower network cost.</p>

<h2>Dropped Connections</h2>

<p>A web application can&#8217;t prevent most dropped connections. It can only handle them in the best manner possible. Dropped connections are a problem because unless there&#8217;s some notification mechanism, the browser won&#8217;t automatically try to reestablish the connection. Furthermore, the user will think that the application is operating in a connected state, and won&#8217;t realize that they are missing messages.</p>

<p><span id="more-149"></span></p>

<p>This hurts the functionality of the application, and also decreases the user&#8217;s confidence in the application, which has negative implications for how much they use it and whether they will use it for important tasks. Preventing disturbances in the user experience and increasing user trust are both very important goals. Orbited prevents lost messages by keeping a buffer of recently sent messages, but we still want to resume normal operations as possible.</p>

<h2>Fixed Interval Reconnects</h2>

<p>A common way to handle dropped connections is to have the browser reconnect every 30 seconds, regardless of whether the connection has dropped. Prior to 0.6.1 this is what Orbited did. This method caps the period of browser unawareness at 30 seconds + the browser timeout interval. ~30 seconds is a long time for the browser to be ignorant of the connection state. The interval can be decreased, but reconnects should be avoided for 2 reasons:</p>

<ul>
<li>The browser can&#8217;t receive messages while it&#8217;s reconnecting. The connection is usually fine, so most reconnects are actually making things worse for a short period of time. </li>
<li>Each reconnect requires a full HTTP message to be sent and processed. This isn&#8217;t that bad for the client, but really adds up for the server, which is almost always the bottleneck for web applications. And some people are on dial-up or mobile connections.</li>
</ul>

<p>Fixed interval reconnects aren&#8217;t horrible, and they&#8217;re used by live deployments. But there&#8217;s a much better way.</p>

<h2>The Heartbeat Solution</h2>

<p>Orbited 0.6.1 adds a feature called heartbeats, which provide better browser awareness at a lower overhead cost than fixed interval reconnects. A &#8220;heartbeat&#8221; is a tiny amount of data (~1 byte) sent from the server to the browser without separate HTTP headers (it&#8217;s sent in the context of the Comet connection HTTP headers), meaning the cost both of bandwidth and server processing is negligible.</p>

<p>If we send a heartbeat every 5 seconds, the maximum time the browser is unaware of the connection state drops from 30 seconds + the browser timeout interval (with fixed interval reconnects) to the heartbeat timeout, which defaults to 15 seconds (the timeout is longer than the interval to account for latency). And the browser only has to reconnect if the connection drops, instead of having to reconnect every 30 seconds no matter what. The timeout and the heartbeat interval can both be lowered if necessary.</p>

<h2>Timeouts</h2>

<p>Heartbeats also prevent browser and proxy timeouts. Browsers and proxies often close open connections after around 60 seconds of inactivity. The fixed interval reconnect avoids the connection being closed unceremoniously, but since heartbeats count as activity, they prevent the timeouts from even happening. The fewer reconnects the better.</p>

<h2>Usage with Transports</h2>

<p>Orbited provides two Comet transports: streaming and long polling. Streaming provides better performance and is the default/recommended option. Both transports work with heartbeats. IE and Opera can only read heartbeats when they&#8217;re used with a streaming connection, so a long polling connection can&#8217;t use them for dropped connection handling, but they&#8217;re still handy for avoiding timeouts. Streaming with heartbeats works with most firewalls, forward proxies, reverse proxies, and routers, but if a particular deployment of intermediaries does manage to thwart streaming, the server can fall back to long-polling.</p>

<h2>What You Need to Do</h2>

<p>Probably nothing! Orbited 0.6.1 and onward use streaming with heartbeats by default. If you want you can lower the heartbeat interval and timeout for even better browser awareness of dropped connections.</p>
]]></content:encoded>
			<wfw:commentRss>http://orbited.org/blog/2008/09/heartbeats-handle-dropped-connections-and-timeouts/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Orbited 0.6.1</title>
		<link>http://orbited.org/blog/2008/09/orbited-061/</link>
		<comments>http://orbited.org/blog/2008/09/orbited-061/#comments</comments>
		<pubDate>Sat, 13 Sep 2008 11:23:23 +0000</pubDate>
		<dc:creator>Adrian Weisberg</dc:creator>
		
		<category><![CDATA[Releases]]></category>

		<guid isPermaLink="false">http://orbited.org/blog/?p=190</guid>
		<description><![CDATA[0.6.1 is a maintenance release that fixes a number of small problems. Everyone is encouraged to upgrade. 0.6.1 also adds a new feature that&#8217;s been under development for awhile called heartbeats, which improve dropped connection handling and reduce timeouts. I&#8217;ll be writing a post on that shortly.

If you&#8217;re using a version of Orbited lower than [...]]]></description>
			<content:encoded><![CDATA[<p>0.6.1 is a maintenance release that fixes a number of small problems. Everyone is encouraged to upgrade. 0.6.1 also adds a new feature that&#8217;s been under development for awhile called heartbeats, which improve dropped connection handling and reduce timeouts. I&#8217;ll be writing a post on that shortly.</p>

<p>If you&#8217;re using a version of Orbited lower than 0.6.x, this is a great time to make the change, because <a href="http://groups.google.com/group/orbited-users/browse_thread/thread/2ce89ed5c05be260">0.6.0 marked the change</a> from alpha to beta, with the corresponding stabilization in API and core functionality. Remember to stop by the <a href="http://groups.google.com/group/orbited-users">mailing list</a>, IRC channel (#orbited on freenode or use the <a href="http://orbited.org/wiki/LiveHelp">LiveDemo</a>), and <a href="http://orbited.org/wiki/Development">Trac system</a> to participate in the development process and/or get help with Orbited.</p>
]]></content:encoded>
			<wfw:commentRss>http://orbited.org/blog/2008/09/orbited-061/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Integrating Orbited with Web App Frameworks</title>
		<link>http://orbited.org/blog/2008/09/integrating-orbited-with-web-app-frameworks/</link>
		<comments>http://orbited.org/blog/2008/09/integrating-orbited-with-web-app-frameworks/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 06:59:31 +0000</pubDate>
		<dc:creator>Adrian Weisberg</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://orbited.org/blog/?p=113</guid>
		<description><![CDATA[The simplest Orbited architecture is to have Orbited proxying messages between the TCP server and the browser using socket connections. Many people, however, choose to use web application frameworks like Django or Ruby on Rails because they helpfully abstract away certain cumbersome tasks. You can easily connect Orbited and frameworks using message queue brokers, and [...]]]></description>
			<content:encoded><![CDATA[<p>The simplest Orbited architecture is to have Orbited proxying messages between the TCP server and the browser using socket connections. Many people, however, choose to use web application frameworks like <a href="http://www.djangoproject.com/">Django</a> or <a href="http://www.rubyonrails.org/">Ruby on Rails</a> because they helpfully abstract away certain cumbersome tasks. You can easily connect Orbited and frameworks using message queue brokers, and the 0.7 release will feature an integrated basic broker.</p>

<p><span id="more-113"></span></p>

<p>Prior to 0.5, Orbited used a custom protocol (the Orbit protocol) for communication between it and the framework. Inside Orbited was a rudimentary message queue. This is the method used in the outdated <a href="http://orbited.org/wiki/0.3/CherryChat">CherryChat tutorial</a>.</p>

<p><a href="http://orbited.org/blog/wp-content/uploads/2008/09/integrated_orbit_protocol_mq.png"><img src="http://orbited.org/blog/wp-content/uploads/2008/09/integrated_orbit_protocol_mq.png" alt="Integrated Orbit Protocol MQ Architecture" title="integrated_orbit_protocol_mq" width="450" height="252" class="size-full wp-image-129" /></a></p>

<h2>Use Existing Solutions</h2>

<p>With 0.5, the team decided to switch to a standard and well-developed protocol: <a href="http://stomp.codehaus.org/Home">STOMP</a>. Instead of trying to improve the message queue functionality, we decided to focus on TCPSocket and Comet. Using STOMP allows the use of advanced stand-alone message queue brokers like <a href="http://activemq.apache.org/">ActiveMQ</a> and <a href="http://www.rabbitmq.com/">RabbitMQ</a>. It also removes the need to write and update clients for the custom Orbit protocol, since there are actively maintained STOMP clients in many languages. These benefits are similar to the benefits of the biggest change in 0.5: <a href="http://cometdaily.com/2008/07/01/sockets-in-the-browser/">TCPSocket</a>, which lets you use existing protocols for communication to the browser.</p>

<p><a href="http://orbited.org/blog/wp-content/uploads/2008/09/stand-alone_stomp_mq.png"><img src="http://orbited.org/blog/wp-content/uploads/2008/09/stand-alone_stomp_mq.png" alt="Stand-Alone STOMP MQ Architecture" title="stand-alone_stomp_mq" width="450" height="327" class="size-full wp-image-130" /></a></p>

<h2>The Super-Easy Way</h2>

<p>ActiveMQ and RabbitMQ are fairly easy to install and use, but many people wanted something even easier and simpler for testing and basic deployments. Starting with 0.7, Orbited will feature a built-in basic STOMP message queue. The message queue has already been released as a Twisted-based daemon called <a href="http://pypi.python.org/pypi/morbid/0.8.1">Morbid</a>. If you have <a href="http://peak.telecommunity.com/DevCenter/setuptools">setuptools</a> installed, type <code>easy_install morbid</code> and then run orbited and morbid. Go into the Stomp demo and it should work! Once Orbited 0.7 is released you won&#8217;t even have to install Morbid.</p>

<p><a href="http://orbited.org/blog/wp-content/uploads/2008/09/integrated_stomp_mq.png"><img src="http://orbited.org/blog/wp-content/uploads/2008/09/integrated_stomp_mq.png" alt="Integrated STOMP MQ Architecture" title="integrated_stomp_mq" width="450" height="252" class="size-full wp-image-131" /></a></p>

<h2>The Benefits in Two Sentences</h2>

<p>With the integrated STOMP message queue, you can use the same architecture as with pre-0.5 but with the added benefits of using a standard protocol. Using a stand-alone STOMP message queue broker gives you the benefits of the standard protocol plus the features and performance of advanced message queue brokers.</p>
]]></content:encoded>
			<wfw:commentRss>http://orbited.org/blog/2008/09/integrating-orbited-with-web-app-frameworks/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Contributor License Agreements</title>
		<link>http://orbited.org/blog/2008/08/contributor-license-agreements/</link>
		<comments>http://orbited.org/blog/2008/08/contributor-license-agreements/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 01:07:06 +0000</pubDate>
		<dc:creator>Adrian Weisberg</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://orbited.org/blog/?p=82</guid>
		<description><![CDATA[Michael and I have recently formed a nonprofit corporation to manage Orbited and related projects such as js.io. One of the main reasons for the nonprofit is so that contributors can sign a Contributor License Agreement (&#8221;CLA&#8221;) with an appropriate legal entity. The CLAs will protect users of the open source software projects managed by [...]]]></description>
			<content:encoded><![CDATA[<p>Michael and I have recently formed a nonprofit corporation to manage Orbited and related projects such as <a href="http://js.io/">js.io</a>. One of the main reasons for the nonprofit is so that contributors can sign a Contributor License Agreement (&#8221;CLA&#8221;) with an appropriate legal entity. The CLAs will protect users of the open source software projects managed by the nonprofit, and are a good reminder to think about intellectual property.</p>

<p><span id="more-82"></span></p>

<p>A CLA is a legal document, which means you should read it carefully. It basically gives the projects managed by the nonprofit a license to use your contributions (you retain copyright), and warrants that you have the right to give the projects that license. Most people do this implicitly when they submit code to an open source project, but a CLA puts it in writing and hopefully makes everyone aware of their responsibilities e.g. not submitting code they didn&#8217;t write, or submitting code they wrote on their employer&#8217;s time/property without their employer&#8217;s permission to license the code to an open source project. If you are doing or have done work for any of nonprofit&#8217;s software projects on your employer&#8217;s time/property, you should:</p>

<ol>
<li>Talk to your boss and make sure it&#8217;s fine that you&#8217;re working on code that will be licensed to an open source project.</li>
<li>Have them sign a corporate CLA with the nonprofit which formalizes this agreement. </li>
</ol>

<p>As a general note, anything you create on your employer&#8217;s time/property may belong to your employer. If you want to have any rights to these creations, you should have a written contract with your employer stating the the specific terms of the agreement. You should also be careful when writing and/or contributing code that&#8217;s similar to proprietary code owned by your employer. I&#8217;ll get back on topic now, as intellectual property is a very complex issue, but it&#8217;s a good idea to read a survey such as the <a href="http://www.softwarefreedom.org/resources/2008/foss-primer.html">Software Freedom Law Center&#8217;s primer</a>.</p>

<h2>The Benefits of CLA&#8217;s</h2>

<p>The main purpose of CLA&#8217;s is protecting users of the software from IP lawsuits. They also have a number of other benefits. CLA&#8217;s make it clear that contributors are under no obligation to provide support for their contribution. They make people more aware of their rights when writing code on their employer&#8217;s time/property, as mentioned above. The project itself is less likely to be attacked via lawsuits. And in general it&#8217;s good to make issues clear and explicit. CLA&#8217;s are used by many open source projects including <a href="http://www.apache.org/licenses/#clas">all the projects managed by the Apache Foundation</a>.</p>

<h2>About the CLA</h2>

<p>The CLA is between contributors and the project, which makes it distinct from an end user license e.g. the <a href="http://en.wikipedia.org/wiki/MIT_License">MIT license</a> used by Orbited. We&#8217;re using a CLA that is very similar to the one used by the Apache Foundation. The CLA&#8217;s are available on the <a href="http://orbited.org/wiki/Development">Development page</a>. You should email a scanned copy of the signed agreement to orbitedprojectREMOVETHISTEXT@gmail.com. A single CLA covers Orbited as well as all the other projects managed by the nonprofit.</p>
]]></content:encoded>
			<wfw:commentRss>http://orbited.org/blog/2008/08/contributor-license-agreements/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Orbited 0.6.0</title>
		<link>http://orbited.org/blog/2008/08/orbited-060/</link>
		<comments>http://orbited.org/blog/2008/08/orbited-060/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 21:08:24 +0000</pubDate>
		<dc:creator>Adrian Weisberg</dc:creator>
		
		<category><![CDATA[Releases]]></category>

		<guid isPermaLink="false">http://orbited.org/blog/?p=80</guid>
		<description><![CDATA[Orbited 0.6.0 has been released. See the announcements in the Google group and on Comet Daily. Work is now underway on Orbited 0.7.0, which will add two new features: stream multiplexing and integrated message queue (STOMP) server capabilities.
]]></description>
			<content:encoded><![CDATA[<p>Orbited 0.6.0 has been released. See the announcements <a href="http://groups.google.com/group/orbited-users/browse_thread/thread/2ce89ed5c05be260">in the Google group</a> and <a href="http://cometdaily.com/2008/08/13/orbited-officially-goes-beta/">on Comet Daily</a>. Work is now underway on Orbited 0.7.0, which will add two new features: <a href="http://orbited.org/ticket/58">stream multiplexing</a> and <a href="http://orbited.org/ticket/57">integrated message queue (STOMP) server capabilities</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://orbited.org/blog/2008/08/orbited-060/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
