<?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>Mark Shuttleworth &#187; free software</title>
	<atom:link href="http://www.markshuttleworth.com/archives/tag/free-software/feed" rel="self" type="application/rss+xml" />
	<link>http://www.markshuttleworth.com</link>
	<description>Planetary perspectives</description>
	<lastBuildDate>Mon, 05 Jul 2010 08:31:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Meta-cycles: 2-3 year major cycles for free software?</title>
		<link>http://www.markshuttleworth.com/archives/288</link>
		<comments>http://www.markshuttleworth.com/archives/288#comments</comments>
		<pubDate>Fri, 17 Apr 2009 14:49:17 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[free software]]></category>
		<category><![CDATA[thoughts]]></category>
		<category><![CDATA[cadence]]></category>
		<category><![CDATA[release management]]></category>

		<guid isPermaLink="false">http://www.markshuttleworth.com/?p=288</guid>
		<description><![CDATA[Longer-term meta-cycles complement time-based release management. Can we create a best practice for free software projects that brings together both incremental, time-based releases and bolder, earth-moving major releases?]]></description>
			<content:encoded><![CDATA[<p>Six-month cycles are great. <strong>Now let&#8217;s talk about meta-cycles: broader release cycles for major work.</strong> I&#8217;m very interested in a cross-community conversation about this, so will sketch out some ideas and then encourage people from as many different free software communities as possible to comment here. I&#8217;ll summarise those comments in a follow-up post, which will no doubt be a lot wiser and more insightful than this one <img src='http://www.markshuttleworth.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><strong>Background: building on the best practice of cadence</strong></p>
<p>The practice of regular releases, and now time-based releases, is becoming widespread within the free software community. From the kernel, to GNOME and KDE, to X, and distributions like Ubuntu, Fedora, the idea of a regular, predictable cycle is now better understood and widely embraced. Many smarter folks than me have articulated the benefits of such a cadence: energising the whole community, REALLY releasing early and often, shaking out good and bad code, rapid course correction.</p>
<p>There has been some experimentation with different cycles. I&#8217;m involved in projects that have 1 month, 3 month and 6 month cycles, for different reasons. They all work well.</p>
<p><strong>..but addressing the needs of the longer term</strong></p>
<p>But there are also weaknesses to the six-month cycle:</p>
<ul>
<li>It&#8217;s hard to communicate to your users that you have made some definitive, significant change,</li>
<li>It&#8217;s hard to know what to support for how long, you obviously can&#8217;t support every release indefinitely.</li>
</ul>
<p>I think there is growing insight into this, on both sides of the original &#8220;cadence&#8221; debate.</p>
<p><strong>A tale of two philosophies, perhaps with a unifying theory</strong></p>
<p>A few years back, at AKademy in Glasgow, I was in the middle of a great discussion about six month cycles. I was a passionate advocate of the six month cycle, and interested in the arguments against it. The strongest one was the challenge of making &#8220;big bold moves&#8221;.</p>
<p>&#8220;You just can&#8217;t do some things in six months&#8221; was the common refrain. &#8220;You need to be able to take a longer view, and you need a plan for the big change.&#8221; There was a lot of criticism of GNOME for having &#8220;stagnated&#8221; due to the inability to make tough choices inside a six month cycle (and with perpetual backward compatibility guarantees). Such discussions often become ideological, with folks on one side saying &#8220;you can evolve anything incrementally&#8221; and others saying &#8220;you need to make a clean break&#8221;.</p>
<p>At the time of course, KDE was gearing up for KDE 4.0, a significant and bold move indeed. And GNOME was quite happily making its regular releases. When the KDE release arrived, it was beautiful, but it had real issues. Somewhat predictably, the regular-release crowd said &#8220;see, we told you, BIG releases don&#8217;t work&#8221;. But since then KDE has knuckled down with regular, well managed, incremental improvements, and KDE is looking fantastic. Suddenly, the big bold move comes into focus, and the benefits become clear. Well done KDE <img src='http://www.markshuttleworth.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>On the other side of the fence, GNOME is now more aware of the limitations of indefinite regular releases. I&#8217;m very excited by the zest and spirit with which the &#8220;user experience MATTERS&#8221; campaign is being taken up in Gnome, there&#8217;s a real desire to deliver breakthrough changes. This kicked off at the excellent Gnome usability summit last year, which I enjoyed and which quite a few of the Canonical usability and design folks participated in, and the fruits of that are shaping up in things like the new Activities shell.</p>
<p>But it&#8217;s become clear that a change like this represents a definitive break with the past, and might take more than a single six month release to achieve. And most important of all, that this is an opportunity to make other, significant, distinctive changes. A break with the past. A <strong>big bold move</strong>. And so there&#8217;s been a series of conversations about how to &#8220;do a 3.0&#8243;, in effect, how to break with the tradition of incremental change, in order to make this vision possible.</p>
<p>It strikes me that both projects are converging on a common set of ideas:</p>
<ul>
<li>Rapid, predictable releases are super for keeping energy high and code evolving cleanly and efficiently, they keep people out of a deathmarch scenario, they tighten things up and they allow for a shakeout of good and bad ideas in a coordinated, managed fashion.</li>
</ul>
<ul>
<li>Big releases are energising too. They are motivational, they make people feel like it&#8217;s possible to change anything, they release a lot of creative energy and generate a lot of healthy discussion. But they can be a bit messy, things can break on the way, and that&#8217;s a healthy thing.</li>
</ul>
<p>Anecdotally, there are other interesting stories that feed into this.</p>
<p>Recently, the Python community decided that Python 3.0 will be a shorter cycle than the usual Python release. The 3.0 release is serving to shake out the ideas and code for 3.x, but it won&#8217;t be heavily adopted itself so it doesn&#8217;t really make sense to put a lot of effort into maintaining it &#8211; get it out there, have a short cycle, and then invest in quality for the next cycle because 3.x will be much more heavily used than 3.0. This reminds me a lot of KDE 4.0.</p>
<p>So, I&#8217;m interesting in gathering opinions, challenges, ideas, commitments, hypotheses etc about the idea of meta-cycles and how we could organise ourselves to make the most of this. I suspect that we can define a best practice, which includes regular releases for continuous improvement on a predictable schedule, and ALSO defines a good practice for how MAJOR releases fit into that cadence, in a well structured and manageable fashion. I think we can draw on the experiences in both GNOME and KDE, and other projects, to shape that thinking.</p>
<p><strong>This is important for distributions, too</strong></p>
<p>The major distributions tend to have big releases, as well as more frequent releases. RHEL has Fedora, Ubuntu makes LTS releases, Debian takes cadence to its logical continuous integration extreme with Sid and Testing <img src='http://www.markshuttleworth.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>When we did Ubuntu 6.06 LTS we said we&#8217;d do another LTS in &#8220;2 to 3 years&#8221;. When we did 8.04 LTS we said that the benefits of predictability for LTS&#8217;s are such that it would be good to say in advance when the next LTS would be. I said I would like that to be 10.04 LTS, a major cycle of 2 years, unless the opportunity came up to coordinate major releases with one or two other major distributions &#8211; Debian, Suse or Red Hat.</p>
<p>I&#8217;ve spoken with folks at Novell, and it doesn&#8217;t look like there&#8217;s an opportunity to coordinate for the moment. In conversations with Steve McIntyre, the current Debian Project Leader, we&#8217;ve identified an interesting opportunity to collaborate. Debian is aiming for an 18 month cycle, which would put their next release around October 2010, which would be the same time as the Ubuntu 10.10 release. Potentially, then, we could defer the Ubuntu LTS till 10.10, coordinating and collaborating with the Debian project for a release with very similar choices of core infrastructure. That would make sharing patches a lot easier, a benefit both ways. Since there will be a lot of folks from Ubuntu at Debconf, and hopefully a number of Debian developers at UDS in Barcelona in May, we will have good opportunities to examine this opportunity in detail. If there is goodwill, excitement and broad commitment to such an idea from Debian, I would be willing to promote the idea of deferring the LTS from 10.04 to 10.10 LTS.</p>
<p><strong>Questions and options</strong></p>
<p>So, what would the &#8220;best practices&#8221; of a meta-cycle be? What sorts of things should be considered in planning for these meta-cycles? What problems do they cause, and how are those best addressed? How do short term (3 month, 6 month) cycles fit into a broader meta-cycle? Asking these questions across multiple communities will help test the ideas and generate better ones.</p>
<p>What&#8217;s a good name for such a meta-cycle? Meta-cycle seems&#8230;. very meta.</p>
<p>Is it true that the &#8220;first release of the major cycle&#8221; (KDE 4.0, Python 3.0) is best done as a short cycle that does not get long term attention? Are there counter-examples, or better examples, of this?</p>
<p>Which release in the major cycle is best for long term support? Is it the last of the releases before major new changes begin (Python 2.6? GNOME 2.28?) or is it the result of a couple of quick iterations on the X.0 release (KDE 4.2? GNOME 3.2?) Does it matter? I do believe that it&#8217;s worthwhile for upstreams to support an occasional release for a longer time than usual, because that&#8217;s what large organisations want.</p>
<p>Is a whole-year cycle beneficial? For example, is 2.5 years a good idea? Personally, I think not. I think conferences and holidays tend to happen at the same time of the year every year and it&#8217;s much, much easier to think in terms of whole number of year cycles. But in informal conversations about this, some people have said 18 months, others have said 30 months (2.5 years) might suit them. I think they&#8217;re craaaazy, what do you think?</p>
<p>If it&#8217;s 2 years or 3 years, which is better for you? Hardware guys tend to say &#8220;2 years!&#8221; to get the benefit of new hardware, sooner. Software guys say &#8220;3 years!&#8221; so that they have less change to deal with. Personally, I am in the 2 years camp, but I think it&#8217;s more important to be aligned with the pulse of the community, and if GNOME / KDE / Kernel wanted 3 years, I&#8217;d be happy to go with it.</p>
<p>How do the meta-cycles of different projects come together? Does it make sense to have low-level, hardware-related things on a different cycle to high-level, user visible things? Or does it make more sense to have a rhythm of life that&#8217;s shared from the top to the bottom of the stack?</p>
<p>Would it make more sense to stagger long term releases based on how they depend on one another, like GCC then X then OpenOffice? Or would it make more sense to have them all follow the same meta-cycle, so that we get big breakage across the stack at times, and big stability across the stack at others?</p>
<p>Are any projects out there already doing this?</p>
<p>Is there any established theory or practice for this?</p>
<p><strong>A cross-community conversation</strong></p>
<p>If you&#8217;ve read this far, thank you! Please do comment, and if you are interested then please do take up these questions in the communities that you care about, and bring the results of those discussions back here as comments. I&#8217;m pretty sure that we can take the art of software to a whole new level if we take advantage of the fact that we are NOT proprietary, and this is one of the key ways we can do it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.markshuttleworth.com/archives/288/feed</wfw:commentRss>
		<slash:comments>288</slash:comments>
		</item>
		<item>
		<title>New notification work lands in Jaunty</title>
		<link>http://www.markshuttleworth.com/archives/265</link>
		<comments>http://www.markshuttleworth.com/archives/265#comments</comments>
		<pubDate>Sat, 21 Feb 2009 12:03:00 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[free software]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[jaunty]]></category>
		<category><![CDATA[notifications]]></category>
		<category><![CDATA[user experience]]></category>

		<guid isPermaLink="false">http://www.markshuttleworth.com/?p=265</guid>
		<description><![CDATA[Thanks to the concerted efforts of Martin Pitt, Sebastien Bacher and several others, notify-osd and several related components landed in Jaunty last week. Thanks very much to all involved! And thanks to David Barth, Mirco Muller and Ted Gould who lead the development of notify-osd and the related messaging indicator.
MPT has posted an overview of [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to the concerted efforts of Martin Pitt, Sebastien Bacher and several others, notify-osd and several related components landed in Jaunty last week. Thanks very much to all involved! And thanks to David Barth, Mirco Muller and Ted Gould who lead the development of notify-osd and the related messaging indicator.</p>
<div id="attachment_266" class="wp-caption alignnone" style="width: 510px"><a href="http://www.markshuttleworth.com/wp-content/uploads/2009/02/notify-osd-screenshot.png"><img class="size-full wp-image-266" title="Screenshot of notify-osd in action" src="http://www.markshuttleworth.com/wp-content/uploads/2009/02/notify-osd-screenshot.png" alt="Notify-OSD handles both application notifications and keyboard special keys like brightness and volume" width="500" height="260" /></a><p class="wp-caption-text">Notify-OSD handles both application notifications and keyboard special keys like brightness and volume</p></div>
<p>MPT has posted an overview of the conceptual framework for &#8220;attention management&#8221; at <a title="Canonical guidelines for application developers on notifications" href="https://wiki.ubuntu.com/NotificationDesignGuidelines">https://wiki.ubuntu.com/NotificationDesignGuidelines</a>, which puts ephemeral notification into context as just one of several distinct tools that applications can use when they don&#8217;t have the focus but need to make users aware of something. That&#8217;s a draft, and when it&#8217;s at 1.0 we&#8217;ll move it to a new site which will host design patterns on Canonical.com.</p>
<p>There is also a detailed specification for our implementation of the notification display agent, notify-osd, which can be found at <a title="The Notify-OSD specification" href="https://wiki.ubuntu.com/NotifyOSD">https://wiki.ubuntu.com/NotifyOSD</a> and which defines not only the expected behaviour of notify-osd but also all of the consequential updates we need to make across the packages in main an universe to ensure that those applications use notification and other techniques consistently.</p>
<p>There are at least 35 apps that need tweaking, and there may well be others! If you find an app that isn&#8217;t using notifications elegantly, please add it to the notification design guidelines page, and if you file a bug on the package, please tag it &#8220;notifications&#8221; so we can track these issues in a single consistent way.</p>
<p>Together with notify-osd, we&#8217;ve uploaded a new panel indicator which is used to provide a way to respond to messaging events, such as email and IRC pings. If someone IM&#8217;s you, then you should see an ephemeral notification, and the messaging indicator will give you a way to respond immediately. Same for email. Pidgin and Evolution are the primary focuses of the work, over time we&#8217;ll broaden that to the full complement of IM and email apps in the archive &#8211; patches welcome <img src='http://www.markshuttleworth.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>There will be rough patches. Apps which don&#8217;t comply with the FreeDesktop.org spec and send actions on notifications even when the display agent says it does not support them, will have their notifications translated into alerts. That&#8217;s the primary focus of the effort now, the find and fix those apps. Also, we know there are several cases where a persistent response framework is required. The messaging indicator gets most of them, we will have additional persistent tools in place for Karmic in October.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.markshuttleworth.com/archives/265/feed</wfw:commentRss>
		<slash:comments>228</slash:comments>
		</item>
		<item>
		<title>Design, user experience and development at Canonical</title>
		<link>http://www.markshuttleworth.com/archives/162</link>
		<comments>http://www.markshuttleworth.com/archives/162#comments</comments>
		<pubDate>Wed, 10 Sep 2008 15:29:06 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[canonical]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[upstream]]></category>
		<category><![CDATA[user experience]]></category>

		<guid isPermaLink="false">http://www.markshuttleworth.com/?p=162</guid>
		<description><![CDATA[Canonical is building a design and user experience team, with engineering resources for upstream development to turn their ideas into code. ]]></description>
			<content:encoded><![CDATA[<p>When you present yourself on the web, you have 15 seconds to make an impression, so aspiring champions of the web 2.0 industry have converged on a good recipe for success:</p>
<ol>
<li>Make your site visually appealing,</li>
<li>Do something different and do it very, very well,</li>
<li>Call users to action and give them an immediate, rewarding experience.</li>
</ol>
<p>We need the same urgency, immediacy and elegance as part of the free software desktop experience, and that&#8217;s is an area where Canonical will, I hope, make a significant contribution. We are hiring designers, user experience champions and interaction design visionaries and challenging them to lead not only Canonical&#8217;s distinctive projects but also to participate in GNOME, KDE and other upstream efforts to improve FLOSS usability.</p>
<p>Fortunately, we won&#8217;t be working in a vacuum. This is an idea that is already being widely explored. It&#8217;s great to see that communities like GNOME and KDE have embraced user experience as a powerful driver of evolution in their platforms. Partly because of the web-2.0 phenomenon and the iPhone, there&#8217;s a widely held desire to see FLOSS leap forward in usability and design. We want to participate and help drive that forward.</p>
<p>There&#8217;s also recognition for the scale of the challenge that faces us. When I laid out the goal of &#8220;delivering a user experience that can compete with Apple in two years&#8221; at OSCON, I had many questions afterwards about how on earth we could achieve that. &#8220;Everyone scratches their own itch, how can you possibly make the UI consistent?&#8221; was a common theme. And it&#8217;s true &#8211; the free software desktop is often patchy and inconsistent. But I see the lack of consistency as both a weakness (GNOME, OpenOffice and Firefox all have different UI toolkits, and it&#8217;s very difficult to make them seamless) and as a strength &#8211; people are free to innovate, and the results are world-leading. Our challenge is to get the best of both of those worlds.</p>
<p>I don&#8217;t have answers to all of those questions. I do, however, have a deep belief in the power of the free software process to solve seemingly intractable problems, especially in the long tail. If we articulate a comprehensive design ethic, a next-generation HIG, we can harness the wisdom of crowds to find corner cases and inconsistencies across a much broader portfolio of applications than one person or company could do alone. That&#8217;s why it&#8217;s so important to me that Canonical&#8217;s design and user experience team also participate in upstream projects across the board.</p>
<p>In Ubuntu we have in general considered upstream to be &#8220;our ROCK&#8221;, by which we mean that we want upstream to be happy with the way we express their ideas and their work. More than happy &#8211; we want upstream to be delighted! We focus most of our effort on integration. Our competitors turn that into &#8220;Canonical doesn&#8217;t contribute&#8221; but it&#8217;s more accurate to say we measure our contribution in the effectiveness with which we get the latest stable work of upstream, with security maintenance, to the widest possible audience for testing and love. To my mind, that&#8217;s a huge contribution.</p>
<p>Increasingly, though, Canonical is in a position to drive real change in the software that is part of Ubuntu. If we just showed up with pictures and prototypes and asked people to shape their projects differently, I can&#8217;t imagine that being well received! So we are also hiring a team who will work on X, OpenGL, Gtk, Qt, GNOME and KDE, with a view to doing some of the heavy lifting required to turn those desktop experience ideas into reality. Those teams will publish their Bzr branches in Launchpad and of course submit their work upstream, and participate in upstream sprints and events. Some of the folks we have hired into those positions are familiar contributors in the FLOSS world, others will be developers with relevant technical expertise from other industries.</p>
<p>One strong meme we want to preserve is the idea that Ubuntu, the platform team, is still primarily focused on integration and distribution. We will keep that team and the upstream work distinct to minimise the conflict of interest inherent in choosing the patches and the changes and the applications that actually ship each six months as part of an Ubuntu release.</p>
<p>Of course, there&#8217;s a risk to participation, because you can&#8217;t easily participate without expressing opinions, visions, desires, goals, and those can clash with other participants. It&#8217;s hard to drive change, even when people agree that change is needed. I hope we can find ways to explore and experiment with new ideas without blocking on consensus across diverse and distributed teams. We have to play to our strengths, which include the ability to diverge for experimental purposes to see what really works before we commit everyone to a course of action. It will be a challenge, but I think it&#8217;s achievable.</p>
<p>All of this has me tapdancing to work in the mornings, because we&#8217;re sketching out really interesting ideas for user interaction in Launchpad and in the desktop. The team has come together very nicely, and I&#8217;m thoroughly enjoying the processes, brainstorming and prototyping. I can&#8217;t wait to see those ideas landing in production!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.markshuttleworth.com/archives/162/feed</wfw:commentRss>
		<slash:comments>192</slash:comments>
		</item>
		<item>
		<title>Economic clustering and Free Software release coordination</title>
		<link>http://www.markshuttleworth.com/archives/159</link>
		<comments>http://www.markshuttleworth.com/archives/159#comments</comments>
		<pubDate>Mon, 28 Jul 2008 15:59:00 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[free software]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[cadence]]></category>
		<category><![CDATA[release management]]></category>
		<category><![CDATA[syncronization]]></category>

		<guid isPermaLink="false">http://www.markshuttleworth.com/?p=159</guid>
		<description><![CDATA[I had the opportunity to present at the Linux Symposium on Friday, and talked further about my hope that we can improve the coordination and cadence of the entire free software stack. I tried to present both the obvious benefits and the controversies the idea has thrown up.
Afterwards, a number of people came up to [...]]]></description>
			<content:encoded><![CDATA[<p>I had the opportunity to present at the <a href="http://www.linuxsymposium.org/">Linux Symposium</a> on Friday, and talked further about my hope that we can improve the coordination and cadence of the entire free software stack. I tried to present both the obvious benefits and the controversies the idea has thrown up.</p>
<p>Afterwards, a number of people came up to talk about it further, with generally positive feedback.</p>
<p>Christopher Curtis, for example, emailed to say that the idea of economic clustering in the motor car industry goes far further than the location of car dealerships. He writes:</p>
<blockquote><p>Firstly, every car maker releases their new models at about the same time.  Each car maker has similar products &#8211; economy, sedan, light truck.  They copy each other prolifically.  Eventually, they all adopt a certain baseline &#8211; seatbelts, bumpers, airbags, anti-lock brakes. Yet they compete fiercely (OnStar from GM; Microsoft Sync from Ford) and people remain brand loyal.  This isn&#8217;t going to change in the Linux world.  Even better, relations like Debian-&gt;Ubuntu match car maker relations like Toyota-&gt;Lexus.</p></blockquote>
<p>I agree with him wholeheartedly. Linux distributions and car manufacturers are very similar: we&#8217;re selling products that reach the same basic audience (there are niche specialists in real-time or embedded or regional markets) with a similar range (desktop, workstation, server, mobile), and we use many of the same components just as the motor industry uses common suppliers. That commonality and coordination benefits the motor industry, and yet individual brands and products retain their identity.</p>
<p>Let&#8217;s do a small thought experiment. Can you name, for the last major enterprise release of your favourite distribution, the specific major versions of kernel, gcc, X, GNOME, KDE, OpenOffice.org or Mozilla that were shipped? And can you say whether those major versions were the same or different to any of the enterprise releases of Ubuntu, SLES, Debian, or RHEL which shipped at roughly the same time? I&#8217;m willing to bet that any particular customer would say that they can&#8217;t remember either which versions were involved, or how those stacked up against the competition, and don&#8217;t care either. So looking backwards, differences in versions weren&#8217;t a customer-differentiating item.  We can do the same thought experiment looking forwards. WHAT IF you knew that the next long-term supported releases of Ubuntu, Debian, Red Hat and Novell Linux would all have the same major versions of kernel, GCC, X, GNOME, KDE, OO.o and Mozilla. Would that make a major difference for you? I&#8217;m willing to bet not &#8211; that from a customer view, folks who prefer X will still prefer X. A person who prefers Red Hat will stick with Red Hat. But from a developer view, would that make it easier to collaborate? Dramatically so.</p>
<p>Another member of the audience came up to talk about the fashion industry. That&#8217;s also converged on a highly coordinated model &#8211; fabrics and technologies &#8220;release&#8221; first, then designers introduce their work simultaneously at fashion shows around the world. &#8220;Spring 2009&#8243; sees new collections from all the major houses, many re-using similar ideas or components. That hasn&#8217;t hurt their industry, rather it helps to build awareness amongst the potential audience.</p>
<p>The ultimate laboratory, nature, has also adopted release coordination. Anil Somayaji, who was in the audience for the keynote, subsequently emailed this:</p>
<blockquote><p>Basically, <a href="http://www.plosone.org/article/info:doi%2F10.1371%2Fjournal.pone.0001079">trees of a given species will synchronize their seed releases</a> in time and in amount, potentially to overwhelm predators and to coordinate with environmental conditions.  In effect, synchronized seed releases is a strategy for competitors to work together to ensure that they all have the best chance of succeeding.  In a similar fashion, if free software were to &#8220;release its seeds&#8221; in a synchronized fashion (with similar types of software or distributions having coordinated schedules, but software in different niches having different schedules), it might maximize the chances of all of their survival and prosperity.</p></blockquote>
<p>There&#8217;s no doubt in my mind that the stronger the &#8220;pulse&#8221; we are able to create, by coordinating the freezes and releases of major pieces of the free software stack, the stronger our impact on the global software market will be, and the better for all companies &#8211; from MySQL to Alfresco, from Zimbra to OBM, from Red Hat to Ubuntu.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.markshuttleworth.com/archives/159/feed</wfw:commentRss>
		<slash:comments>54</slash:comments>
		</item>
		<item>
		<title>Discussing free software syncronicity</title>
		<link>http://www.markshuttleworth.com/archives/150</link>
		<comments>http://www.markshuttleworth.com/archives/150#comments</comments>
		<pubDate>Thu, 15 May 2008 18:24:05 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[free software]]></category>
		<category><![CDATA[cadence]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[synchronization]]></category>

		<guid isPermaLink="false">http://www.markshuttleworth.com/archives/150</guid>
		<description><![CDATA[There&#8217;s been a flurry of discussion around the idea of syncronicity in free software projects. I&#8217;d like to write up a more comprehensive view, but I&#8217;m in Prague prepping for FOSSCamp and the Ubuntu Developer Summit (can&#8217;t wait to see everyone again!) so I&#8217;ll just contribute a few thoughts and responses to some of the [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s been a flurry of discussion around the idea of syncronicity in free software projects. I&#8217;d like to write up a more comprehensive view, but I&#8217;m in Prague prepping for FOSSCamp and the Ubuntu Developer Summit (can&#8217;t wait to see everyone again!) so I&#8217;ll just contribute a few thoughts and responses to some of the commentary I&#8217;ve seen so far.</p>
<p>Robert Knight <a href="http://kdemonkey.blogspot.com/2008/05/singing-in-tune.html">summarized the arguments</a> I made during a <a href="http://home.kde.org/~akademy07/videos/1-06-Keynote-Shuttleworth.ogg">keynote at aKademy</a> last year. I&#8217;m really delighted by the recent announcement of that the main GNOME and KDE annual developer conferences (GUADEC and aKademy) will be held at the same time, and in the same place, in 2009. This is an important step towards even better collaboration. Initiatives like FreeDesktop.org have helped tremendously in recent years, and a shared conference venue will accelerate that process of bringing the best ideas to the front across both projects. Getting all of the passionate and committed developers from both of these into the same real-space will pay dividends for both projects.</p>
<p>Aaron Seigo of KDE Plasma has taken a strong position against synchronized release cycles, and his <a href="http://aseigo.blogspot.com/2008/05/ramblings-on-6-month-cycles-and-plasma.html">three</a> <a href="http://aseigo.blogspot.com/2008/05/re-re-ramblings-on-6-month-cycles-and.html">recent</a> <a href="http://aseigo.blogspot.com/2008/05/re-singing-in-tune.html">posts</a> on the subject make interesting reading.</p>
<p>Aaron raises concerns about features being &#8220;punted&#8221; out of a release in order to stick to the release cycle. It&#8217;s absolutely true that discipline about &#8220;what gets in&#8221; is essential in order to maintain a commitment on the release front. It&#8217;s unfortunate that features don&#8217;t always happen on the schedule we hope they might. But it&#8217;s worth thinking a little bit about the importance of a specific feature versus the whole release. When a release happens on time, it builds confidence in the project, and injects a round of fresh testing, publicity, enthusiasm and of course bug reports. Code that is new gets a real kicking, and improves as a result. Free software projects are not like proprietary projects &#8211; they don&#8217;t have to ship new releases in order to get the money from new licenses and upgrades.  We can choose to slip a particular feature in order to get a new round of testing and feedback on all the code which did make it.</p>
<p>Some developers are passionate about specific features, others are passionate about the project as a whole. There are two specific technologies, or rather methodologies, that have hugely helped to separate those two and empower them both. They are very-good-branching VCS, and test-driven development (TDD).</p>
<p>We have found that the developers who are really focused on a specific feature tend to work on that feature in a branch (or collaborative set of branches), improving it &#8220;until it is done&#8221; regardless of the project release cycle. They then land the feature as a whole, usually after some review. This of course depends on having a VCS that supports branching and merging very well. You need to be able to merge from trunk continuously, so that your feature branch is always mergeable *back* to trunk. And you need to be able to merge between a number of developers all working on the same features. Of course, my oft-stated preference in VCS is Bazaar, because the developers have thought very carefully about how to support collaborative teams across platforms and projects and different workflows, but any VCS, even a centralised one, that supports good branches will do.</p>
<p>A comprehensive test suite, on the other hand, lets you be more open to big landings on trunk, because you know that the tests protect the functionality that people had *before* the landing. A test suite is like a force-field, protecting the integrity of code that was known to behave in a particular way yesterday, in the face of constant change. Most of the projects I&#8217;m funding now have adopted a tests-before-landings approach, where landings are trunk are handled by a robot who refuses to commit the landing unless all tests passed. You can&#8217;t argue with the robot! The beauty of this is that your trunk is &#8220;always releasable&#8221;. That&#8217;s not *entirely* true, you always want to do a little more QA before you push bits out the door, but you have the wonderful assurance that the test suite is always passing. Always.</p>
<p>So, branch-friendly VCS&#8217;s and test-driven development make all the difference.  Work on your feature till it&#8217;s done, then land it on the trunk during the open window. For folks who care about the release, the freeze window can be much narrower if you have great tests.</p>
<p>There&#8217;s a lot of discussion about the exact length of cycle that is &#8220;optimal&#8221;, with some commentary about the windows of development, freeze, QA and so on.  I think that&#8217;s a bit of a red herring, when you factor in good branching, because feature development absolutely does not stop when the trunk is frozen in preparation for a release. Those who prefer to keep committing to their branches do so, they scratch the itch that matters most to them.</p>
<p>I do think that cycle lengths matter, though. Aaron speculates that a 4-month cycle might be good for a web site. I agree, and we&#8217;ve converged on a 4-month planning cycle for Launchpad after a few variations on the theme. The key difference for me with a web site is that one has only one deployment point of the code in question, so you don&#8217;t have to worry as much about update and cross-version compatibility. The Launchpad team has a very cool system, where they roll out fresh code from trunk every day to a set of app servers (called &#8220;edge.launchpad.net&#8221;), and the beta testers of LP use those servers by default. Once a month, they roll out a fresh drop from tip to all the app servers, which is also when they rev the database and can introduce substantial new features. It&#8217;s tight, but it does give the project a lot of rhythm. And we plan in &#8220;sets of 4 months&#8221;, at least, we are for the next cycle. The last planning cycle was 9 months, which was just way too long.</p>
<p>I think the cycles-within-cycles idea is neat. Aaron talks about how 6 months is too long for quick releases, and too short to avoid having to bump features from one cycle to the next. I&#8217;ve already said that a willingness to bump a feature that is not ready is a strength and not a weakness. It would be interesting to see if the Plasma team adopted a shorter &#8220;internal&#8221; cycle, like 2 months or 3 months, and fit that into a 6 month &#8220;external&#8221; cycle, whether Aaron&#8217;s concerns were addressed.</p>
<p>For large projects, the fact that a year comes around every, well, year, turns out to be quite significant. You really want a cycle that divides neatly into a year, because a lot of external events are going to happen on that basis. And you want some cohesion between the parts. We used to run the Canonical sprints on a 4-month cycle (3 times a year) and the Ubuntu releases on a six month cycle (twice a year) and it was excessively complex. As soon as we all knew each other well enough not to need to meet up every 4 months, we aligned the two and it&#8217;s been much smoother ever since.</p>
<p>Some folks feel that distributions aren&#8217;t an important factor in choosing an upstream release cycle. And to a certain extent that&#8217;s true. There will always be a &#8220;next&#8221; release of whatever distribution you care about, and hopefully, an upstream release that misses &#8220;this&#8221; release will make it into the next one. But I think that misses the benefit of getting your work to a wider audience as fast as possible. There&#8217;s a great project management methodology called &#8220;lean&#8221;, which we&#8217;ve been working with. And it says that any time that the product of your work sits waiting for someone else to do something, is &#8220;waste&#8221;. You could have done that work later, and done something else before that generated results sooner. This is based on the amazing results seen in real-world production lines, like cars and electronics.</p>
<p>So while it&#8217;s certainly true that you could put out a release that misses the &#8220;wave&#8221; of distribution releases, but catches the next wave in six months time, you&#8217;re missing out on all the bug reports and patches and other opportunities for learning and improvement that would have come if you&#8217;d been on the first wave. Nothing morally wrong with that, and there may be other things that are more important for sure, but it&#8217;s worth considering, nonetheless.</p>
<p>Some folks have said that my interest in this is &#8220;for Canonical&#8221;, or &#8220;just for Ubuntu&#8221;. And that&#8217;s really not true. I think it&#8217;s a much more productive approach for the whole free software ecosystem, and will help us compete with the proprietary world. That&#8217;s good for everyone. And it&#8217;s not just Ubuntu that does regular 6-month releases, Fedora has adopted the same cycle, which is great because it improves the opportunities to collaborate across both distributions &#8211; we&#8217;re more likely to have the same versions of key components at any given time.</p>
<p>Aaron says:</p>
<blockquote><p>Let&#8217;s assume project A depends on B, and B releases at the same time as A. That means that A is either going to be one cycle behind B in using what B provides, or will have to track B&#8217;s bleeding edge for the latter part of their cycle allowing some usage. What you really want is a <em>staggered</em> approach where B releases right about when A starts to work on things.</p>
<p>This goes completely counter to the &#8220;everyone on the same month, every 6 months&#8221; doctrine Mark preaches, of course.</p></blockquote>
<p>I have never suggested that *everyone* should release at the same time. In fact, at Ubuntu we have converged around the idea of releasing about one month *after* our biggest predictable upstream, which happens to be GNOME. And similarly, the fact that the kernel has their own relatively predictable cycle is very useful. We don&#8217;t release Ubuntu on the same day as a kernel release that we will ship, of course, but we are able to plan and communicate meaningfully with the folks at kernel.org as to which version makes sense for us to collaborate around.</p>
<p>Rather than try and release the entire stack all at the same time, it makes sense to me to offset the releases based on a rough sense of dependencies.</p>
<p>Just to be clear, I&#8217;m not asking the projects I&#8217;ll mention below to change anything, I&#8217;m painting a picture or a scenario for the purposes of the discussion. Each project should find their own pace and scratch their itch in whatever way makes them happiest. I think there are strong itch-scratching benefits to syncronicity, however, so I&#8217;ll sketch out a scenario.</p>
<p>Imagine we aimed to have three waves of releases, about a month apart.</p>
<p>In the first wave, we&#8217;d have the kernel, toolchain, languages and system libraries, and possibly components which are performance- and security-critical. Linux, GCC, Python, Java, Apache, Tomcat&#8230; these are items which likely need the most stabilisation and testing before they ship to the innocent, and they are also pieces which need to be relatively static so that other pieces can settle down themselves. I might also include things like Gtk in there.</p>
<p>In the second wave, we&#8217;d have applications, the desktop environments and other utilities. AbiWord and KOffice, Gnumeric and possibly even Firefox (though some would say Firefox is a kernel and window manager so&#8230; <img src='http://www.markshuttleworth.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ).</p>
<p>And in the third wave, we&#8217;d have the distributions &#8211; Ubuntu, Fedora, Gentoo, possibly Debian, OpenSolaris. The aim would be to encourage as much collaboration and discussion around component versions in the distributions, so that they can effectively exchange information and patches and bug reports.</p>
<p>I&#8217;ll continue to feel strongly that there is value to projects in getting their code to a wider audience than those who will check it out of VCS-du-jour, keep it up to date and build it. And the distributions are the best way to get your code&#8230; distributed! So the fact that both Fedora and Ubuntu have converged on a rhythm bodes very well for upstreams who can take advantage of that to get wider testing, more often, earlier after their releases. I know every project will do what suits it, and I hope that projects will feel it suits them to get their code onto servers and desktops faster so that the bug fixes can come faster, too.</p>
<p>Stepping back from the six month view, it&#8217;s clear that there&#8217;s a slower rhythm of &#8220;enterprise&#8221;, &#8220;LTS&#8221; or &#8220;major&#8221; releases. These are the ones that people end up supporting for years and years. They are also the ones that hardware vendors want to write drivers for, more often than not. And a big problem for them is still &#8220;which version of X, kernel, libC, GCC&#8221; etc should we support? If the distributions can articulate, both to upstreams and to the rest of the ecosystem, some clear guidance in that regard then I have every reason to believe people would respond to it appropriates. I&#8217;ve talked with kernel developers who have said they would LOVE to know which kernel version is going to turn into RHEL or an Ubuntu LTS release, and ideally, they would LOVE it if those were the same versions, because it would enable them to plan their own work accordingly. So let&#8217;s do it!</p>
<p>Finally, in the comments on Russell Coker&#8217;s <a href="http://etbe.coker.com.au/2008/05/13/release-dates-for-debian/">thoughtful commentary</a> there&#8217;s a suggestion that I really like &#8211; that it&#8217;s coordinated freeze dates more than coordinated release dates that would make all the difference. Different distributions do take different views on how they integrate, test and deploy new code, and fixing the release dates suggests a reduction in the flexibility that they would have to position themselves differently. I think this is a great point. I&#8217;m primarily focused on creating a pulse in the free software community, and encouraging more collaboration. If an Ubuntu LTS release, and a Debian release, and a RHEL release, used the same major kernel version, GCC version and X version, we would be able to improve greatly ALL of their support for today&#8217;s hardware. They still wouldn&#8217;t ship on the same date, but they would all be better off than they would be going it alone. And the broader ecosystem would feel that an investment in code targeting those key versions would be justified much more easily.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.markshuttleworth.com/archives/150/feed</wfw:commentRss>
		<slash:comments>43</slash:comments>
		</item>
		<item>
		<title>The Art of Release</title>
		<link>http://www.markshuttleworth.com/archives/146</link>
		<comments>http://www.markshuttleworth.com/archives/146#comments</comments>
		<pubDate>Mon, 12 May 2008 11:03:28 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[release management]]></category>
		<category><![CDATA[synchronization]]></category>

		<guid isPermaLink="false">http://www.markshuttleworth.com/archives/146</guid>
		<description><![CDATA[An update on the long term plans for Ubuntu release management. 8.04 LTS represented a very significant step forward in our release management thinking. To the best of my knowledge there has never been an &#8220;enterprise platform&#8221; release delivered exactly on schedule, to the day, in any proprietary or Linux OS. Not only did it [...]]]></description>
			<content:encoded><![CDATA[<p>An update on the long term plans for Ubuntu release management. 8.04 LTS represented a very significant step forward in our release management thinking. To the best of my knowledge there has never been an &#8220;enterprise platform&#8221; release delivered exactly on schedule, to the day, in any proprietary or Linux OS. Not only did it prove that we could execute an LTS release in the standard 6-month timeframe, but it showed that we could commit to such an LTS the cycle beforehand. Kudos to the technical decision-makers, the release managers, and the whole community who aligned our efforts with that goal.</p>
<p>As a result, we can commit that <strong>the next LTS release of Ubuntu will be 10.04 LTS</strong>, in April 2010.</p>
<p>This represents one of the most extraordinary, and to me somewhat unexpected, benefits of free software to those who deploy it. Most people would assume that precise release management would depend on having total control of all the moving parts &#8211; and hence only be possible in a proprietary setting. Microsoft writes (almost) every line of code in Windows, so you would think they would be able to set, and hit, a precise target date for delivery. But in fact the reverse is true -  free software distributions or OSV&#8217;s can provide much better assurances with regard to delivery dates than proprietary OSV&#8217;s, because we can focus on the critical role of component selection, integration, testing, patch management and distribution rather than the pieces which upstream projects are better able to handle &#8211; core component feature development. This is in my mind <strong>a very compelling reason for distributions to focus on distribution</strong> &#8211; that&#8217;s the one thing they do which the upstreams don&#8217;t, so they need to invest heavily in that in order to serve as the most efficient conduit of upstream&#8217;s work.</p>
<p>We also committed, for the first time, to <strong>a regular set of point releases for 8.04 LTS</strong>. These will start three months after the LTS, and be repeated every six months until the next LTS is out. These point releases will include support for new hardware as well as rolling up all the updates published in that series to date. So a fresh install of a point release will work on newer hardware and will also not require a big download of additional updates.</p>
<p>Gerry Carr at Canonical put together this diagram which describes the release management plan very nicely:</p>
<p><img src="http://www.markshuttleworth.com/wp-content/uploads/2008/05/ubuntu-release-cycle.png" alt="Ubuntu Release Cycle" /></p>
<p>The Ubuntu team does an amazing job of ensuring that one can update from release to release, and from LTS release to LTS release directly, too. I&#8217;m very proud to be part of this community! With the addition of some capability to support newer hardware in LTS releases, I think we are doing our part in the free software community &#8211; helping to deliver the excellent work of thousands of other teams, from kernel.org to GNOME and KDE, safely to a huge audience.</p>
<p><strong>There&#8217;s one thing that could convince me to change the date of the next Ubuntu LTS: the opportunity to collaborate with the other, large distributions on a coordinated major / minor release cycle.</strong> If two out of three of Red Hat (RHEL), Novell (SLES) and Debian are willing to agree in advance on a date to the nearest month, and thereby on a combination of kernel, compiler toolchain, GNOME/KDE, X and OpenOffice versions, and agree to a six-month and 2-3 year long term cycle, then I would happily realign Ubuntu&#8217;s short and long-term cycles around that. I think the benefits of this sort of alignment to users, upstreams and the distributions themselves would be enormous. I&#8217;ll write more about this idea in due course, for now let&#8217;s just call it my dream of true free software syncronicity.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.markshuttleworth.com/archives/146/feed</wfw:commentRss>
		<slash:comments>166</slash:comments>
		</item>
		<item>
		<title>Good architectural layering, and Bzr 1.1</title>
		<link>http://www.markshuttleworth.com/archives/136</link>
		<comments>http://www.markshuttleworth.com/archives/136#comments</comments>
		<pubDate>Wed, 09 Jan 2008 13:46:46 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[free software]]></category>
		<category><![CDATA[thoughts]]></category>
		<category><![CDATA[bazaar]]></category>
		<category><![CDATA[bzr]]></category>

		<guid isPermaLink="false">http://www.markshuttleworth.com/archives/136</guid>
		<description><![CDATA[I completely failed to blog the release of Bzr 1.0 last year, but it was an excellent milestone and by all accounts, very well received. Congratulations to the Bazaar community on their momentum! I believe that the freeze for 1.1 is in place now so it&#8217;s great to see that they are going to continue [...]]]></description>
			<content:encoded><![CDATA[<p>I completely failed to blog the release of Bzr 1.0 last year, but it was an excellent milestone and by all accounts, very well received. Congratulations to the Bazaar community on their momentum! I believe that the freeze for 1.1 is in place now so it&#8217;s great to see that they are going to continue to deliver regular releases.</p>
<p>I&#8217;ve observed a surge in the number of contributors to Bazaar recently, which has resulted in a lot of small but useful branches with bugfixes for various corner cases, operating systems and integrations with other tools.  One of the most interesting projects that&#8217;s getting more attention is <a title="Integration of Bazaar (bzr) and Eclipse" href="https://launchpad.net/bzr-eclipse">BzrEclipse</a>, integrating Bzr into the Eclipse IDE in a natural fashion.</p>
<p>I think open source projects go through an initial phase where they work best with a tight group of core contributors who get the basics laid out to the point where the tool or application is usable by a wider audience. Then, they need to make the transition from being &#8220;closely held&#8221; to being open to drive-by contributions from folks who just want to fix a small bug or add a small feature. That&#8217;s quite a difficult transition, because the social skills required to run the project are quite different in those two modes. It&#8217;s not only about having good social skills, but also about having good processes that support the flow of new, small contributions from new, unproven contributors into the code-base.</p>
<p>It seems that one of the key &#8220;best practices&#8221; that has emerged is the idea of plug-in architectures, that allow new developers to contribute an extension, plug-in or add-on to the  codebase without having to learn too much about the guts of the project, or participate in too many heavyweight processes. I would generalize that and say that good design, with clearly though-through and pragmatic layers, allow new contributors to make useful contributions to the code-base quickly because they present useful abstractions early on.</p>
<p>Firefox really benefited from their decision to support cross-platform add-ons. I&#8217;m delighted to hear that OpenOffice is headed in the same direction.</p>
<p>Bazaar is very nicely architected. Not only is there a well-defined plug-in system, but there&#8217;s also a very useful and pragmatic layered architecture which keeps the various bits of complexity contained for those who really need to know. I&#8217;ve observed how different teams of contributors, or individuals, have introduced whole new on-disk formats with new performance characteristics, completely orthogonally to the rest of the code. So if you are interested in the performance of status and diff, you can delve into working tree state code without having to worry about long-term revision storage or branch history mappings.</p>
<p>Layering can also cause problems, when the layers are designed too early and don&#8217;t reflect the pragmatic reality of the code. For example, witness the &#8220;exchange of views&#8221; between the ZFS folks and the Linux filesystem community, who have very different opinions on the importance and benefits of layering.</p>
<p>Anyhow, kudos to the Bazaar guys for the imminent 1.1, and for adopting an architecture that makes it easier for contributors to get going.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.markshuttleworth.com/archives/136/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>A community approach to commercial training materials</title>
		<link>http://www.markshuttleworth.com/archives/134</link>
		<comments>http://www.markshuttleworth.com/archives/134#comments</comments>
		<pubDate>Thu, 20 Dec 2007 11:40:12 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[education]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[open content]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://www.markshuttleworth.com/archives/134</guid>
		<description><![CDATA[Is it possible to have training materials that are developed in partnership with the community, available under a CC license, AND make those same materials available through formal training providers? We&#8217;re trying to find out at Canonical with our Ubuntu Desktop Course.
Billy Cina @Canonical has been making steady progress towards the goal of having a [...]]]></description>
			<content:encoded><![CDATA[<p>Is it possible to have training materials that are developed in partnership with the community, available under a CC license, AND make those same materials available through formal training providers? We&#8217;re trying to find out at Canonical with our Ubuntu Desktop Course.</p>
<p>Billy Cina @Canonical has been making steady progress towards the goal of having a <a href="https://wiki.ubuntu.com/Training">full portfolio of training options available for commercial users</a> of Ubuntu. Companies that want to ensure that their staff are rigorously trained, and individuals who want to present their Ubuntu credentials in a formal setting, need to have a certified and trusted framework for skills assurance.</p>
<p>Most of the work we are doing in this line is following the traditional model, where content is funded as a private investment, and the content is then licensed to authorized training providers who sell courses to their local markets. These courses are usually sold to companies that have adopted a platform or tool and want to ensure a consistent level of skills across the organization. Many companies are moving to Ubuntu for both desktop and server, so demand is hotting up for this capability. We have a system builder course, and a system administrator course are now available from authorized training providers.</p>
<p>But we wanted also to try a different approach, that might be more accessible to the Ubuntu community and might also result in even higher quality materials. We think the key ingredients are:</p>
<ul>
<li>Use of an open format (Docbook)</li>
<li>Content source available in a public Bazaar repository (<a href="https://launchpad.net/ubuntu-desktop-course">here</a>)</li>
<li>Licensing under open terms (CC-BY-NC-SA)</li>
<li>Working with the Ubuntu doc-team, who have a wealth of experience</li>
</ul>
<p>The license is copyleft and non-commercial, so that it is usable by any person for their own education and edification with the requirement that commercial use will involve some contribution back to the core project.</p>
<p>It&#8217;s already a 400 page book which gives a great overview of the Ubuntu desktop experience, a very valuable resource for folks who are new to Linux and Ubuntu.</p>
<p>We are getting to the point where we can publish a &#8220;daily PDF&#8221; which will have the very latest version (&#8220;trunk&#8221;) compiled overnight. So anyone has free access to the very latest version, and of course anyone can bzr branch the content to make changes that suit them.</p>
<p>If you want to have a look at the latest content, try this:</p>
<ul>
<li>install Bluefish (useful as a docbook editor)</li>
<li>make sure you have <a href="http://bazaar-vcs.org/">bzr 1.0</a></li>
<li>make sure Launchpad has <a href="https://launchpad.net/people/+me/+editsshkeys">an SSH key for you</a></li>
</ul>
<p>Type:</p>
<p><code>bzr launchpad-login &lt;your-lp-username</code><br />
<code>bzr branch lp:ubuntu-desktop-course</code></p>
<p>The source is huge (712MB, lots of images in a large book), so grab a cup of tea, and when you get back you will have the latest version of the content, hot and well-brewed <img src='http://www.markshuttleworth.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  This is a great set of materials if you are offering informal training. Corrections and additions would be most welcome, just push your branch up to Launchpad and request a merge of your changes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.markshuttleworth.com/archives/134/feed</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>Willing to buy a high-end, free-software-only laptop?</title>
		<link>http://www.markshuttleworth.com/archives/131</link>
		<comments>http://www.markshuttleworth.com/archives/131#comments</comments>
		<pubDate>Thu, 12 Jul 2007 15:33:57 +0000</pubDate>
		<dc:creator>mark</dc:creator>
				<category><![CDATA[free software]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[open bios]]></category>

		<guid isPermaLink="false">http://www.markshuttleworth.com/archives/131</guid>
		<description><![CDATA[With projects like Gobuntu and gNewSense aiming to provide a platform that is zealous about free software, the obvious question is &#8220;where can I run it?&#8221;. And right now, as far as laptops go, there are no good answers. Pretty much any laptop you can buy today needs some sort of non-free bits to make [...]]]></description>
			<content:encoded><![CDATA[<p>With projects like Gobuntu and gNewSense aiming to provide a platform that is zealous about free software, the obvious question is &#8220;where can I run it?&#8221;. And right now, as far as laptops go, there are no good answers. Pretty much any laptop you can buy today needs some sort of non-free bits to make the most of its hardware, putting you in the tricky position of having to choose between hardware usefulness and software freedom. And boy, do we know about that choice in Ubuntu!</p>
<p>There have been several threads about this, in comments on this blog and also on comments to <a href="http://launchpad.net/bugs/1">Bug #1</a>. Most of them have focused on free drivers but we should also be thinking about OpenBIOS (the new name for the LinuxBIOS project). An ideal solution would also use firmware that has a free software licence as well, but I personally would see OpenBIOS and free drivers as a good start.</p>
<p>Right now, software freedom isn&#8217;t a huge priority for most of the companies that make up components for the PC and laptop industry. If we want to get onto their radar screen, we need to show that its worth their while to think about it. To that end I&#8217;d like to build up a list of people who are interested in this idea, and would potentially buy a high-powered laptop if it were guaranteed to work completely with free software drivers and OpenBIOS.</p>
<p>So I&#8217;ve setup a mailing list over here:</p>
<blockquote><p><a title="List for news about a high-power laptop designed to work with free software" href="https://lists.ubuntu.com/mailman/listinfo/free-software-laptop">https://lists.ubuntu.com/mailman/listinfo/free-software-laptop</a></p></blockquote>
<p>Please go ahead and join that list if you think you would seriously consider buying a laptop that was powerful and designed specifically to be free-software friendly.</p>
<p>This is a totally moderated list &#8211; I&#8217;ll only allow messages through that specifically let people know about the possibility of acquiring a laptop that can pass the free software test. So it&#8217;s news-only, and ultra-low traffic. If we can get sufficient numbers of people to express interest in such a laptop then I will start hunting for an OEM to offer a solution for pre-order.</p>
<p>I&#8217;ve also started to sketch out the components and specifications for a laptop that would meet these requirements here:</p>
<blockquote><p><a title="Specifications for a " href="https://wiki.ubuntu.com/FreeSoftwareLaptop">https://wiki.ubuntu.com/FreeSoftwareLaptop</a></p></blockquote>
<p>It will take a lot of committed buyers to move from concept to execution but if we can pull it off it will have an excellent ripple effect in the PC hardware industry. Make yourself heard!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.markshuttleworth.com/archives/131/feed</wfw:commentRss>
		<slash:comments>141</slash:comments>
		</item>
	</channel>
</rss>
