<?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>Ian Murdock's Weblog &#187; Search Results  &#187;  LSB</title>
	<atom:link href="http://ianmurdock.com/?s=LSB&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://ianmurdock.com</link>
	<description>on emerging platforms and the power of aggregation and integration</description>
	<lastBuildDate>Fri, 25 Sep 2009 15:26:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Early adopters and IDEs (integrated development experiences)</title>
		<link>http://ianmurdock.com/platforms/early-adopters-and-ides-integrated-development-experiences/</link>
		<comments>http://ianmurdock.com/platforms/early-adopters-and-ides-integrated-development-experiences/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 17:31:35 +0000</pubDate>
		<dc:creator>Ian Murdock</dc:creator>
				<category><![CDATA[platforms]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://ianmurdock.com/?p=483</guid>
		<description><![CDATA[
Tim Bray: &#8220;[H]ere it is nearly thirty years into my programming career and Iâ€™m still debugging with print statements.&#8221;


Heh. Same here, though it&#8217;s only been 25 years for me (wow, &#8220;only&#8221; 25 years?).


The lesson here is that old habits die hard&#8212;and that different segments of the developer community have vastly different expectations and preferences when [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://www.tbray.org/ongoing/When/200x/2009/01/04/Programming-Notes">Tim Bray</a>: &#8220;[H]ere it is nearly thirty years into my programming career and Iâ€™m still debugging with print statements.&#8221;
</p>
<p>
Heh. Same here, though it&#8217;s only been 25 years for me (wow, &#8220;only&#8221; 25 years?).
</p>
<p>
The lesson here is that old habits die hard&#8212;and that different segments of the developer community have vastly different expectations and preferences when it comes to tools. Case in point: Despite all the advancements in tools over the past decade (and despite the fact that I ran marketing for NetBeans at Sun for one of those years, and that I&#8217;m a big proponent of an IDE centric &#8220;connected developer&#8221; approach for Sun), my &#8220;IDE&#8221; of choice is still a combination of command line tools and Emacs.
</p>
<p>
Indeed, as I&#8217;ve learned over the years, this presents an interesting challenge for platform vendors. While grassroots momentum in the early adopter community is key to building a successful platform these days (think Linux, MySQL, and Amazon Web Services, among others), and early adopters will put up with a remarkable amount of pain to target these platforms (Linux, MySQL, and Amazon Web Services developers have largely relied, at least in the beginning and in many cases still today, on command line tools), what I call &#8220;integrated development experience&#8221; is key to taking these platforms to the mass market&#8212;and indeed can be an immensely powerful competitive weapon.
</p>
<p>
Think about how Microsoft was able to successfully leverage its Windows/Visual Studio/MSDN triumvirate to bootstrap .NET in the early 2000s, and how it&#8217;s leveraging .NET/Visual Studio/MSDN to bootstrap Silverlight today using largely the same techniques. Or think about how Apple is entrenching itself in the mobile developer community by providing dead simple drag and drop tooling for the iPhone, along with a (mostly) seamless publication and monetization vehicle via the App Store. What would the iPhone platform look like without this dead simple tooling? Let&#8217;s just say there&#8217;s not a whole lot of demand in the early adopter community for digital flatulence applications.
</p>
<p>
Of course, the real question for the 21st century platform vendor&#8212;one that understands <a href="http://blogs.sun.com/jonathan/entry/winds_of_change_are_blowing">that massive adoption in the early adopter community</a> is key to success&#8212;is when to transition from a wild west, bubble gum and bailing wire platform strategy to a more neatly packaged integrated development experience. I&#8217;ve <a href="http://ianmurdock.com/2006/10/24/lsb-developer-network-launched/">long argued</a> that making this transition is key to taking your platform to the next level. When to do it is the real question. Too early, and you damage the limitless possibilities that make your platform so appealing to early adopters. Too late, and you expose yourself to competition from vendors that do a better job at capitalizing on the broader opportunity (and that&#8217;s best case&#8212;worst case, your platform fades away because it is never able to grow beyond the early adopters).
</p>
<p>
No one ever said this business was simple..</p>
]]></content:encoded>
			<wfw:commentRss>http://ianmurdock.com/platforms/early-adopters-and-ides-integrated-development-experiences/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Joining Sun</title>
		<link>http://ianmurdock.com/sun/joining-sun/</link>
		<comments>http://ianmurdock.com/sun/joining-sun/#comments</comments>
		<pubDate>Mon, 19 Mar 2007 13:59:25 +0000</pubDate>
		<dc:creator>Ian Murdock</dc:creator>
				<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://ianmurdock.com/2007/03/19/joining-sun/</guid>
		<description><![CDATA[I saw my first Sun workstation about 15 years ago, in 1992. I was a business student at Purdue University, and a childhood love for computers had just been reawakened. I was spending countless hours in the basement of the Math building, basking in the green phosphorescent glow of a Z29 and happily exploring every [...]]]></description>
			<content:encoded><![CDATA[<p>I saw my first Sun workstation about 15 years ago, in 1992. I was a business student at <a href="http://www.purdue.edu/">Purdue University</a>, and <a href="http://ianmurdock.com/?p=341">a childhood love for computers</a> had just been reawakened. I was spending countless hours in the basement of the Math building, basking in the green phosphorescent glow of a <a href="http://www.yesterpc.com/Hardware/Zenith%20Z29/item.htm">Z29</a> and happily exploring every nook and cranny of the <a href="http://en.wikipedia.org/wiki/Sequent_Computer_Systems">Sequent</a> Symmetry upstairs. It didn&#8217;t take too long to discover, though, just a short walk away in the computer science building, several labs full of Sun workstations. Suddenly, the Z29 didn&#8217;t have quite the same allure. A few months later, I walked over to the registrar&#8217;s office and changed my major to computer science. (OK, advanced tax accounting had something to do with it too.)</p>
<p>Everything I know about computing I learned on those Sun workstations, as did so many other early Linux developers; I even had my own for a while, after I joined the <a href="http://www.arizona.edu/">University of Arizona</a> <a href="http://www.cs.arizona.edu/">computer science department</a> in 1997. But within a year, the Suns were starting to disappear, replaced by Pentiums running Red Hat Linux. More and more people coming through university computer science programs were cutting their teeth on Linux, much as I had on Sun. Pretty soon, Sun was increasingly seen by this new generation as the vendor who didn&#8217;t &#8220;get it&#8221;, and Sun&#8217;s rivals did a masterful job running with that and painting the company <a href="http://ianmurdock.com/open-source-and-the-commoditization-of-software">literally built on open standards</a> as &#8220;closed&#8221;.  To those of us who knew better, it was a sad thing to watch.</p>
<p>The last several years have been hard for Sun, but the corner has been turned. As an outsider, I&#8217;ve watched as Sun has successfully embraced x86, pioneered energy efficiency as an essential computing feature, open sourced its software portfolio to maximize the network effects, championed transparency in corporate communications, and so many other great things. Now, I&#8217;m going to be a part of it.</p>
<p>And, so, I&#8217;m excited to announce that, as of today, I&#8217;m joining Sun to head up operating system platform strategy. I&#8217;m not saying much about what I&#8217;ll be doing yet, but you can probably guess from my <a href="http://ianmurdock.com/about">background</a> and earlier writings that I&#8217;ll be advocating that <a href="http://ianmurdock.com/?p=278">Solaris needs to close the usability gap with Linux to be competitive</a>; that while as I believe Solaris needs to change in some ways, I also believe deeply in the importance of <a href="http://ianmurdock.com/?p=410">backward compatibility</a>; and that even with Solaris front and center, I&#8217;m pretty strongly of the opinion that <a href="http://ianmurdock.com/?p=258">Linux needs to play a clearer role in the platform strategy</a>.</p>
<p>It is with regrets that I leave the <a href="http://www.linux-foundation.org/">Linux Foundation</a>, but if you haven&#8217;t figured out already, Sun is a company I&#8217;ve always loved, and being a part of it was an opportunity I simply could not pass up. I think the world of the people at the LF, particularly my former FSG colleagues with whom I worked so closely over the past year and a half: Jim Zemlin, Amanda McPherson, <a href="http://www.licquia.org/">Jeff Licquia</a>, and Dan Kohn. And I still very much believe in the core LF mission, to prevent the fragmentation of the Linux platform. Indeed, I&#8217;m remaining in my role as chair of the <a href="http://www.linux-foundation.org/en/LSB">LSB</a>&#8212;and Sun, of course, is a member of the Linux Foundation.</p>
<p>Anyway. Watch this space. This is going to be fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://ianmurdock.com/sun/joining-sun/feed/</wfw:commentRss>
		<slash:comments>122</slash:comments>
		</item>
		<item>
		<title>Yet more on the importance of backward compatibility</title>
		<link>http://ianmurdock.com/platforms/yet-more-on-the-importance-of-backward-compatibility/</link>
		<comments>http://ianmurdock.com/platforms/yet-more-on-the-importance-of-backward-compatibility/#comments</comments>
		<pubDate>Mon, 29 Jan 2007 12:48:24 +0000</pubDate>
		<dc:creator>Ian Murdock</dc:creator>
				<category><![CDATA[platforms]]></category>

		<guid isPermaLink="false">http://ianmurdock.com/?p=410</guid>
		<description><![CDATA[David Berlind: &#8220;With barely five days to go before long-anticipated January 30 launch of Vista is history, a familiar problem and the linchpin to adoption of any major operating system upgrade (Windows Vista qualifies) is crashing the party: backwards compatibility. Intuit, developer of one of the world&#8217;s most popular accounting applications used in small, medium [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.zdnet.com/Berlind/?p=315">David Berlind</a>: &#8220;With barely five days to go before long-anticipated January 30 launch of Vista is history, a familiar problem and the linchpin to adoption of any major operating system upgrade (Windows Vista qualifies) is crashing the party: backwards compatibility. Intuit, developer of one of the world&#8217;s most popular accounting applications used in small, medium and large businesses (Quickbooks), has notified its customers by email that Windows Vista is incompatible with some of the features of Quickbooks 2006.&#8221;</p>
<p><a href="http://blogs.zdnet.com/microsoft/?p=220">Mary Jo Foley</a>: &#8220;Is it Intuit&#8217;s fault that its older products don&#8217;t work on Vista? Or Microsoft&#8217;s fault for changing the operating system in a way that it breaks them?&#8221;</p>
<p><a href="http://blogs.zdnet.com/Ou/?p=413">George Ou</a>: &#8220;As it turns out, it isn&#8217;t QuickBooks 2006 itself that has the problem with Vista but all the Intuit and third party add-on software that communicates with QuickBooks 2006 that&#8217;s the problem.  More to the point, it&#8217;s the intercommunication between all those applications and the fact that they&#8217;re using forbidden techniques that have been banned since 2001 with Windows XP certification requirements that&#8217;s the issue.  Intuit admitted to me that they declined to seek Windows XP certification for all these years and they&#8217;re just now making the necessary modifications for QuickBooks 2007.  The reason this is relevant is because most software that is certified for Windows XP will automatically be compatible with Windows Vista.&#8221;</p>
<p><a href="http://blogs.zdnet.com/Berlind/?p=316">David Berlind</a>: &#8220;So, while Microsoft&#8217;s response doesn&#8217;t point the finger directly at Intuit as the culprit in this situation, it makes it clear that its certification programs â€” programs that Intuit has apparently eschewed since 2001 â€” are the centerpiece of its efforts to guarantee backwards compatibility.&#8221;</p>
<p>Interesting discussion. Whose fault is it? It doesn&#8217;t really matter, as the end result is the same&#8212;Microsoft potentially loses customers (those who won&#8217;t upgrade to Vista because QuickBooks will break), and Intuit potentially loses customers (those who won&#8217;t upgrade to QuickBooks 2007 but rather will move to an on demand solution like <a href="http://www.netsuite.com">NetSuite</a>&#8212;customers tend to dislike forced upgrades).</p>
<p>David Berlind&#8217;s observation is interesting though, namely that Microsoft has been using its certification programs to limit the scope of the backward compatibility problem to a well defined subset around which it can presumably do thorough compatibility testing. Note that Red Hat too <a href="http://www.redhat.com/f/pdf/rhel4/AppCompat.pdf">only guarantees backward compatibility for a subset of its platform</a>, and that the LSB doesn&#8217;t cover the entire Linux platform either, just the subset that&#8217;s import for application portability.</p>
<p>What are the lessons here, from my point of view? First of all, and not surprisingly, backward compatibility matters, and it matters (or should matter) to both sides. Second, to achieve that backward compatibility, both sides have to work at it, and because a typical platform has so many moving parts, limiting the scope is key to understanding the &#8220;contract&#8221; between OS and application. Finally, some formal way of stating &#8220;I am following the contract&#8221;, such as a certification program, can make compatibility a lot easier to articulate to mutual customers.</p>
<p>Related: <a href="http://ianmurdock.com/?p=400">On the importance of backward compatibility</a>, <a href="http://ianmurdock.com/?p=407">More on the importance of backward compatibility</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ianmurdock.com/platforms/yet-more-on-the-importance-of-backward-compatibility/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>On the importance of backward compatibility</title>
		<link>http://ianmurdock.com/platforms/on-the-importance-of-backward-compatibility/</link>
		<comments>http://ianmurdock.com/platforms/on-the-importance-of-backward-compatibility/#comments</comments>
		<pubDate>Sun, 14 Jan 2007 17:10:51 +0000</pubDate>
		<dc:creator>Ian Murdock</dc:creator>
				<category><![CDATA[platforms]]></category>

		<guid isPermaLink="false">http://ianmurdock.com/?p=400</guid>
		<description><![CDATA[I&#8217;m often asked why I&#8217;m so obsessed with backward compatibility and, as a result, why I&#8217;ve made the issue such a central part of the LSB over the past year. Yes, it&#8217;s hard, particularly in the Linux world, because there are thousands of developers building the components that make up the platform, and it just [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m often asked why I&#8217;m so obsessed with backward compatibility and, as a result, why I&#8217;ve made the issue such a central part of the LSB over the past year. Yes, it&#8217;s hard, particularly in the Linux world, because there are thousands of developers building the components that make up the platform, and it just takes one to break compatibility and make our lives difficult. Even worse, the idea of keeping extraneous stuff around for the long term &#8220;just&#8221; for the sake of compatibility is anathema to most engineers. Elegance of design is a much higher calling than the pedestrian task of making sure things don&#8217;t break.</p>
<p>Why is backward compatibility important? Here&#8217;s a great example, via <a href="http://www.joelonsoftware.com/articles/APIWar.html">Joel Spolsky</a> (note: from 2004):</p>
<blockquote><p>Raymond Chen is a developer on the Windows team at Microsoft. He&#8217;s been there since 1992, and his weblog <a href="http://weblogs.asp.net/oldnewthing/">The Old New Thing</a> is chock-full of detailed technical stories about why certain things are the way they are in Windows, even silly things, which turn out to have very good reasons.</p>
<p>The most impressive things to read on Raymond&#8217;s weblog are the <a href="http://weblogs.asp.net/oldnewthing/archive/2003/12/23/45481.aspx">stories</a> of the <a href="http://weblogs.asp.net/oldnewthing/archive/2003/10/15/55296.aspx">incredible efforts</a> the Windows team has made over the years to support backwards compatibility: &#8220;Look at the scenario from the customer&#8217;s standpoint. You bought programs X, Y and Z. You then upgraded to Windows XP. Your computer now crashes randomly, and program Z doesn&#8217;t work at all. You&#8217;re going to tell your friends, &#8216;Don&#8217;t upgrade to Windows XP. It crashes randomly, and it&#8217;s not compatible with program Z.&#8217; Are you going to debug your system to determine that program X is causing the crashes, and that program Z doesn&#8217;t work because it is using undocumented window messages? Of course not. You&#8217;re going to return the Windows XP box for a refund. (You bought programs X, Y, and Z some months ago. The 30-day return policy no longer applies to them. The only thing you can return is Windows XP.)&#8221;</p>
<p>I first heard about this from one of the developers of the hit game SimCity, who told me that there was a critical bug in his application: it used memory right after freeing it, a major no-no that <em>happened</em> to work OK on DOS but would not work under Windows where memory that is freed is likely to be snatched up by another running application right away. The testers on the Windows team were going through various popular applications, testing them to make sure they worked OK, but SimCity kept crashing. They reported this to the Windows developers, who disassembled SimCity, stepped through it in a debugger, found the bug, and <em>added special code </em>that checked if SimCity was running, and if it did, <em>ran the memory allocator in a special mode in which you could still use memory after freeing it</em>.</p>
<p>This was not an unusual case. The Windows testing team is huge and one of their most important responsibilities is guaranteeing that everyone can safely upgrade their operating system, no matter what applications they have installed, and those applications will continue to run, even if those applications do bad things or use undocumented functions or rely on buggy behavior that happens to be buggy in Windows <em>n</em> but is no longer buggy in Windows <em>n</em>+1&#8230;</p>
<p>A lot of developers and engineers don&#8217;t agree with this way of working. If the application did something bad, or relied on some undocumented behavior, they think, it should just break when the OS gets upgraded. The developers of the Macintosh OS at Apple have always been in this camp. It&#8217;s why so few applications from the early days of the Macintosh still work&#8230;</p>
<p>To contrast, I&#8217;ve got DOS applications that I wrote in 1983 for the very original IBM PC that still run flawlessly, thanks to the Raymond Chen Camp at Microsoft.</p></blockquote>
<p>I can almost feel the revulsion among my readership right about now. However, next time you&#8217;re in Best Buy or CompUSA, look at the shelf of Windows applications, then compare it to the shelf of Mac applications, and perhaps you&#8217;ll better understand why it&#8217;s important.</p>
<p>Beyond the results speaking for themselves, I&#8217;ll argue that it takes a <strong>better engineer</strong> to move a platform forward while at the same time making sure things don&#8217;t break. It&#8217;s pretty easy to wash your hands of something and declare it to be someone else&#8217;s problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://ianmurdock.com/platforms/on-the-importance-of-backward-compatibility/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
		</item>
		<item>
		<title>Babies, bath water and open platforms</title>
		<link>http://ianmurdock.com/platforms/babies-bath-water-and-open-platforms/</link>
		<comments>http://ianmurdock.com/platforms/babies-bath-water-and-open-platforms/#comments</comments>
		<pubDate>Fri, 12 Jan 2007 13:11:51 +0000</pubDate>
		<dc:creator>Ian Murdock</dc:creator>
				<category><![CDATA[platforms]]></category>

		<guid isPermaLink="false">http://ianmurdock.com/?p=399</guid>
		<description><![CDATA[Steve Jobs: &#8220;You donâ€™t want your phone to be an open platform.&#8221;
More Steve Jobs: &#8220;These are devices that need to work, and you canâ€™t do that if you load any software on them. That doesnâ€™t mean thereâ€™s not going to be software to buy that you can load on them coming from us. It doesnâ€™t [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.msnbc.msn.com/id/16566968/site/newsweek/page/2/">Steve Jobs</a>: &#8220;You donâ€™t want your phone to be an open platform.&#8221;</p>
<p><a href="http://www.nytimes.com/2007/01/12/technology/12apple.html?ref=technology">More Steve Jobs</a>: &#8220;These are devices that need to work, and you canâ€™t do that if you load any software on them. That doesnâ€™t mean thereâ€™s not going to be software to buy that you can load on them coming from us. It doesnâ€™t mean we have to write it all, but it means it has to be more of a controlled environment.&#8221;</p>
<p>It&#8217;s widely understood that Microsoft beat Apple in the PC game because Apple was a tightly integrated, closed platform, whereas Microsoft was an open ecosystem where anyone could play (albeit <a href="http://ianmurdock.com/?p=280">at their own peril</a>).</p>
<p>Clearly, the strategy has not adapted well to digital media players. Why? Because people are tired of products that don&#8217;t work. Anyone who has ever had to glue a PC back together for a family member knows what I mean.</p>
<p>Does &#8220;open&#8221; have to mean &#8220;poorly integrated&#8221; though? Clearly, I don&#8217;t think so, given how much I&#8217;ve invested in Linux over the years and how much I&#8217;m investing in the LSB now. And the job the distributions do in the Linux world is nothing short of amazing, if you think about it&#8212;taking thousands of moving parts written by thousands of different people and crafting them into what appears, for the most part, to be an orchestrated whole.</p>
<p>Personal experience bears this out too&#8212;it&#8217;s not that the entire Windows Media ecosystem produces bad products (iTunes pales in comparison to Rhapsody), it&#8217;s that the integration points are extremely fragile (e.g., I tried Rhapsody To Go with a Plays For Sure device, which was an awful experience). In other words, just like a chain, an open ecosystem is only as strong as its weakest link, because it&#8217;s the links where things break.</p>
<p>Sure, there are bad products. I&#8217;ve owned no less than two MP3 players in the last few years, and they were pretty terrible.</p>
<p>It&#8217;s the very, very simple things too. For example, I listen to a lot of podcasts. There&#8217;s (gasp!) a Podcasts menu on the iPod, whereas on every other device I&#8217;ve owned, podcasts are interspersed with the music, making them difficult to find and, adding insult to injury, mixing gobbledygook into my otherwise well organized collection. Furthermore (gasp!), the iPod keeps track of which podcasts I listen to, and in concert with iTunes, automatically deletes the ones I&#8217;m done with. Them&#8217;s lasers!</p>
<p>Ah, iTunes. Despite the fact that anyone in the world can write a podcatcher (it&#8217;s just RSS with enclosures, fer godsakes), the only one I&#8217;ve ever used that works worth a damn is iTunes. Everything else is just &#8220;integrated&#8221; with bailing wire&#8212;create a Windows Media playlist, drop it in this directory, etc.</p>
<p>The situation on Linux is a bit better, but guess what&#8212;Rhythmbox, Banshee, etc. didn&#8217;t work with either of the open media players I owned, even though the integration point for one of them was the file system. No, the players on Linux support the iPod best because that&#8217;s what everyone has, and if I&#8217;m going to pay extra for the iPod, aren&#8217;t I primarily buying the integrated experience? (On a related note, I&#8217;ve never understood why people pay top dollar for Macs and install Linux on them. But I digress..)</p>
<p>Once you taste the fruit of the integrated experience, it&#8217;s easy to get sucked in all the way. I eventually tired of all the wasted time and money trying to use an open media player and broke down and bought an iPod. Not too long after, I canceled my Rhapsody subscription. Why? Because I couldn&#8217;t use it with my iPod. My overall music experience is diminished (I&#8217;m a big believer in <a href="http://ianmurdock.com/?p=292">the celestial jukebox</a>), but I want one music platform, not two. And the iPod is the one with critical mass. Anything else is swimming upstream.</p>
<p>Are open platforms doomed then? I think that&#8217;s, as they say, throwing the baby out with the bath water. The key is to have open interfaces, and the key to having open interfaces that work is <a href="http://ianmurdock.com/?p=282">cooperation between the vendors that implement them</a>. Perhaps surprisingly, the iPod is a good example of how it can be done. The biggest reason for my iPod purchase: I can hook it directly into my car stereo instead of using <a href="http://ianmurdock.com/?p=294">an FM transmitter</a>. Apple isn&#8217;t getting into the car business&#8212;it&#8217;s decided to cooperate with other companies to make this work. And you don&#8217;t hear too much about people calling their technophile relatives to come glue their cars back together. (And talk about the importance of not crashing..)</p>
<p>The lesson here, it seems to me, is that an ecosystem is never the sum of its parts&#8212;it&#8217;s either a whole lot more or a whole lot less. Furthermore, it&#8217;s the responsibility of the vendors (and community) that make up that ecosystem to ensure the result comes up on the right side of the equation in the final analysis.</p>
]]></content:encoded>
			<wfw:commentRss>http://ianmurdock.com/platforms/babies-bath-water-and-open-platforms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LSB/FSG mailing lists down</title>
		<link>http://ianmurdock.com/linux/lsbfsg-mailing-lists-down/</link>
		<comments>http://ianmurdock.com/linux/lsbfsg-mailing-lists-down/#comments</comments>
		<pubDate>Fri, 05 Jan 2007 16:49:38 +0000</pubDate>
		<dc:creator>Ian Murdock</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://ianmurdock.com/?p=396</guid>
		<description><![CDATA[The LSB/FSG mailing lists are down. We&#8217;re aware of the problem and working on getting them back up as soon as possible.
]]></description>
			<content:encoded><![CDATA[<p>The LSB/FSG mailing lists are down. We&#8217;re aware of the problem and working on getting them back up as soon as possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://ianmurdock.com/linux/lsbfsg-mailing-lists-down/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Software installation on Linux: Tomorrow, it won&#8217;t (with some cooperation) (part 2)</title>
		<link>http://ianmurdock.com/linux/software-installation-on-linux-tomorrow-it-wont-with-some-cooperation-part-2/</link>
		<comments>http://ianmurdock.com/linux/software-installation-on-linux-tomorrow-it-wont-with-some-cooperation-part-2/#comments</comments>
		<pubDate>Wed, 20 Dec 2006 01:45:19 +0000</pubDate>
		<dc:creator>Ian Murdock</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://ianmurdock.com/?p=391</guid>
		<description><![CDATA[In part 1, I described the problem of software installation on Linux; in part 2, I&#8217;ll describe the solution we came up with at the recent LSB Packaging Summit.
After reading through the comments to part 1, let me first point out that our goal is to create a vibrant third party software ecosystem around Linux&#8212;you [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://ianmurdock.com/?p=388">part 1</a>, I described the problem of software installation on Linux; in part 2, I&#8217;ll describe the solution we came up with at the recent <a href="http://www.freestandards.org/en/LSB_face-to-face_%28December_2006%29">LSB Packaging Summit</a>.</p>
<p>After reading through the <a href="#comments">comments</a> to part 1, let me first point out that our goal is to create a <strong>vibrant third party software ecosystem</strong> around Linux&#8212;you know, like the one Microsoft has built around Windows. No, it&#8217;s not about imitating Microsoft. It&#8217;s about <strong>being competitive</strong>. A platform is only as good as the applications that run on it.</p>
<p>Bottom line: Many third parties have built their businesses around proprietary software, and we can&#8217;t just ignore them. And &#8220;ecosystem&#8221; implies decentralized, which I argued in part 1 was a key tenet of open source development anyway, i.e., this should be playing to one of our core strengths. So, if your &#8220;solution&#8221; is to tell ISVs (independent software vendors) to give us their source code so the distributions can include it because <strong>that&#8217;s just how we do things</strong>, you can safely skip the rest of the post below. You&#8217;re simply not going to agree that any of this is a problem.</p>
<p>Ok. Assuming our goal is to create a vibrant third party software ecosystem (and everyone still reading agrees that&#8217;s a good goal, right?), we have the following challenges.</p>
<p>First of all, the distribution vendors are hugely invested in their existing package systems, and for the most part, those package systems work extremely well. As I said in part 1, &#8220;if [an application] is in your distro of choice, youâ€™re only an apt-get or a yum install away from running it.&#8221; (I&#8217;m saying it again here because some of the commenters apparently didn&#8217;t see that. The tricky bit is &#8220;in your distro of choice&#8221;, which by definition is not the case with <strong>third party</strong> software.)</p>
<p>Furthermore, a variety of highly sophisticated systems management solutions are built above those package systems, such as <a href="https://www.redhat.com/rhn">Red Hat Network</a> and <a href="http://www.novell.com/products/zenworks">Novell ZENworks</a>. This is a pretty important consideration, because these days, the &#8220;software management problem&#8221; largely involves managing software across the entire infrastructure, not just a single system.</p>
<p>What problem then? This: ISVs have thus far been reluctant to use the native package systems. Why? THEY&#8217;RE hugely invested in &#8220;package systems&#8221; for other platforms, and <a href="http://ianmurdock.com/?p=386">every Linux specific thing they have to support costs money.</a> In a world where decisions are ruled by cost vs. benefit, this is a pretty important consideration too.</p>
<p>How do ISVs handle this today? For the most part, they ignore the package systems on Linux and do their own thing. Trouble is, while doing their own thing gives ISVs the flexibility to work cross platform, it ultimately makes their products integrate poorly in the broader systems management context because the package systems know nothing about them.</p>
<p>What is needed is a way to bridge the gap between what the distros provide and what the ISVs want. But how?</p>
<p>First off, we have to understand what ISVs want. The answer is simple: ISVs want to treat Linux as a single platform, which means they want to offer a single package for Linux, much as they do for Windows. So, if <a href="#comment-1018">one commenter</a> is right that &#8220;[t]he problem is that people (including software distributors) believe thereâ€™s such [a] thing as &#8216;Linux&#8217; as a target platform&#8221; and that &#8220;[i]f youâ€™re distributing software for &#8216;Linux&#8217; then it wonâ€™t be simple to install it, ever&#8221;, well, then Linux is destined to suffer the fate of UNIX. I&#8217;m not ready to give up so easily.</p>
<p>Several commenters suggested that what we need is a brand new package system. That&#8217;s a non-starter&#8212;for one thing, the distros aren&#8217;t going to be too keen on replacing something they&#8217;re hugely invested in, and if ISVs aren&#8217;t going for RPM today, why would they go for something different tomorrow?</p>
<p>No, to find a way forward, we need an evolutionary step from where we are today. From there, perhaps we can do more, but even the first steps can be quite valuable in their own right.</p>
<p>To help find those first steps, we put some of the leading minds in Linux packaging in the same room (including the maintainers of RPM at Red Hat and Novell and the authors/maintainers of APT, yum, alien, and <a href="http://klik.atekon.de">klik</a>) along with ISVs large and small, server and desktop.</p>
<p>The discussion pretty quickly converged on constructing a single API that could be implemented across the various package systems, because APIs make for nice evolutionary steps and can, done right, mask underlying implementation differences.</p>
<p>Question is, what do ISVs need in such an API? Limiting the scope is key here, because providing an API that spans all the functionality of, say, RPM and dpkg is overwhelming to the point of being unworkable, not to mention more work to implement, which in turn makes it less likely to get into the distros so that ISVs can count on it being there, the whole point of this exercise in the first place.</p>
<p>Fortunately, the ISVs don&#8217;t really need much. At the most basic level, an installer just needs to be able to query the system to see if it&#8217;s LSB compliant, and if it is, what version of the LSB it&#8217;s compliant with; and it needs to be able to &#8220;register&#8221; with the package system, so the package system knows about it, including what files it has installed. And that&#8217;s really about it.</p>
<p>Importantly, because we assume an environment that&#8217;s LSB compliant, we don&#8217;t have to worry about dependencies, because everything is covered by the single LSB dependency, and dependency management is 95% of the package systems right there. We still need minimal dependency support&#8212;components can extend the LSB, and applications can depend on those other components being installed&#8212;but we&#8217;re talking on the order of a handful of components, not the tens of thousands of components typical package systems have to deal with.</p>
<p>We only had a day, so we obviously don&#8217;t have a complete solution yet. For one thing, we barely touched on the issue of uninstallation (should we allow applications to register GUI uninstallers?), and the issue of how applications go about changing the system configuration still needs discussion (in a lot of cases, the assumption of LSB compliance means the installer is going to be well behaved, but there&#8217;s undoubtedly corner cases to be explored). And it&#8217;s going to take time for the API to be implemented and put into widespread enough use that ISVs can depend on it.</p>
<p>However, everyone in the room did come to consensus pretty quickly that this was an important problem, and that providing a simple API that provides the minimum necessary functionality was the way to go. Perhaps most exciting, the very people whose support are needed to put the API into widespread use were in that room, and active participants in the discussion too.</p>
<p>Everyone is certainly motivated: The distros get more applications, which makes the shared platform more attractive; and ISVs get lower cost, which tilts the cost vs. benefit equation in their favor, making Linux versions more economically attractive and potentially opening new markets.</p>
<p>Because this is just a start, the FSG is launching a <a href="http://www.freestandards.org/en/Packaging">Packaging</a> workgroup to continue the discussion we started at the Packaging Summit. If you&#8217;re interested in this topic, I&#8217;d encourage you to join the <a href="http://lists.freestandards.org/mailman/listinfo/packaging/">mailing list</a> and get involved. There&#8217;s still plenty to be done.</p>
<p>Update: One more thing: In addition to making it easier for ISVs to better support Linux by simply extending their existing installation scripts, the API approach really comes into its own when you imagine it implemented in things like <a href="http://autopackage.org">Autopackage</a> and <a href="http://www.macrovision.com/products/flexnet_installshield/installanywhere/index.shtml">InstallAnywhere</a>. Let the market decide!</p>
]]></content:encoded>
			<wfw:commentRss>http://ianmurdock.com/linux/software-installation-on-linux-tomorrow-it-wont-with-some-cooperation-part-2/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>Software installation on Linux: Today, it sucks (part 1)</title>
		<link>http://ianmurdock.com/linux/software-installation-on-linux-today-it-sucks-part-1/</link>
		<comments>http://ianmurdock.com/linux/software-installation-on-linux-today-it-sucks-part-1/#comments</comments>
		<pubDate>Fri, 15 Dec 2006 16:42:02 +0000</pubDate>
		<dc:creator>Ian Murdock</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://ianmurdock.com/?p=388</guid>
		<description><![CDATA[As anyone who follows my blog knows, I&#8217;m fond of linking to other sites with brief little quotes that either get me thinking or reinforce points I&#8217;m trying to make elsewhere. (Credit where credit is due: Dave Winer and Doc Searls both do this very effectively, and I&#8217;m just shamelessly copying them, down to the [...]]]></description>
			<content:encoded><![CDATA[<p>As anyone who follows my blog knows, I&#8217;m fond of linking to other sites with brief little quotes that either get me thinking or reinforce points I&#8217;m trying to make elsewhere. (Credit where credit is due: <a href="http://www.scripting.com/">Dave Winer</a> and <a href="http://doc.weblogs.com/">Doc Searls</a> both do this very effectively, and I&#8217;m just shamelessly copying them, down to the quoting style they typically use.)</p>
<p>One of the quotes I&#8217;ve had queued up for a long time is this one from <a href="http://www.infoworld.com/article/05/07/06/28OPstrategic_1.html">Jon Udell</a>:</p>
<blockquote><p>I have a confession to make. Sometimes, when Iâ€™m trying out an unfamiliar open source component, I cheat. Even if the software Iâ€™m working on will deploy to Linux, Iâ€™ll sometimes develop it on Windows first. Why? Because on Windows, an open source component is likely to come with an installer that just works.</p></blockquote>
<p>He&#8217;s right. Unless an application is included with your Linux distribution of choice, installing that application on Linux is a nightmare compared to Windows.</p>
<p>Here&#8217;s an example. To install Sun&#8217;s <a href="http://developers.sun.com/prodtech/javatools/jscreator/index.jsp">Java Studio Creator</a> on Windows, I just click on the .exe on Sun&#8217;s web site, which downloads the file and places it on my desktop. I double click the .exe (after, of course, checking it for viruses) and am up and running in a few minutes.</p>
<p>In contrast, on Linux, I click on the .bin, which downloads the file and.. up pops a text editor showing me a /bin/sh script.</p>
<p>Nice. Fortunately, I know what that is, so I save the script to a file on my desktop. I double click the file, and.. up pops a dialog box telling me the file isn&#8217;t executable.</p>
<p>Nice. Fortunately, I know what that means, so I drop into a shell and run <code>chmod +x ./creator-2_1-linux-ml.bin</code>. I double click the file again, and there&#8217;s a nice graphical installer now.</p>
<p>Finally, it looks like everything is going my way. Halfway through, though, the installation fails, telling me I need to install the RPMs for <code>compat-libstdc++</code> and <code>compat-libstdc++-dev</code>.</p>
<p>Nice. Assuming I even know what an &#8220;RPM&#8221; is, I then realize: I&#8217;m running Debian, and Debian doesn&#8217;t use RPM. Maybe I know about <a href="http://kitenet.net/~joey/code/alien.html">alien</a>, but even if I do, where do I go about getting the <code>compat-libstdc++</code> and <code>compat-libstdc++-dev</code> RPMs?</p>
<p>At this point, I&#8217;ll probably hit Google&#8212;that is, if I haven&#8217;t already thrown up my hands in disgust and gone back to Windows. After a bit of Googling, I find <a href="http://www.jugpadova.it/articles/2006/01/26/installing-java-studio-creator-2-on-debian">this page</a>, which tells me on Debian what I really need is <code>libstdc++2.10-glibc2.2</code> and <code>libstdc++2.10-dev</code>. Of course! I should have known that. (Note: I&#8217;m being sarcastic.)</p>
<p>After installing those two packages, I restart the installer (which, thankfully, knows how to deal with the fact that it&#8217;s already half installed, but that won&#8217;t always be true). The installation finishes this time, and the installer kindly offers to start the program for me. However, after poking around a bit and exiting back to the desktop, I don&#8217;t see a menu entry or a desktop icon, so I&#8217;m not sure how I&#8217;m going to find it again (and I hope I don&#8217;t have to explain why cd&#8217;ing to <code>~/sun/Creator2_1/bin</code> is not an answer).</p>
<p>Anyone who has ever installed software on Linux is familiar with this song and dance. If it&#8217;s in your distro of choice, you&#8217;re only an apt-get or a yum install away from running it. But if not, you&#8217;d better know what you&#8217;re doing, have a lot of patience, and understand how to construct effective Google search terms. (And, no, moving everything into the distribution is not a very good option. Remember that one of the key tenets of open source is <strong>decentralization</strong>, so if the only solution is to <strong>centralize</strong> everything, there&#8217;s something fundamentally wrong with this picture.)</p>
<p>Oh, well. At least I didn&#8217;t have to check for viruses!</p>
<p>Fortunately, some of the problems I experienced are bugs. The above was done on a pre-release Debian etch system over the summer, so it&#8217;s likely the problems have been fixed. I repeated the experiment on an Ubuntu edgy system, and it didn&#8217;t open the text editor, nor did it complain about an incompatible C++ environment. However, there were still no menu entries or desktop icons, and there was an additional problem too in that when I double clicked the file, it opened it in <a href="http://www.codeweavers.com/">CrossOver Office</a>, which I also have installed. Regardless, even if it works better on some distros than others, there&#8217;s still no usable solution until ISVs and end users alike can depend on things <strong>consistently working</strong> regardless of the distro being used.</p>
<p>Again, fortunately, we have solutions to parts of the problem already. The LSB abstracts away the differences between the runtime environments of the various distros, so the Java Studio Creator installer could have simply said &#8220;you must install the LSB environment&#8221; rather than trying to deal with the hundreds of little variations in both the environments and the package namespaces that provide them (e.g., <code>compat-libstdc++</code> vs. <code>libstdc++2.10-glibc2.2</code>). Better yet, on distros that provide the LSB environment in their default configuration, the installer doesn&#8217;t have to do anything. And <a href="http://portland.freedesktop.org/wiki/">Project Portland</a> promises to give us a consistent interface for creating menu entries, desktop icons and such things.</p>
<p>However, far too few applications take advantage of the LSB today (<a href="http://ianmurdock.com/?p=357">though that&#8217;s changing</a>), and Project Portland isn&#8217;t in any of the distros yet (though we&#8217;re looking at bundling its primary deliverable, <a href="http://portland.freedesktop.org/xdg-utils-1.0/">xdg-utils</a>, with the LSB 3.2 <a href="http://www.freestandards.org/en/Downloads#LSB_Software_Development_Kit_.28SDK.29">SDK</a> to work around that). Finally, even though the LSB provides ISVs with a consistent way to create an LSB compliant <strong>executable</strong>, there&#8217;s no consistent way to deliver an LSB compliant <strong>application</strong> that&#8217;s easy to install and that integrates well with the distribution&#8217;s package system. Yes, the LSB includes RPM today, but for a variety of reasons, ISVs don&#8217;t want to use RPM, and as already mentioned, not all distributions support RPM natively.</p>
<p>Fortunately, once again, this isn&#8217;t just a rant. The LSB tackled these very issues at the <a href="http://www.freestandards.org/en/LSB_face-to-face_(December_2006)">LSB face to face and Packaging Summit</a> last week in Berlin, Germany, and we think we have a way forward that&#8217;s acceptable to all involved: Linux distribution vendors who already have well established package systems and systems management tools built around them; ISVs who need to support <a href="http://ianmurdock.com/?p=386">multiple platforms</a> and so don&#8217;t want to support the Linux specific RPM format or who otherwise want more control over the installation experience; and end users who want to use the software management facilities their distributions provide, whether that&#8217;s RPM or something higher level like APT and yum. More in <a href="http://ianmurdock.com/?p=391">part 2</a>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://ianmurdock.com/linux/software-installation-on-linux-today-it-sucks-part-1/feed/</wfw:commentRss>
		<slash:comments>75</slash:comments>
		</item>
		<item>
		<title>iAccessible2 and the importance of cross platform standards</title>
		<link>http://ianmurdock.com/linux/iaccessible2-and-the-importance-of-cross-platform-standards/</link>
		<comments>http://ianmurdock.com/linux/iaccessible2-and-the-importance-of-cross-platform-standards/#comments</comments>
		<pubDate>Thu, 14 Dec 2006 16:58:53 +0000</pubDate>
		<dc:creator>Ian Murdock</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://ianmurdock.com/?p=386</guid>
		<description><![CDATA[Elizabeth Montalbano and Andy Updegrove write about IBM&#8217;s donation of iAccessible2 to the Free Standards Group, which is being formally announced today (see the IBM  and FSG press releases). In addition to IBM, the project is backed by Sun, Oracle, SAP and other major vendors.
This is a big deal in and of itself, of [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.infoworld.com/article/06/12/13/HNibmblindodf_1.html">Elizabeth Montalbano</a> and <a href="http://www.consortiuminfo.org/standardsblog/article.php?story=20061214050334512">Andy Updegrove</a> write about IBM&#8217;s donation of <a href="http://www.freestandards.org/en/Accessibility/IAccessible2">iAccessible2</a> to the Free Standards Group, which is being formally announced today (see the <a href="http://www-03.ibm.com/press/us/en/pressrelease/20773.wss">IBM </a> and <a href="http://www.freestandards.org/wordpress/?p=276">FSG</a> press releases). In addition to IBM, the project is backed by Sun, Oracle, SAP and other major vendors.</p>
<p>This is a big deal in and of itself, of course, because it will make applications based on ODF, AJAX, and other emerging open standards more accessible to visually impaired users. But it&#8217;s also an important milestone for the FSG, so I thought I should say a few words about that here from my own little pulpit.</p>
<p>The first clue is that iAccessible2 is an accessibility API for Windows. <em>Windows</em>? Yes, the FSG is primarily a Linux organization (our main project is, of course, the <em>Linux</em> Standard Base), so why on earth are we now involved in building APIs for Windows?</p>
<p>First of all, we&#8217;ll be moving this project forward as an extension to our <a href="http://www.freestandards.org/en/Accessibility">existing accessibility projects</a>&#8212;which, given the way the FSG is structured, flow into the LSB as they are adopted by the Linux distributions (who, as I&#8217;ve already mentioned here, <a href="http://ianmurdock.com/?p=357">are active participants in the LSB project</a>, so we&#8217;re not just hoping the distros adopt our work, we&#8217;re proactively trying to drive consensus on these key issues). So, this definitely impacts our Linux work by bringing accessibility features to Linux that not only equal those of Windows but exceed them (iAccessible2 itself came about because <a href="http://en.wikipedia.org/wiki/Microsoft_Active_Accessibility">Microsoft Active Accessibility</a> has notable shortcomings).</p>
<p>But it&#8217;s more than that. Another way to look at this is that the LSB APIs will be taking on a distinctly more cross platform flavor, particularly in the &#8220;around the edges&#8221; cases such as this. Again, that begs the question: Why is cross platform support important for a Linux organization? That one&#8217;s simple. APIs are for application developers. Application developers target multiple platforms. The less Linux specific work an application developer has to do to support Linux, the more cost effective a Linux version will be, the more likely it is to get done. It&#8217;s all about more Linux apps.</p>
<p>There&#8217;s another dimension to it as well. There are a certain class of features that the vast majority of developers don&#8217;t think much about because that vast majority doesn&#8217;t need them. There&#8217;s no itch to scratch, as it were. Accessibility is a great example of such a feature: I have no idea what it&#8217;s like to be blind, nor do most people. If we can provide a set of open, cross platform APIs that allow application developers to easily add such features to their products, more standards based products will support them.</p>
<p><a href="http://blogs.sun.com/korn/date/20051113">As Massachusetts and ODF brings into sharp focus</a>, these &#8220;around the edges&#8221; cases developers don&#8217;t think much about can turn out to be very important indeed.</p>
]]></content:encoded>
			<wfw:commentRss>http://ianmurdock.com/linux/iaccessible2-and-the-importance-of-cross-platform-standards/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Oracle Joins The Free Standards Group As A Platinum Member</title>
		<link>http://ianmurdock.com/linux/oracle-joins-the-free-standards-group-as-a-platinum-member/</link>
		<comments>http://ianmurdock.com/linux/oracle-joins-the-free-standards-group-as-a-platinum-member/#comments</comments>
		<pubDate>Thu, 26 Oct 2006 13:15:35 +0000</pubDate>
		<dc:creator>Ian Murdock</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://ianmurdock.com/?p=372</guid>
		<description><![CDATA[Oracle Press Release: &#8220;The Free Standards Group (FSG) and Oracle today announced that Oracle has joined the FSG as a platinum member. FSG is a nonprofit organization dedicated to strengthening and promoting Linux as a platform for application development. Oracle plans on contributing to FSG&#8217;s Linux Standard Base (LSB) workgroup and providing feedback and guidance [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.oracle.com/corporate/press/2006_oct/oracle-fsg.html?rssid=rss_ocom_pr">Oracle Press Release</a>: &#8220;The Free Standards Group (FSG) and Oracle today announced that Oracle has joined the FSG as a platinum member. FSG is a nonprofit organization dedicated to strengthening and promoting Linux as a platform for application development. Oracle plans on contributing to FSG&#8217;s Linux Standard Base (LSB) workgroup and providing feedback and guidance on its requirements for developing and supporting enterprise applications for Linux. Oracle&#8217;s support of the FSG and LSB is a significant milestone in the development of the standard and highlights the LSB&#8217;s success in solving Linux application development issues.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://ianmurdock.com/linux/oracle-joins-the-free-standards-group-as-a-platinum-member/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
