<?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>APEBOX.ORG &#187; Rants</title>
	<atom:link href="http://apebox.org/wordpress/category/rants/feed/" rel="self" type="application/rss+xml" />
	<link>http://apebox.org/wordpress</link>
	<description>we like kittens and spoons and cake</description>
	<lastBuildDate>Thu, 10 May 2012 13:29:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Sleeping with the enemy: my life with Windows Phone</title>
		<link>http://apebox.org/wordpress/rants/407/</link>
		<comments>http://apebox.org/wordpress/rants/407/#comments</comments>
		<pubDate>Thu, 10 May 2012 13:12:55 +0000</pubDate>
		<dc:creator>directhex</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[freesoftware]]></category>
		<category><![CDATA[fuckups]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[qnx]]></category>
		<category><![CDATA[smartphones]]></category>
		<category><![CDATA[symbian]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[webos]]></category>

		<guid isPermaLink="false">http://apebox.org/wordpress/?p=407</guid>
		<description><![CDATA[In my last blog post about smartphones, I urged the universe at large to help maintain a variety of ecosystems, to help foster competition and originality amongst vendors &#8211; and the same day I hit publish, WebOS was killed. Apparently the universe hates me. Since then, a few things have changed. My main phone since [...]]]></description>
			<content:encoded><![CDATA[<p>In my last blog post about smartphones, I urged the universe at large to help maintain a variety of ecosystems, to help foster competition and originality amongst vendors &#8211; and the same day I hit publish, WebOS was killed.</p>
<p>Apparently the universe hates me.</p>
<p>Since then, a few things have changed. My main phone since the day of its release was the HP Pre 3, running WebOS &#8211; and whilst I still have a soft spot for the OS, the Pre 3 was simply too buggy for me to use full time. The main issue is that I use my phone as an MP3 player in the car &#8211; but the Pre 3 would pause playback at the end of a track every half dozen tracks or so &#8211; making it impossible to drive the 85 miles to work without needing to root around in the armrest and poke a touchscreen. Not something I really want to do whilst moving &#8211; and ultimately too big a papercut to deal with.</p>
<p>So, come the new year, I moved on to my next device, a Nokia N9 running MeeGo Harmattan. Ultimately, this was an even bigger failure for me than the Pre 3 was, and I lasted maybe two weeks with it before giving up and going back to the HP. Beyond massive usability errors in the software (especially the braindead unkillable pop-up demanding Internet access, even when none is available), the worst for me was how it handled the MP3 player task. My usual way of working is to have the phone hooked up to the stereo with a 3.5mm jack, and the car switches to headset Bluetooth profile to handle calls &#8211; this is pretty common on cars too old to support A2DP profile (Stereo music-capable headphones). WebOS and Android are fine with this &#8211; but not the N9. The N9, instead, will output all audio through the last connected audio device, regardless of how much that might not be helpful. Get in car, start music playing, plug in cable, start engine &#8211; and it plays audio for about three seconds before the Bluetooth connects, and it switches to outputting music via the Headset bluetooth profile (not something that my car can do). Unplug and replug the cable, and music works &#8211; but incoming calls are silent until I disconnect the 3.5mm jack, as it outputs the headset audio through the headphone socket. I just couldn&#8217;t deal with this big a step back from WebOS as far as my workflow goes, and gave up.</p>
<p>So, where next? Well, a funny thing happened &#8211; a co-worker with generally very good instincts regarding consumer electronics usability told me that his housemate had just bought a Nokia Lumia 800 Windows phone (the WP7-based cousin to the N9) and loved it. Enough that said co-worker was considering getting one himself. This was a very strange thing to hear, especially from an iPhone owner, about a Microsoft product. I&#8217;d been generally interested in WP7 on an academic level for a while, but to hear that degree of praise of the actual product was interesting. Also interesting, and roughly simultaneous, was seeing Sajid Anwar&#8217;s reverse engineering of the proprietary Zune file transfer protocol go from <a href="http://kbhomes.github.com/blog.html?tag=mtpz">theory</a> into an actual set of <a href="https://github.com/kbhomes/libmtp-zune">libmtp patches</a>.</p>
<p>So if the capability to use Banshee to transfer music on is here or near&#8230; and it can&#8217;t be as braindead as Harmattan when it comes to headphone/bluetooth behaviour, then why not jump ship and squeeze a handset out of Orange?</p>
<p>About a week after my co-worker replaced his iPhone with a Lumia 800, I bought one too.</p>
<p>So where to begin? Well, I&#8217;ll begin at the start: WP7 is a joy to use. It really just is. It&#8217;s the first mobile OS to try something radically different in the UI department for years. Everyone else these days (especially Android) builds iPhone rip-offs to varying degrees, and even the iPhone interface has a lot in common with the old old OLD interfaces found on the dumb Nokia phones of the 1990s. WP7 has an interface which provides just the right level of passively visible information and interactivity, and manages to do it with an elegance that no Android home screen filled with widgets will ever manage. The uncluttered screens are easy to read, and the Metro usability paradigms are trivial to pick up and learn. Without a doubt I&#8217;d recommend WP7 to friends and family from a usability perspective, and the Microsoft engineers and designers responsible for cooking up the WP7 interface are worthy of praise. And I&#8217;m not the only one saying this &#8211; Apple co-founder Steve &#8220;Woz&#8221; Wozniak recently came out with <a href="http://www.theverge.com/2012/4/28/2983312/steve-wozniak-windows-phone-android-comparison">a similar line</a>.</p>
<p>That&#8217;s the good. There&#8217;s also some bad, make no mistake. I&#8217;m going to cover all the reasons WP7 sucks over several paragraphs. But overall, a smartphone is a device which I <em>expect</em> to suck &#8211; the question is how bad the suck is, and whether it gets in the way of me using the device for what I need at the time. Moreso than MeeGo, moreso than Android, and even WebOS (and I&#8217;m still a big WebOS fan), WP7 has more good points than bad points. But there&#8217;s still some room for improvement, and some room for caution &#8211; and since I know there are a few Microsoft folks following me on Twitter, I&#8217;m going to go over my prescription for continued platform success.</p>
<p>Oh, one more thing before I start: I know WP7 isn&#8217;t Free Software. As an end user, I really don&#8217;t care about that. I just want something that works &#8211; something I didn&#8217;t get from WebOS and Harmattan, both of which are primarily Free Software stacks. I&#8217;m not saying there&#8217;s a causal relationship there, or that a mobile OS can&#8217;t be both Free Software and good &#8211; just that as an end user, my favourite platform right now is non-Free. Take from that whatever you like. It&#8217;s also vitally important, as Free Software folks, never to lose sight of what the other players in the market are up to. If you can&#8217;t objectively assess why people are using a proprietary option by using it &amp; recognising its good points (i.e. what to steal &amp; what to improve) then you can&#8217;t hope to win over users.</p>
<p>So. WP7&#8242;s downsides in detail.</p>
<p><strong>In-place updates.</strong> Seriously guys, even Apple can manage this now. Why can&#8217;t Windows Phone? I understand that making backups is smart &#8211; and all updates come with a mandatory backup &#8211; but I really shouldn&#8217;t be tied to a PC to update a post-PC device. Also, those backups are useless, since they cannot be restored onto replacement devices in the case of failure or theft, so fix that too.</p>
<p><strong>Update all the things.</strong> An iPhone sold in June 2009 still has access to the latest iOS releases. Android phones are notorious for shipping with an outdated version of the OS, then getting at most one major update over the phone&#8217;s lifetime (usually the device is abandoned by its manufacturer within months of release). Which camp does Microsoft want to align with, there? <em>Every Windows phone 7 device released should receive Windows Phone 8</em>, even with some features disabled. Anything less is punishing every existing customer, in the hope that you&#8217;ll attract new ones &#8211; not a winning strategy for a fringe platform whose biggest evangelists are its users.</p>
<p><strong>Fix IMAP.</strong> IMAP isn&#8217;t hard. Yet WP7 never seems to work properly with a subset of my mail, never showing the message body &amp; just saying &#8220;Downloading&#8221; forever. Fix it.</p>
<p><strong>Bing sucks.</strong> Bing&#8217;s search results are terrible. Either do something to make them bearable, or allow me to pick which search engine I get when I hit the search button. A Google live tile isn&#8217;t the same thing.</p>
<p><strong>Make killing apps easier.</strong> I know you stole the WebOS card view for multitasking (hold the back button) &#8211; please also steal the WebOS ability to close apps. I don&#8217;t want to have to go into an app and bash &#8220;back&#8221; repeatedly until it quits. This is particularly annoying for Internet Explorer.</p>
<p><strong>Make reinstalling apps easier.</strong> If I want to install every app I previously had installed on a new device, without restoring a backup, this should be easy. There are third party apps which try to plug this gap.</p>
<p><strong>Find a way to support copyleft.</strong> I&#8217;d like to port a few C# apps to WP7, but because they&#8217;re LGPL, I can&#8217;t. The code&#8217;s copyright holders would have no issue with their code being on WP7, as long as end users have a mechanism to replace the libraries, so why not find a way to allow this? e.g. when compiling an app, let me mark a library as &#8220;user-replaceable&#8221;, then allow for some mechanism where an end user can replace those assemblies with their own version.</p>
<p><strong>Let me use multiple Google calendars.</strong> WP7 only lets me add/see appointments on my default Google calendar. I want to add/see things on my wife&#8217;s calendar, which is shared with me. WebOS can do this.</p>
<p><strong>MTP-Z is the devil.</strong> I do not need or want encrypted end to end communication between my PC and my camera device, to transfer a photo off. I do not need or want encrypted end to end communication between my PC and my MP3 player to transfer a photo on. Let&#8217;s be honest, the only reason for MTP-Z is to enforce DRM on Zune-rented music tracks &#8211; and honestly, there&#8217;s no good reason to require MTP-Z for *all* communications if all you want to do is protect one folder or file extension. Now, since MTP-Z theoretically forces me to use Zune for many tasks better handled by other apps, now I get to write multiple criticisms of Zune&#8217;s desktop app &#8211; and as long as MTP-Z is enforced, every Zune failing is a Windows Phone failing too.</p>
<p><strong>Zune: Support Windows&#8217; codec infrastructure, and transcode where needed.</strong> Windows Media Player can play Ogg Vorbis files. No, not out of the box, but if one installs the required codecs. Zune should support the same files as WMP &#8211; if you want to ensure people don&#8217;t try to copy files to a portable device which are not supported on that device, then you should have an API in place to allow for pluggable seamless transcoding of files as required &#8211; Banshee allows me to do this (e.g. to copy files I have as .flac to devices which do not support it).</p>
<p><strong>Zune: Search my tracks, not the web.</strong> Zune&#8217;s searching is terrible &#8211; it doesn&#8217;t do as-you-type searches, and when I hit enter, matches from my collection are given a tiny little space compared to matches from the Zune music store. Let me easily pick the track I feel like listening to, don&#8217;t make it a chore</p>
<p><strong>Zune: Let&#8217;s solve metadata together.</strong> I absolutely love how nicely the Zune app &#8211; on desktop and on phone &#8211; shifts as appropriate to the currently playing artist (e.g. changing the lock screen to an image of the artist in question). However, Zune doesn&#8217;t make it obvious how to set an album&#8217;s metadata to support this, and it&#8217;s particularly frustrating when it&#8217;s a minor difference of spelling causing a track not to get the &#8220;nice&#8221; treatment &#8211; e.g. &#8220;UNKLE&#8221; versus &#8220;U.N.K.L.E.&#8221;. Either start making heavy use of audio fingerprinting services like MusicBrainz to fill in metadata, or allow me to search for &#8220;fully supported&#8221; artists when filling in track metadata</p>
<p><strong>Zune: Random playlists are useless on devices.</strong> I like smart playlists. In Banshee, I have one to pick 12GB of random tracks, which I can sync to my phone. I can&#8217;t do this with Zune. If I try to just sync all my random music to my phone, it errors out due to lack of space. If I have a random playlist, the random selection changes multiple times during a sync &#8211; resetting the sync, wiping out half the tracks that were transferred on, and starting again. As a result, the sync goes on for literally hours, never ending up with more than a gig or so of tracks on the phone. Random playlists should be freezable, so I can transfer them to my device in peace, then get a new random selection when I want.</p>
<p>So, that&#8217;s my list of miserable failure &#8211; and it&#8217;s still a less painful list than any other mobile OS I&#8217;ve used. Perhaps one day Android will approach being usable, perhaps Blackberry&#8217;s BBX will actually appeal to human beings rather than corporate IT managers, and perhaps Mozilla&#8217;s delightfully named &#8220;Boot to Gecko&#8221; will get some traction. Who knows. All I know is, My Lumia 800 is the best phone I think I&#8217;ve ever owned, and it&#8217;s important for anyone working in the mobile space to understand why.</p>
]]></content:encoded>
			<wfw:commentRss>http://apebox.org/wordpress/rants/407/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Bansheegeddon</title>
		<link>http://apebox.org/wordpress/rants/398/</link>
		<comments>http://apebox.org/wordpress/rants/398/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 17:19:49 +0000</pubDate>
		<dc:creator>directhex</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[freesoftware]]></category>
		<category><![CDATA[fuckups]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://apebox.org/wordpress/?p=398</guid>
		<description><![CDATA[It&#8217;s seeming increasingly likely that reports regarding the future of Banshee, Tomboy, and the rest of the Mono stack in the default Ubuntu desktop install are accurate. Ubuntu 12.04 will likely be the first Ubuntu release since 5.10 not to ship with any Mono apps in the default install &#8211; ending a run of 12 [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s seeming increasingly likely that reports regarding the future of Banshee, Tomboy, and the rest of the Mono stack in the default Ubuntu desktop install are accurate. Ubuntu 12.04 will likely be the first Ubuntu release since 5.10 not to ship with any Mono apps in the default install &#8211; ending a run of 12 releases over 6 years. The decision seems to have come about during the &#8220;default apps&#8221; session at the Ubuntu Developer Summit just ended in Orlando, Florida. Prior to <a href="http://summit.ubuntu.com/uds-p/meeting/19442/desktop-p-default-apps/">heavy vandalism</a>, the only reasons cited for the change in the <a href="http://pad.ubuntu.com/ep/pad/view/uds-p-desktop-p-default-apps/rev.1545">UDS session log</a> are &#8220;Banshee not well maintained&#8221; and &#8220;porting music store to GTK3 is blocked on banshee ported to GTK3&#8243;. Other reasons mentioned but not in the session logs are complaints that it doesn&#8217;t work on ARM.</p>
<p>I&#8217;m using a lot of conjecture in this first paragraph because the &#8220;news&#8221; about the decision appeared on the blogosphere before anywhere else. The first many Banshee or Tomboy developers read about it was reading a flurry of activity on the Tweetosphere from the anti-Mono activists declaring victory.</p>
<p>So first, a word on the cited reasoning.</p>
<p>Banshee works fine on ARM, since Mono works fine on ARM. Xamarin, the company behind most upstream Mono work, earns their income almost entirely from ARM versions of Mono, running on the varied ARM implementations found in smartphones. Every major Banshee release is personally tested on my Genesi EfikaMX, an ARM system with a Freescale i.mx51 processor. I&#8217;ve also demonstrated Banshee running in an Ubuntu chroot on my HP Touchpad, an ARM-based tablet. What is known is that Banshee has some problems running on Texas Instruments OMAP4 processors &#8211; the target ARM platform for Canonical&#8217;s ARM work. None of the Banshee upstream developers, Mono upstream developers, or Mono Ubuntu team has ever been able to reproduce the cited problems, since problems specific to an exact ARM chip are impossible to reproduce without the requisite hardware &#8211; and none of us owns an ARM system matching Canonical&#8217;s target.</p>
<p>That Banshee is still a GTK+2 app is true. A port to GTK+3 is almost complete, but blocking on a <a href="https://bugzilla.novell.com/show_bug.cgi?id=442068">single technical bug</a> deep within GTK#&#8217;s guts, which could be fixed by someone with sufficient knowledge of GTK+ semantics. Nobody with the required GTK+ knowledge has stepped forward with a fix at this point in time.</p>
<p>As for the final point, that Banshee is not well maintained, this seems like a directed personal insult against the active and responsive Banshee maintainer, <a href="https://launchpad.net/~hyperair">Chow Loong Jin</a>, and upstream bug triager <a href="https://launchpad.net/~davidnielsen">David Nielsen</a>, in addition to the immeasurable hours contributed free of charge for the benefit of Ubuntu users by various other members of related Mono app and library teams, including myself.</p>
<p>I need to stress at this point that my annoyance with this decision has nothing to do with the actual app changes. Keeping Tomboy and gbrainy, at a cost of about 25 meg of unsquashed disk space, is a hard argument to make compared with those two plus Banshee for 40 meg. Dropping gbrainy and Tomboy, and switching to Rhythmbox, will save about 30 meg of unsquashed space, all told.I&#8217;m unconvinced that Rhythmbox is a technically superior app to Banshee &#8211; several features which were gained by the first app swap will be lost again &#8211; but that&#8217;s another long tedious argument to be had. No, what has me deeply angered is the shambolic way the changes were made and announced.</p>
<p>Significant accommodations were made by Banshee upstream in order to make life easier for Canonical to integrate Banshee into their OS. For one thing, that&#8217;s why the Ubuntu One Music Store support is a <a href="http://git.gnome.org/browse/banshee/tree/src/Extensions/Banshee.UbuntuOneMusicStore">core Banshee feature</a>, not part of the third-party community extensions package. If Banshee was being considered for replacement due to unresolved technical issues, then perhaps it would have been polite to, I don&#8217;t know, inform upstream that it was on the cards? Or, if Canonical felt that problems specific to their own itches required scratching, then is it completely beyond the realm of possibility to imagine they might have spent developer resources on bug fixing their OS and sending those fixes upstream? Or even &#8211; and call me crazy &#8211; providing access for upstream to specialized hardware such as a $174 Pandaboard to empower upstream to isolate and fix unreproducible bugs specific to Canonical&#8217;s target hardware?</p>
<p>And here&#8217;s where it gets more astonishing for me &#8211; Canonical paid money to ship one of the community-based packagers responsible for the stack, <a href="https://launchpad.net/~laney">Iain Lane</a>, to Orlando for UDS, and didn&#8217;t think it was worth bothering to perhaps inform him &#8220;hey, the stuff you work on is in danger of being axed from the default install, maybe you should go to this session&#8221;.</p>
<p>So I&#8217;m not cross that the stuff I work on has been removed from the default install. I intend to continue working on it as I have for the last 4 years, through my work in Debian. No, why I&#8217;m cross that I heard about it from fucking Boycott Novell.</p>
<p>Regardless of your opinions regarding Banshee or its stack, if you read the above and don&#8217;t see it as an abysmal failure of community engagement by a company whose community manager wrote a book on the damn topic, then there&#8217;s something seriously wrong with your understanding of how community labour should be seen as a resource. Maybe someone at Canonical should try reading Jono&#8217;s book. It&#8217;s not a first-time offence, and <a href="https://lists.ubuntu.com/archives/ubuntu-desktop/2011-May/003061.html">this mail</a> from a PiTiVi developer regarding changes in 11.10 makes for useful further reading.</p>
<p><strong>[edit]</strong> There is some <a href="https://lists.ubuntu.com/archives/ubuntu-desktop/2011-November/003393.html">worthwhile discussion</a> going on on the ubuntu-desktop mailing list covering the technical issues surrounding the decision, I would suggest it&#8217;s a good place for ongoing technical discussion.</p>
]]></content:encoded>
			<wfw:commentRss>http://apebox.org/wordpress/rants/398/feed/</wfw:commentRss>
		<slash:comments>129</slash:comments>
		</item>
		<item>
		<title>Why we mustn&#8217;t allow smartphones to become a 2 or 3 horse race</title>
		<link>http://apebox.org/wordpress/rants/391/</link>
		<comments>http://apebox.org/wordpress/rants/391/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 15:16:11 +0000</pubDate>
		<dc:creator>directhex</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[qnx]]></category>
		<category><![CDATA[smartphones]]></category>
		<category><![CDATA[symbian]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[webos]]></category>

		<guid isPermaLink="false">http://apebox.org/wordpress/?p=391</guid>
		<description><![CDATA[A very popular refrain on tech sites is that the high street cannot support multiple competing phone ecosystems. It&#8217;s a reasonable position to take. Do phone stores want to train their employees on six or seven different OSes? Do consumers understand the differences, and should they need to? Do app developers want to rewrite their [...]]]></description>
			<content:encoded><![CDATA[<p>A very popular refrain on tech sites is that the high street cannot support multiple competing phone ecosystems. It&#8217;s a reasonable position to take. Do phone stores want to train their employees on six or seven different OSes? Do consumers understand the differences, and should they need to? Do app developers want to rewrite their app six or seven times? The obvious answer to all of these is &#8220;no&#8221;. Stores only want to train their employees once, developers want to write their app once. Choice is bad, because choice is complicated. You can have it in any colour, so long as it&#8217;s black.</p>
<p>The problem is, we need those competing efforts, for the entire market to increase in quality. Until the iPhone appeared on the market, Google&#8217;s nascent mobile phone OS looked more like a poor man&#8217;s Blackberry OS than what ended up shipping on the HTC Dream and later devices. Windows Phone 7 didn&#8217;t ship with any multitasking at all &#8211; and now the Mango update will be incorporating a multitasking model largely thieved from WebOS. iOS only just got support for updating the phone&#8217;s firmware without being plugged into a host PC via USB, something which a few Android devices and all WebOS devices have always supported.</p>
<p>Consider, for comparison, the web browser market. It would be easiest if there was only one web browser &#8211; but that browser would quickly stagnate and cause pain, the way Internet Explorer 6 did when it had almost the entire market. It wasn&#8217;t until upstarts like Firefox and Opera and Chrome and more started showing off their unique ideas that the entire pack started improving &#8211; including IE, with IE9 supporting most of the features that the competition introduced.</p>
<p>Every smartphone shipping today has something to offer that other devices don&#8217;t &#8211; and every smartphone OS shipping today has something to offer that other OSes don&#8217;t. iOS has the widest app catalog. Android is Open Source (FSVO &#8220;Open&#8221;). WebOS has the best multitasking, and &#8220;Just Type&#8221;. Windows Phone 7 offers a drastic new user interface paradigm. Blackberry OS is built for messaging tasks, and has the best sysadmin control. Symbian is&#8230; well, okay, sometimes there&#8217;s a time to let go &#8211; but the same applies for web browsers too.</p>
<p>Smartphones are communication devices that people use every day of their lives, and every consumer has different needs &#8211; we shouldn&#8217;t try to push them into an ill-fitting category, just to satisfy ourselves that &#8220;it&#8217;s probably only possible for three mobile platforms to succeed in the mass-market&#8221;. For some people, Blackberry OS really *is* the best choice, and no matter how much you pretend, an iPhone would enhance their lives. And as for the app question&#8230; tough shit. Plenty of app developers only target iOS even though Android is overtaking in the market, and if they really want to reach as many people as possible, then use a cross-platform framework like PhoneGap or some of Xamarin&#8217;s products. Single-ecosystem apps are a low-effort push to reach as many people possible with minimal investment, and the only way to satisfy that class of developer is to eliminate ALL competition in the marketplace &#8211; iOS-only devs are this decade&#8217;s IE6-only devs.</p>
<p>Everyone is entitled to their opinion, but I for one am sick of all the tales of doom and gloom that immediately surround any effort which isn&#8217;t iOS or pure Android. We have a marketplace of ideas, which we should be celebrating, and not dumping on. I&#8217;m eagerly awaiting delivery of my HP Pre 3, with all the unique possibilities it offers me which simply another Android device wouldn&#8217;t have. And the big difference between WebOS and Nokia&#8217;s Maemo/MeeGo efforts, for those who are still doubtful, is HP haven&#8217;t spent years trying to deliberately sabotage the platform. Give it time. If I&#8217;m wrong, the worst-case scenario is being lumbered with an awesome phone.</p>
]]></content:encoded>
			<wfw:commentRss>http://apebox.org/wordpress/rants/391/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>The phantom fifth freedom</title>
		<link>http://apebox.org/wordpress/rants/352/</link>
		<comments>http://apebox.org/wordpress/rants/352/#comments</comments>
		<pubDate>Fri, 14 Jan 2011 13:23:56 +0000</pubDate>
		<dc:creator>directhex</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[freesoftware]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://apebox.org/wordpress/?p=352</guid>
		<description><![CDATA[Not for the first time, I&#8217;ve seen the suggestion in the echo chamber that Mono packages should be moved from Debian into the non-free repository, which is not formally part of Debian. The reason, as it so often is, is patents &#8211; specifically this time, the searing risk posed to Debian and its users that [...]]]></description>
			<content:encoded><![CDATA[<p>Not for the first time, I&#8217;ve seen the suggestion in the echo chamber that Mono packages should be moved from Debian into the non-free repository, which is not formally part of Debian. The reason, as it so often is, is patents &#8211; specifically this time, the searing risk posed to Debian and its users that Mono&#8217;s packaging does not (and technically could not without forking from upstream) provide base class libraries which implement only the content of ECMA-335 4th Edition. As I understand it, this implies three things about the suggestion/demand: firstly, that the individual in question believes that Mono end users are at risk from patent litigation from Microsoft Corp because Mono&#8217;s implementation of Microsoft.NET beyond the content of ECMA 334/335 infringes on Microsoft patents; secondly, that the Microsoft Community Promise which promises not to assert legal claims over third party implementations of ECMA-335 4th Edition (and ECMA-334 4th Edition which defines the C# language) would render a pure ECMA-only runtime safe if it existed (which it does not); thirdly that without the protection offered by the Microsoft Community Promise, the source code licenses of Mono are irrelevant &#8211; the patent risk renders the software non-Free.</p>
<p>It appears, unfortunately, that the community of &#8220;Free Software Advocates&#8221; don&#8217;t actually understand what Free Software actually <strong><em>IS</em></strong>. That explains an awful lot, but should surprise nobody. So here&#8217;s a lesson on what, exactly, is being advocated for.</p>
<p>The Free Software Foundation defines four Software Freedoms &#8211; these are the minimum criteria required for something to be considered &#8220;Free Software&#8221; by the FSF:</p>
<ul>
<li>The freedom to run the program, for any purpose (freedom 0).</li>
<li>The freedom to study how the program works, and change it to make it do what you wish (freedom 1). Access to the source code is a precondition for this.</li>
<li>The freedom to redistribute copies so you can help your neighbor (freedom 2).</li>
<li>The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.</li>
</ul>
<p>Other groups have their own variants on these, but those are really just clarifications on the FSF definition - for example, the Debian Free Software Guidelines mostly line up, but have some additional clauses such as clause 4 which allows software to be considered Free if source code may be redistributed without modifications, as long as patches may be shipped alongside.</p>
<p>These four freedoms are offered to you by the software&#8217;s copyright holders only, and apply regardless of their choice of license &#8211; any &#8220;Free&#8221; license, from a lengthy legal tome like the MPL to the completely-Free WTFPL, will offer you these four basic freedoms as a minimum, and any additional clauses in their licenses cannot seek to restrict these freedoms.</p>
<p>These four freedoms represent the beginning, and end, of whether a piece of software is Free or not.</p>
<p>Software does not need to be developed in the open, in a community-responsive way, in order to qualify as Free &#8211; projects such as Google&#8217;s Android, which are developed under a &#8220;throw a final release over the wall, bugs and all, and expect people to thank you for it&#8221; model, are still free, even if contribution is difficult. Actually, on a related note, software does not need to solicit upstream contribution of any kind in order to qualify as Free &#8211; as long as you personally can redistribute the code with changes, then that&#8217;s enough.</p>
<p>Software does not need to serve a fully or even partially legal purpose in order to qualify as Free &#8211; the favoured tool for causing distributed denial of service attacks, Low Orbit Ion Cannon, is Free Software, even though realistically it serves no legal purpose. DeCSS, the code initially used to allow DVD media to play on Linux (by breaking the CSS encryption mechanism) is Free Software.</p>
<p>Software does not need to be useful or tasteful in order to qualify as Free &#8211; the Last Measure Operating System, a minimalist OS primarily designed to loudly display the famous shock site images from goatse and related, is Free Software. Even in somewhat less clear-cut cases of taste, your personal opinion of software has no bearing on whether it is Free Software, as long as the four freedoms are guaranteed by the author(s).</p>
<p>Software does not need to have only Free dependencies to qualify as Free Software &#8211; it is entirely permissible to write software which relies upon a non-Free framework or library, and release your code under a Free license. It is the downstream recipient&#8217;s problem to provide the dependencies, including their choice to craft a Free replacement for any non-Free code you make use of. Debian has a special repository called contrib, where Free software which only works with non-Free data, lives &#8211; for example, Free game engines which require the insertion of proprietary game data in order to operate. You could write Free addons for expensive proprietary software such as Matlab, and as long as your code is Free, your responsibilities are met.</p>
<p>Software does not need to avoid patents &#8211; software, algorithmic, or otherwise &#8211; in order to qualify as Free. The Freetype font library was still entirely Free Software when Apple were slinging threats around regarding font hinting data. FFmpeg, the Swiss Army knife of media codec libraries, is Free Software regardless of the number of codec patents it breaks.</p>
<p>Software does not need any third party approval to be Free Software &#8211; the rights of Free Software can only be offered by the copyright holders, and the opinion of third parties is an irrelevance as to whether software is Free. The GPL&#8217;d clone of Blizzard Entertainment&#8217;s Battle.net servers, bnetd, is Free Software, regardless of legal takedown notices.</p>
<p>Third parties cannot influence whether or not a piece of software is Free. They can influence tangentially related topics, such as whether the software can be legally used, but that&#8217;s the limit. And even within a given piece of software, where copyright is shared by contributors, the author of one component has no say on other components. And you can&#8217;t make code which is already released as Free, suddenly un-Free &#8211; you can, if you hold all the copyrights, close up future versions, but your existing code remains Free forever. Reasonably, you can opt to avoid using a piece of software because you have requirements beyond it merely being Free Software &#8211; Cdrtools has been avoided in Debian for a long time due to the upstream author&#8217;s legal threats and rambling &#8211; but that is a side issue as to the question of whether or not the software is Free.</p>
<p>Patents are simply not involved in the question of whether or not something is Free Software, except for one narrow case: where Free Software is released by somebody who also holds related patents, and uses a license such as Ms-PL or Apache 2.0 or GPLv3 which requires them to also release those patents to those using/distributing the software. Outside that narrow situation, patents do not relate to the question of whether something is Free Software &#8211; even if a company releases some source code under a license like BSD then demands patent fees from end users.</p>
<p>So, on to the original topic of Mono. Every piece of Mono&#8217;s source code is released by its authors under a license which guarantees the FSF&#8217;s Four Freedoms. Whether or not you find Mono useful or tasteful does not affect that Free status. Whether or not Mono infringes upon any laws or patents does not affect that Free status. That Mono contains some libraries whose upstream author is Microsoft does not give Microsoft even the remotest claim to a single line of code outside the code they wrote &#8211; and even then, it wouldn&#8217;t be an issue, since the licenses they use are Free. In fact, both the licenses used in the Microsoft portions of the source base make patent grants to all users, in addition to guaranteeing the FSF&#8217;s Four Freedoms &#8211; and any license contamination would decrease, not increase, any risk of legal attack from Microsoft. There&#8217;s even plenty of Microsoft code available for re-use at a lower level than the currently re-used libraries: The Microsoft.NET Micro Framework (for use on embedded platforms direct to the metal) is under the Free Software Apache 2.0 license, and would provide access to some of Microsoft&#8217;s runtime and class library code, complete with a patent grant, if it were desired.</p>
<p>Please try to keep your thought processes straight. If you want to argue that you&#8217;re all for Free Software, please remember that there&#8217;s plenty of Free Software you might not approve of &#8211; and don&#8217;t claim to be a &#8220;Free Software advocate&#8221; then use bogus arguments to claim that Free Software is not Free. Free Software includes LMOS and LOIC and Mono, whether you like it or not.</p>
]]></content:encoded>
			<wfw:commentRss>http://apebox.org/wordpress/rants/352/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Amazon Black Friday sales: a clusterfuck.</title>
		<link>http://apebox.org/wordpress/rants/304/</link>
		<comments>http://apebox.org/wordpress/rants/304/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 21:29:29 +0000</pubDate>
		<dc:creator>directhex</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[customer service]]></category>
		<category><![CDATA[fuckups]]></category>

		<guid isPermaLink="false">http://apebox.org/wordpress/?p=304</guid>
		<description><![CDATA[This is a reproduction of a message I sent to Amazon.co.uk tonight, after their Black Friday sales system went to hell on me, and I found their response to the problem less than enlightening. I&#8217;m reproducing the message here, as a warning to all. On a related note, links to my Amazon wishlist are gone. [...]]]></description>
			<content:encoded><![CDATA[<p>This is a reproduction of a message I sent to Amazon.co.uk tonight, after their Black Friday sales system went to hell on me, and I found their response to the problem less than enlightening. I&#8217;m reproducing the message here, as a warning to all. On a related note, links to my Amazon wishlist are gone.</p>
<blockquote><p>Extremely disappointing.</p>
<p>I&#8217;ve been hovering over the lightning deals for a few days, hoping to get something for a good price. Today, I managed to get two items of interest into my basket, out of the dozen or so items I&#8217;ve been trying for. The Amazon website clearly states that once items are in your basket, you have until midnight the same day to finalize the purchase at the lightning deal price, so I kept those items in my basket until I got home, so I could pay with my wife&#8217;s credit card.</p>
<p>Throughout the entire process, the lightning price remained &#8211; seemingly implemented by showing the normal Amazon price, then applying a total of about £55 of promotional discount at the checkout, making the total price about £85.</p>
<p>AFTER I clicked to finalize the purchase, after verifying that the delivery address, card to be charged, and importantly price, were all correct, everything seemed fine. Until I checked my email inbox a few minutes later, to find that no promotional discount had been applied after all &#8211; and I was charged full price, not the price shown at the checkout.</p>
<p>Whilst irritating, I reasoned that with the sheer size of the Black Friday promotion, things can occasionally go wrong, so I called up to ask for assistance. However, rather than any degree of sympathy for my situation, the customer service representative seemed intent on blaming me for the problem &#8211; first implying that I hadn&#8217;t really added the items at the promotional price to my basket, then that there was an unpublished undisclosed rule about a 1-hour limit between adding an item to the basket and purchasing it (directly counter to the &#8220;Once you have added to your basket, be sure to check out before midnight&#8221; on Amazon.co.uk)</p>
<p>Eventually he agreed to cancel the purchase, making it sound like a special favour, rather than the absolute bare minimum response.</p>
<p>I&#8217;m not happy. If I&#8217;d been told &#8220;something broke, we don&#8217;t know what, but we can&#8217;t discount the items now&#8221; then I&#8217;d have been disappointed but accepted it. But being accused of being to blame by the customer service representative &#8211; using childish banqueting analogies no less &#8211; left me utterly infuriated. As a result, I&#8217;ve cancelled a second order I placed tonight, and will be looking into closing my account entirely.</p>
<p>Things go wrong sometimes. It&#8217;s unfortunate, but they do. But when things go wrong, there&#8217;s a wrong way and a right way to deal with the customer. Blaming them is not usually the right path to take. Neither is inventing secret rules.</p>
<p>Since this feedback form explicitly says &#8220;we will not respond to messages which were sent to us using this form&#8221;, I&#8217;ll be sending a copy of this feedback via order help, in the hope that someone might actually read it, as well as republishing it elsewhere for the benefit of friends and family.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://apebox.org/wordpress/rants/304/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mono mythbusting, September 2010 edition</title>
		<link>http://apebox.org/wordpress/rants/271/</link>
		<comments>http://apebox.org/wordpress/rants/271/#comments</comments>
		<pubDate>Fri, 17 Sep 2010 21:15:26 +0000</pubDate>
		<dc:creator>directhex</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://apebox.org/wordpress/?p=271</guid>
		<description><![CDATA[There are corners of the Internest where foolish people congregate, and invent stories. These foolish stories are then read as gospel by trusting people, and reposted, until the original made-up source is concealed from view. As an attempt to stem this flow of disinformation, here are some commonly held &#8211; but incorrect &#8211; beliefs about [...]]]></description>
			<content:encoded><![CDATA[<p>There are corners of the Internest where foolish people congregate, and invent stories. These foolish stories are then read as gospel by trusting people, and reposted, until the original made-up source is concealed from view. As an attempt to stem this flow of disinformation, here are some commonly held &#8211; but incorrect &#8211; beliefs about the Mono framework, and an explanation of the reality of the situation, as far as I understand it.</p>
<p><strong>The next Mono version is co-developed with Microsoft</strong></p>
<p>There is a grain of truth behind this one, but it&#8217;s a gross mischaracterisation. Mono 2.8, when it ships, will bundle, for convenience, a number of Free Software libraries, which are released by Microsoft under a license considered Free Software by the Free Software Foundation, the Ms-PL. These are:</p>
<ul>
<li>System.Web.Mvc and System.Web.Mvc2: ASP.NET MVC, a library for writing ASP.NET web pages with a model-view-controller design, similar to Rails for Ruby. This is not news &#8211; System.Web.Mvc has been bundled in Mono since ﻿Mono 2.4.2 (June 25th 2009). System.Web.Mvc2 has been bundled in Mono since ﻿Mono 2.6.7 (July 14th 2010).</li>
<li>System.Numerics: Mono re-uses Microsoft&#8217;s implementation of BigInteger.cs from the Dynamic Language Runtime (see below). This is indeed new to Mono 2.8, as it is part of .NET 4.0 (Mono 2.8 targets .NET 4.0 compatibility by default).</li>
<li>﻿﻿System.Data.Services.Client: The OData SDK client library. This is indeed new to Mono 2.8.</li>
<li>System.ComponentModel.Composition: The Managed Extensibility Framework, a library for writing and using plugins. This is similar in scope to the existing Mono.Addins project. This is indeed new to Mono 2.8, although it was added to Mono Trunk in 2009.</li>
<li>System.Web.Extensions: Microsoft Ajax, a library for using Ajax inside ASP.NET projects. This is not news &#8211; MicrosoftAjaxLibrary has been bundled in Mono since Mono 1.2.6 (11th December 2007).</li>
<li>Microsoft.Scripting.Core and Microsoft.Dynamic: The Dynamic Language Runtime is a framework permitting implementation of dynamic languages (such as Python or Ruby) on top of the core .NET runtime. It is used for IronPython and IronRuby, amongst others. The DLR has very recently changed license from Ms-PL to Apache 2.0, but the version bundled in Mono is still under the older license. This is not news &#8211; the DLR has been bundled in Mono since Mono 2.6 (14th December 2009).</li>
</ul>
<p>So, to summarise, there are five Free Software libraries written by Microsoft under the Ms-PL included in Mono 2.8 &#8211; but only two of those five are new, and none of them were &#8220;co-developed&#8221; in any meaningful sense.</p>
<p><strong>Mono development is dead</strong></p>
<p>There have been reports that Mono development has ended, on the basis that no commits have been made to Novell&#8217;s Subversion server for a few weeks. However, these reports miss one minor detail &#8211; Mono has moved to Github.com. There were 35 commits from 9 different people to the main mono.git repository (of dozens of repositories under the main Mono project) in the last 2 days, at time of writing &#8211; far from dead.</p>
<p><strong>Mono lacks features found in Microsoft.NET</strong></p>
<p>Mono lacks libraries found in Microsoft.NET, such as the Windows Presentation Framework GUI toolkit. In terms of <em>features</em>, i.e. things implemented at a compiler or runtime level, Mono is typically more advanced. This is helped in no small part by Mono&#8217;s Free Software development model, allowing experimentation and &#8220;what if&#8221; changes to the core runtime which a sluggish corporate behemoth like Microsoft cannot accommodate.</p>
<p>To give three real-world examples, Mono allows embedding of its compiler as a service, and provides a REPL shell &#8211; this is a planned feature for .NET 5.0, but has been available for years in Mono; Mono.Simd provides a number of data structures which will run on any version of Mono or Microsoft.NET, but will use optimized CPU extensions like SSE when run on a sufficiently new version of Mono, on an appropriate architecture &#8211; as far as I&#8217;m aware, there is nothing like this available or planned for Microsoft.NET. Mono is able to produce fully compiled, static executables which do not need to JIT anything at runtime &#8211; this is used for iPhone compilation, for example, where JITters are not permitted. There is no comparable feature in Microsoft.NET.</p>
<p>Clearly, Microsoft.NET can only be thought of as more featureful if one defines &#8220;features&#8221; in terms of &#8220;does it have lots of libraries?&#8221; &#8211; in terms of functionality, Mono is ahead.</p>
<p><strong>Mono can &#8220;sneak onto&#8221; your system without your knowledge</strong></p>
<p>If you don&#8217;t have the &#8220;mono-runtime&#8221; package installed, you can&#8217;t run Mono apps. It is possible to install some Mono apps alongside the awful-yet-popular &#8220;mononono&#8221; equivs package, since the popular equivs script fails to place Conflicts on the correct packages (F-Spot will be blocked, Tomboy will not). No package in Debian or Ubuntu embeds its own copy of the Mono runtime, and we have no plans to make any changes to packaging which would allow execution of any C# application without mono-runtime installed. If one is using a different OS, then things may be different &#8211; e.g. The Sims 3 for Mac &amp; PC uses embedded Mono, which you wouldn&#8217;t know about without looking.</p>
<p><strong>Canonical are pursuing a pro-Mono agenda, and are responsible for it being &#8220;pushed&#8221; in Debian</strong></p>
<p>Mono development has been happening in Debian for longer than Canonical has existed &#8211; the first upload was made in April 2002. Ubuntu is made primarily from software already available in Debian deemed of sufficient quality, and when F-Spot and Tomboy became parts of the default Ubuntu desktop system in 2006, both pieces of software were already available in Debian and deemed of sufficient quality. Nobody working on Mono in Debian is paid by Canonical&#8230; actually, that&#8217;s not entirely true, three packages related to accessibility are officially maintained by someone who was hired by Canonical after doing the initial packaging work when he worked for Novell. But the Mono runtime itself, Canonical have no influence over its direction in Debian. As for a &#8220;pro-Mono agenda&#8221;, they&#8217;ve always taken an extremely pragmatic approach to language choice, never showing any real preference for one language or another when it comes to app selection. They don&#8217;t exhibit any overt anti-Mono policies, which is not the same thing. The names of people contributing to Mono in Debian are not secret &#8211; check the pkg-mono team page on Alioth.</p>
<p><strong>The System.Windows.Forms namespace is protected by Microsoft patents</strong></p>
<p>The truth is, nobody knows for sure if SWF, or any other part of Mono, or any other framework such as Vala or Python, is covered by Microsoft patents. The way the US patent system is contrived, it is actively dangerous to check whether something contains any patents when you write it, as you are liable for triple damages should it later emerge that there WAS a patent, even if your searching missed the fact. You cannot patent an API or namespace &#8211; only a specific implementation of a software concept, in those countries where software patents are permitted. There has never been any evidence shown that Mono&#8217;s implementation of SWF, or indeed any part of Mono, infringes any Microsoft-held patents, because if that were the case, then the code would be rewritten to avoid the issue &#8211; much like the approach taken by Linux kernel developers when a patent becomes apparent.</p>
<p>The belief within the Mono community is that the core parts of Mono as defined in ECMA334/335 are safe (they are covered by the Microsoft Community Promise patent grant); any of the Ms-PL libraries mentioned above is definitely safe (Ms-PL includes an explicit patent grant); and the rest of the package is likely safe too (on the basis that it is a named component of the Open Innovation Network&#8217;s list of protected software &#8211; and on the basis that there&#8217;s unlikely to be anything patentable in one of many implementations of basic ideas like database connectors). Nobody knows <em>for sure</em>, because that&#8217;s how the system works. But, again, nobody knows for sure that Microsoft patents don&#8217;t apply to other frameworks such as Python &#8211; there is simply a belief and an assumption that they do not.</p>
<p><strong>MonoDevelop contributors removed GPL code from MonoDevelop, in an attack on the GPL</strong></p>
<p>This is somewhat disingenuous, given MonoDevelop is LGPL.</p>
<p>The MonoDevelop team excised the remaining GPL code (and there wasn&#8217;t much of it) in order to grant greater Freedom to developers. Previously, the entire MonoDevelop IDE was a GPL combination, meaning any add-ins for the IDE also needed to be GPL, regardless of developer choice. Now, any developer can write an add-in for MonoDevelop, using the license of their choice, whether another Free license like the Mozilla Public License, or a proprietary closed-source add-in. They are still welcome to produce GPL add-ins, if they want to, as well.</p>
<p><strong>Mono won&#8217;t run random Microsoft.NET apps anyway, so isn&#8217;t really cross-platform</strong></p>
<p>Actually, this one is often true. When developers write apps for Windows primarily, they rarely take the time to think &#8220;is this the correct way to do it?&#8221; and will often plough on with an assumption about the Windows way of doing things. It might be simple things like filesystem assumptions (assuming a case-insensitive filesystem, or assuming a backslash is used to separate directories, not a forward slash). It might be more involved, such as using P/Invokes into Windows-specific C libraries, when a more cross-platform alternative is possible. So, often, random applications for Microsoft.NET won&#8217;t run on Mono. The reverse is also true &#8211; F-Spot or GNOME Do are fairly heavily tied to Linux (or to UNIX-like OSes with X11, at any rate), through the libraries they invoke being fairly platform-specific. You can write platform-specific Java, with one quick piece of JNI, too.</p>
<p>It should be noted, however, that Mono makes the chance of .NET applications being ported to Linux (and/or Mac) much more likely, since even in the worst case scenario, a company only needs to fix a portion of their source to make it cross-platform. The Mono team have a tool called MoMA, which will scan an application and its libraries, and give you detailed reports on the app&#8217;s portability. This info is used at both ends &#8211; by app vendors who want to become more portable, and by the Mono team who want to fill in the most frequently encountered blanks.</p>
<p>And, it should be stressed, writing cross-platform apps is entirely possible if one desires it &#8211; e.g. the IRC client Smuxi is pure cross-platform C#, and the executables compiled on Mono on Linux will run fine on Microsoft.NET on Windows. Portability in this direction is important too &#8211; consider how many people have been introduced to Free Software thanks to availability of Free apps on Windows like OpenOffice.org, Firefox, Pidgin or GIMP. You can download Tomboy for Windows, and work is ongoing on fixing Banshee portability issues (which are mostly caused by gStreamer).</p>
<p><strong>Mono on Android is a terrible idea which will be super slow</strong></p>
<p>There are two efforts to enable developers to write Android applications with Mono &#8211; a paid proprietary product from Novell called MonoDroid, and an untitled porting effort by big-name Android hacker Koushik Dutta. I have no insight into MonoDroid since it hasn&#8217;t been released yet, but Koush did some benchmarks of his work which exhibited some remarkable figures compared to Dalvik (and even compared to Sun Java for ARM). Those numbers haven&#8217;t been updated to reflect the Froyo Dalvik JITter, but Mono on Android is still very exciting from a performance perspective.</p>
<p><strong>Mono isn&#8217;t really Free Software</strong></p>
<p>The source code is all available under Free Software licenses. So, um, yes it is.</p>
<p><strong>We don&#8217;t need Mono because we have $LANG</strong></p>
<p>By the same logic, we don&#8217;t need $LANG because we have Mono. By all means, use the language of your choice &#8211; other developers will use the language of their choice too. If you want to use Vala or Python or Java, then by all means, go ahead. It doesn&#8217;t mean there&#8217;s no room for more languages, better suited to other usage patterns. Haskell is great for some types of development, so is Fortran, and so is C#.</p>
<p><em>You</em> might not need Mono because of $LANG, but there are others in the world with different needs.</p>
<p><strong>Mono apps are all slow, and crash your computer, and stuff</strong></p>
<p>No userland app can crash your Linux system, unless there&#8217;s a bug in the kernel, or you have some severe problems with your hardware. If you&#8217;ve ever observed a crash as a result of running a Mono app, then it&#8217;s really coincidence that Mono is tickling whichever part of your system is busted. As for slow&#8230; startup time may well be slower than for apps written in C or Vala. There&#8217;s a delay due to the JITter needing to compile all the libraries used by the application (we may AOT the most common libraries in a future Mono package version, at upstream&#8217;s recommendation). Once an app is running, it should be fast compared to a Python app, and memory-light compared to a Java app. The new garbage collector in Mono 2.8 should also offer significant improvements to performance, especially under heavy workloads.</p>
<p><strong>Ubuntu&#8217;s default GTK+ themes require Mono</strong></p>
<p>This is my favourite recent nonsense to emerge from the Internest. There are reports &#8211; mostly restricted to IRC and blog comments, that (paraphrasing here) &#8220;removing Mono removes the Ubuntu themes&#8221;. Here&#8217;s the reality: in Ubuntu 10.04, a new visual style was implemented throughout the distro. As part of this, small icons (e.g. notification area icons) were set to be black-and-white by default, and colourised when attention is needed (e.g. the power-off icon turns red when a reboot is needed, the messaging indicator turns green when there&#8217;s a new message). All of these new monochrome icons are in a package named &#8220;ubuntu-mono&#8221;. Removing the ubuntu-mono icon package will also remove the new Ubuntu GTK+ themes, in the &#8220;light-themes&#8221; package. So there&#8217;s your explanation: the themes have a dependence on some monochrome icons, not on the Mono framework.</p>
]]></content:encoded>
			<wfw:commentRss>http://apebox.org/wordpress/rants/271/feed/</wfw:commentRss>
		<slash:comments>80</slash:comments>
		</item>
		<item>
		<title>Taking a back seat</title>
		<link>http://apebox.org/wordpress/rants/219/</link>
		<comments>http://apebox.org/wordpress/rants/219/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 18:48:00 +0000</pubDate>
		<dc:creator>directhex</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www2.apebox.org/wordpress/?p=219</guid>
		<description><![CDATA[I&#8217;m making a few changes to my online interactions. Chicken Little Remix will no longer be updated. There will be no 10.04 from me. I will no longer be visiting certain websites, under any circumstances, courtesy of 127.0.0.1 entries in /etc/hosts. This includes sites such as Ubuntu Forums, some blogs, and some &#8220;news&#8221; sites. I [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m making a few changes to my online interactions.</p>
<ul>
<li><a href="http://www2.apebox.org/wordpress/linux/210/">Chicken Little Remix</a> will no longer be updated. There will be no 10.04 from me.</li>
<li>I will no longer be visiting certain websites, under any circumstances, courtesy of 127.0.0.1 entries in /etc/hosts. This includes sites such as Ubuntu Forums, some blogs, and some &#8220;news&#8221; sites.</li>
<li>I will be blocking some people from <a href="http://twitter.com/directhex">Twitter</a>, in order to avoid their @mentions from appearing to me.</li>
<li>I may (this is undecided) opt to change my anything-goes policy regarding comments on my blog. Redacted comments will have their content deleted, to make it clear that a comment is redacted, not held in moderation</li>
</ul>
<p>Some things, however, will NOT be changing.</p>
<ul>
<li>I will continue my efforts in Debian. In fact, these efforts will be redoubled.</li>
<li>I will continue my efforts in Ubuntu. In fact, these efforts will be redoubled.</li>
<li>I will maintain my existing IRC, Twitter, email &amp; IM presence.</li>
<li>I will, when the opportunity arises, <a href="http://www.youtube.com/watch?v=muP9eH2p2PI">combine sweet and savoury foods</a>.</li>
</ul>
<p>Thank you for your time.</p>
]]></content:encoded>
			<wfw:commentRss>http://apebox.org/wordpress/rants/219/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Flash Wins! Hoo-freaking-ray! Adobe are so awesome!</title>
		<link>http://apebox.org/wordpress/rants/199/</link>
		<comments>http://apebox.org/wordpress/rants/199/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 19:37:33 +0000</pubDate>
		<dc:creator>directhex</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www2.apebox.org/wordpress/?p=199</guid>
		<description><![CDATA[For those who aren&#8217;t clinically dead, you may have heard of the &#8220;BBC&#8221;. The BBC are the state-ish-funded TV network in the UK, and the country&#8217;s biggest broadcaster, alongside three other major &#8220;terrestrial&#8221; broadcasters who make their content widely available without payment &#8211; ITV, Channel 4, and Five. These broadcasters also make some or all [...]]]></description>
			<content:encoded><![CDATA[<p>For those who aren&#8217;t clinically dead, you may have heard of the &#8220;BBC&#8221;. The BBC are the state-ish-funded TV network in the UK, and the country&#8217;s biggest broadcaster, alongside three other major &#8220;terrestrial&#8221; broadcasters who make their content widely available without payment &#8211; ITV, Channel 4, and Five. These broadcasters also make some or all of their programming available for streaming over the Internets &#8211; usually their &#8220;home-grown&#8221; programming only, not licensed stuff from America.</p>
<p>Now, once upon a time, the online functionality was mostly offered via a proprietary P2P-and-DRM-based system called <a href="http://en.wikipedia.org/wiki/Kontiki">Kontiki</a>. Kontiki was unpopular for various reasons &#8211; for example, it was Windows-only, and banned by several Internet providers due to the use of P2P (e.g. I know such technology is still banned on the University of Oxford network). As a result, this lead to the introduction and eventual replacement of browser-based streaming solutions, starting with the changes made to BBC&#8217;s iPlayer. iPlayer is nowadays a combination of an Adobe Flash service for web surfers, an unencrypted MP4 streaming service for users of mobile devices such as iPhones, and as of a couple of weeks ago, has streaming support built directly into the PlayStation 3&#8242;s user interface too. Oh, and on the PC, it supports DRM-based downloading courtesy of the Adobe Air platform, on Windows, Mac, and Air-capable (x86) Linux. Channel 4&#8242;s service 4od, and Five&#8217;s Demand Five, are also based on Adobe Flash, and streaming-only. They&#8217;re basic and functional.</p>
<p>The final interesting one here is ITV&#8217;s ITV Player. ITV Player was, until about a week ago, the only non-Flash service, instead making use of Microsoft Silverlight. They have now changed to be Flash-based, like their peers, meaning the entire market mandates use of the Adobe Flash plugin &#8211; or, at a push, command-line utilities or browser plugins which grab the raw video files from the broadcasters&#8217; servers, in violation of their licenses. Why is this interesting? Well, when ITV Player used Silverlight, we could watch TV using Free Software: Novell Moonlight 2.0 Beta 1.1 and above worked fine with it, on i386 and AMD64 (and other architectures with a recompile). Now that it&#8217;s using Flash rather than Silverlight, where do we stand for watching streaming TV legitimately with Free Software? Let&#8217;s take a peek!</p>
<p>Firstly, some preamble. I&#8217;m running Ubuntu Jaunty, and I hand-compiled a SVN (I think SVN? Maybe Bzr) snapshot of Gnash revision 11485 to ensure I had an up-to-date view of proceedings. It definitely seems to be working, as I&#8217;m introduced to the world of Flash advertising via Gnash, and Youtube.com also works, more or less. And I&#8217;m not discussing Adobe&#8217;s Flash plugin here, for various reasons:</p>
<ul>
<li>It&#8217;s proprietary. Boo.</li>
<li>It&#8217;s i386-only in several instances &#8211; a beta of an AMD64 plugin exists, but your browser will crash on BBC iPlayer sites if you have the iPlayer Adobe Air app installed, as Air is i386-only. And the packages in Ubuntu install the i386 plugin alongside the abominable and crashy nsPluginWrapper.</li>
<li>Did I mention it was proprietary? If the only way to surf the web on a Free OS is with proprietary software, then we&#8217;re not doing very well.</li>
</ul>
<p>So, Gnash it is. Firstly, it&#8217;s a PITA to compile, as upstream seem to have misunderstood how AutoFoo works &#8211; i.e. it detects that you don&#8217;t have headers installed for certain features, and tells you so, yet still enables those features at configure-time (and obviously fails when building). Hey guys, if I don&#8217;t have qapplication.h, take the hint and disable KDE support for me like every other bloody app does. With that out of the way, let&#8217;s get to it!</p>
<p><em><strong>BBC iPlayer</strong></em></p>
<p>Well, what does the landing look like?</p>

<a href="http://apebox.org/wordpress/wp-content/gallery/rant-resources/landing-iplayer.png" title="" class="shutterset_singlepic201" >
	<img class="ngg-singlepic" src="http://apebox.org/wordpress/wp-content/gallery/cache/201__640x_landing-iplayer.png" alt="landing-iplayer" title="landing-iplayer" />
</a>

<p>Looks fine to me! Let&#8217;s try playing a show!</p>

<a href="http://apebox.org/wordpress/wp-content/gallery/rant-resources/playing-iplayer.png" title="" class="shutterset_singlepic470" >
	<img class="ngg-singlepic" src="http://apebox.org/wordpress/wp-content/gallery/cache/470__640x_playing-iplayer.png" alt="playing-iplayer" title="playing-iplayer" />
</a>

<p>Oh. Um&#8230; Never mind, then. Seems iPlayer&#8217;s JavaScript to detect Flash presence doesn&#8217;t pick up on Gnash, and it bails out. Score so far: 0/1</p>
<p><em><strong>Demand Five</strong></em></p>
<p>Another former Kontiki partner, how do these guys fare?</p>

<a href="http://apebox.org/wordpress/wp-content/gallery/rant-resources/landing-demandfive.png" title="" class="shutterset_singlepic200" >
	<img class="ngg-singlepic" src="http://apebox.org/wordpress/wp-content/gallery/cache/200__640x_landing-demandfive.png" alt="landing-demandfive" title="landing-demandfive" />
</a>

<p>Hey, that looks pretty good to me! Perhaps we&#8217;re onto a winner this time?</p>

<a href="http://apebox.org/wordpress/wp-content/gallery/rant-resources/playing-demandfive.png" title="" class="shutterset_singlepic469" >
	<img class="ngg-singlepic" src="http://apebox.org/wordpress/wp-content/gallery/cache/469__640x_playing-demandfive.png" alt="playing-demandfive" title="playing-demandfive" />
</a>

<p>Poot. Gnash is definitely being invoked &#8211; see the context menu there &#8211; but it sure isn&#8217;t doing anything useful. Score: 0/2</p>
<p><em><strong>Channel 4 4od</strong></em></p>
<p>How do those hip cats at Channel 4 fare?</p>

<a href="http://apebox.org/wordpress/wp-content/gallery/rant-resources/landing-4od.png" title="" class="shutterset_singlepic199" >
	<img class="ngg-singlepic" src="http://apebox.org/wordpress/wp-content/gallery/cache/199__640x_landing-4od.png" alt="landing-4od" title="landing-4od" />
</a>

<p>Hm&#8230; Gotta confess, not feeling too hopeful about this one&#8230;</p>

<a href="http://apebox.org/wordpress/wp-content/gallery/rant-resources/playing-4od.png" title="" class="shutterset_singlepic468" >
	<img class="ngg-singlepic" src="http://apebox.org/wordpress/wp-content/gallery/cache/468__640x_playing-4od.png" alt="playing-4od" title="playing-4od" />
</a>

<p>Oh, well, even worse than iPlayer. What you folks might not recognise is the missing &#8220;Play&#8221; buttons which are supposed to be to the right of the program descriptions in that list of episodes. Presumably more Javascript/Flash interop failure. 0/3</p>
<p><em><strong>ITV Player</strong></em></p>
<p>Last, but not least, how does the newest entrant into Microsoft-free streaming fare?</p>

<a href="http://apebox.org/wordpress/wp-content/gallery/rant-resources/landing-itvplayer.png" title="" class="shutterset_singlepic202" >
	<img class="ngg-singlepic" src="http://apebox.org/wordpress/wp-content/gallery/cache/202__640x_landing-itvplayer.png" alt="landing-itvplayer" title="landing-itvplayer" />
</a>

<p>Now, now, in fairness, it&#8217;s always been this bad, even when they used Silverlight &#8211; weirdos that they are, ITV have always used Flash for their navigation, even when they used Silverlight for playback. The Flash-based navigation you (don&#8217;t) see here is barely any better even with the proprietary Flash plugin. What the proprietary plugin does NOT do, however, is consume the 750 or so meg of RAM that Gnash did when sat idle on this screen. I mean, that&#8217;s not a problem, that&#8217;s why I have 6 gig in here, but still, not wise on Wifey&#8217;s netbook.</p>

<a href="http://apebox.org/wordpress/wp-content/gallery/rant-resources/playing-itvplayer.png" title="" class="shutterset_singlepic471" >
	<img class="ngg-singlepic" src="http://apebox.org/wordpress/wp-content/gallery/cache/471__640x_playing-itvplayer.png" alt="playing-itvplayer" title="playing-itvplayer" />
</a>

<p>Oh. Well then. 0/4 it is.</p>
<p><em><strong>So?</strong></em></p>
<p>What annoys me here isn&#8217;t so much that nothing works. I&#8217;m used to there being temporary gaps in Free Software functionality, that&#8217;s pretty normal. But I&#8217;m greatly vexed that one of these four <em><strong>used</strong></em> to work on a Free platform, and now it doesn&#8217;t &#8211; and that places like UbuntuForums are filled with people <em><strong>celebrating</strong></em> that fact. Celebrating that ITV have stopped using the evil nasty Microsoft system which happened to have a functional Free replacement &#8211; and that they&#8217;ve now moved to a non-Microsoft system which mandates a proprietary plugin. It&#8217;s not the first time either &#8211; Major League Baseball in the USA used to use Silverlight for their HD streaming, and now they use a combination of Flash and a proprietary Windows-only extension to Flash to make it load WMV files &#8211; this is considered a victory. It really isn&#8217;t. We should NEVER be forced to use Proprietary software in order to surf the web &#8211; yet now we&#8217;ve gone from having access to 25% of the UK&#8217;s streaming TV services via Free Software to 0% of them, and people are happy about it.</p>
<p>So, I want you to think long and hard about this question, one which seems to get the oddball answer far too often: <em>What is more important &#8211; promoting Free Software, or demoting Microsoft Corp?</em></p>
]]></content:encoded>
			<wfw:commentRss>http://apebox.org/wordpress/rants/199/feed/</wfw:commentRss>
		<slash:comments>61</slash:comments>
		</item>
		<item>
		<title>Vive la différence</title>
		<link>http://apebox.org/wordpress/rants/174/</link>
		<comments>http://apebox.org/wordpress/rants/174/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 13:23:57 +0000</pubDate>
		<dc:creator>directhex</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www2.apebox.org/wordpress/?p=174</guid>
		<description><![CDATA[There seems to be a remarkable number of ways for people to define &#8220;Free Software&#8221; to themselves. Richard Stallman has four freedoms. Debian has ten guidelines. The OSI has ten guidelines too (but they&#8217;re different). These are all fairly detailed, and to someone who doesn&#8217;t understand the idea, take a while to explain. There are [...]]]></description>
			<content:encoded><![CDATA[<p>There seems to be a remarkable number of ways for people to define &#8220;Free Software&#8221; to themselves.</p>
<p>Richard Stallman has <a href="http://en.wikipedia.org/wiki/Free_software#Definition" target="_blank">four freedoms</a>.</p>
<p>Debian has <a href="http://www.debian.org/social_contract#guidelines" target="_blank">ten guidelines</a>.</p>
<p>The OSI has <a href="http://www.opensource.org/docs/definition.php" target="_blank">ten guidelines too</a> (but they&#8217;re different).</p>
<p>These are all fairly detailed, and to someone who doesn&#8217;t understand the idea, take a while to explain. There are subtleties and fine-grained issues which are important in a dictionary definition, but are unhelpful in a single headline item. So, here&#8217;s my Free Software definition, the big difference between it and proprietary apps &#8211; and it&#8217;s only one point long.</p>
<p>Consider the average computer user. They don&#8217;t really &#8220;like&#8221; their Windows experience, and Office does funny things to them at least weekly, but that&#8217;s just the way things are, right? Well, yes, and that&#8217;s the real value Free Software can offer:</p>
<p style="text-align: center;"><em><strong>When Free Software sucks, you can actually do something about it.</strong></em></p>
<p style="text-align: left;">Windows is crap? Tough. Skype is crap? Tough. CoPilot Central 2.0 for Windows is worthless and crashes on startup? Tough. NVIDIA drivers getting you down? Tough. Not happy about the default wallpaper in Debian? Well <em>there</em>, my friend, you can do something about it! Everything else is just window dressing. Important? Sure. There&#8217;s license contamination and copyright assignment and blah blah blah&#8230;important, but boring. The simple, headline point to explain what Free Software is, and why you contribute to it, can be summed up in one simple sentence.</p>
<p style="text-align: left;">Imagine for a moment how much better software would be if every piece of impotent rage directed towards something proprietary could instead have something done about it&#8230; Every crash in Windows, every random X-server lockup courtesy of FGLRX, all of it comes down to what we can <em>do</em>. Hammer that core point home as hard as you can &#8211; you can always save explaining the GPL for another day. As a frustrated Windows user, consider how empowering the mere <em>concept</em> of being able to <em>do something</em> about your woes is. Just the ability to report bugs is novel for some folks wedded to &#8220;take what we give you and enjoy it&#8221; proprietary software.</p>
]]></content:encoded>
			<wfw:commentRss>http://apebox.org/wordpress/rants/174/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
		<item>
		<title>Un Poème Pour les Petites Poules Perdues</title>
		<link>http://apebox.org/wordpress/rants/163/</link>
		<comments>http://apebox.org/wordpress/rants/163/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 17:58:21 +0000</pubDate>
		<dc:creator>directhex</dc:creator>
				<category><![CDATA[Rants]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www2.apebox.org/wordpress/?p=163</guid>
		<description><![CDATA[The &#8220;Mono War&#8221; is unproductive. For some, I&#8217;m sure this comes as a startling realization, and for others, it&#8217;s stating the obvious. However, the point needs to be reiterated &#8211; the &#8220;Mono War&#8221; as-is serves no practical purpose. From my diamond-encrusted Microsoft-supplied throne, here is what I see when I survey the &#8220;War&#8221;: Immovable, entrenched, [...]]]></description>
			<content:encoded><![CDATA[<p>The &#8220;Mono War&#8221; is unproductive.</p>
<p>For some, I&#8217;m sure this comes as a startling realization, and for others, it&#8217;s stating the obvious. However, the point needs to be reiterated &#8211; the &#8220;Mono War&#8221; as-is serves no practical purpose.</p>
<p>From my diamond-encrusted Microsoft-supplied throne, here is what I see when I survey the &#8220;War&#8221;:</p>
<ul>
<li>Immovable, entrenched, irreconcilable viewpoints amongst combatants</li>
<li>A degree of outright lunacy exhibited by both sides &#8211; but (sorry) mostly by some on the &#8220;anti&#8221; side</li>
<li>A willingness to canonize anyone with a matching viewpoint, rather than use of independent thought and research</li>
<li>Demands from the &#8220;anti&#8221; side that they be obeyed</li>
<li>Demands from the &#8220;pro&#8221; side that the &#8220;anti&#8221; side shut up and go away. With added smugness.</li>
<li>No fear of bending, distorting, or even denying reality to support an opinion</li>
<li>An embracing of collateral damage as long as the main goal is achieved</li>
</ul>
<p>It is these points which I consider unproductive. Nobody is going to change their positions based on angry or smug blogging, nobody is going to drop everything to work on things for kids with entitlement complexes, and nobody is going to give up on their freedom to kick up a fuss.</p>
<p>So, here I come to save the day. You&#8217;re welcome. I&#8217;m going to give the &#8220;anti&#8221; folks some suggestions on how to wage a <em>productive</em> war, one with <em>results</em> rather than <em>recrimination</em>. I even took the first step myself, although it was hardly well covered in the media. I&#8217;ll get to that a little later.</p>
<p><strong><em>Step 1: Accept that some people feel differently to you</em></strong></p>
<p>I know this may be hard to stomach, but no matter how much you shout, no matter how many times you point to assorted legal submissions from the 1990s, no matter how many times you cite cases such as TomTom or Buffalo, nobody is going to take your arguments and change their behaviour. Some people simply don&#8217;t have the same scale of concern or fear as you. Accept this. Don&#8217;t attack people because they don&#8217;t see things the way you do, as it&#8217;ll only make their resolve stronger. Simply accept that they don&#8217;t agree. If it makes you feel better, write them off as stupid in your mind. Not that I ever do this for anyone. *cough*</p>
<p><strong><em>Step 2: Understand why people do what they do</em></strong></p>
<p>Not everybody contributes to Free Software for the same reasons &#8211; although by and large the biggest motivator is &#8220;to make it better for myself&#8221;. People package stuff they use themselves &#8211; or should damn well do if they expect package quality to be maintained. People write apps for themselves, they submit patches to add features or fix bugs for themselves, and so on. This is not the <em>only</em> motivator, but it&#8217;s the primary one. There is no ulterior motive &#8211; unless you consider &#8220;improving this for my own use&#8221; to be ulterior. Yes, that even includes the recent Hyper-V drivers &#8211; where it was in Microsoft&#8217;s interest (for selling Hyper-V to displace VMWare) to &#8220;contribute&#8221; according to the rules of Free Software contribution. Imagine, if you will, that people like, say, Banshee because they genuinely prefer it to Rhythmbox &#8211; not because they&#8217;re secret dark agents of teh Micro$haft trying to &#8220;spread Mono&#8221;.</p>
<p><em><strong>Step 3: Understand governance</strong></em></p>
<p>One of the biggest mistakes made by the &#8220;anti-Mono&#8221; team is the belief that abuse on forums, blogs, mailing lists and newsgroups is how change happens. I hate to break it to you, guys, but <strong>it&#8217;s not</strong>. Every distribution of Linux is put together by an individual or team, and every distribution has specific processes in place which determine what constitutes a package in the repository, a default package, and so on. Some distributions are dictatorships, some distributions are direct democracies, some are lead by layers of bureaucracy. If you want to fight against something, you need to do it <em>within the system</em>. And some systems make it easier than others to fight.</p>
<p>Here are a couple of examples, to get you going: In Debian, the final decision to include a package in the archive or not is made by the ftpmaster member who audits the package. This audit is re-done every time the package changes the binary .deb files it produces (but not for every upload), and that overall control of what is in the archive remains with them. The decision is made on a simple basis &#8211; does the license of this software permit its inclusion and distribution in Debian, under the terms of the Debian Free Software Guidelines. The decision over which packages to depend (or not) in a given metapackage is at the complete sole discretion of that package&#8217;s maintainer &#8211; so for the GNOME metapackages, that&#8217;s the GNOME team. And the decision over which packages to include in the default install image are made by the installer team, heavily influenced by (but not necessarily exactly the same as) the prior decisions of the GNOME team. Packages are solely owned by their maintainers, remember that &#8211; meaning the only way to remove Mono (or to reclassify it as non-free or whatever is today&#8217;s favourite attack) without cooperation of the package maintainer is&#8230; well, there&#8217;s a way to do it, but it&#8217;s a nuclear option. A Debian Developer (and only a DD, as per the Debian constitution) can call for a General Resolution. It&#8217;s detailed in <a href="http://www.debian.org/vote/howto_proposal" target="_blank">this page right here</a>. But in essence any vote to remove Mono is a vote of no confidence in the abilities of the (thorough and hard-working) ftpmaster team &#8211; and a vote that developers should no longer consider their packages to be their own property. Good luck passing any such resolution, especially without mass resignation from the Project. There&#8217;s the Debian route. First, contribute enough to be advocated as a Debian Developer, then become one, then file and win a GR to remove Mono. Good luck with that.</p>
<p>Next is Ubuntu. And here, you have an equally tough fight, but for different reasons. Ubuntu has a similar role to ftpmaster, called an Archive Admin &#8211; but by and large, Ubuntu trusts decisions made by ftpmaster in Debian. As a result, arguments beyond mere licensing are delegated upwards to a committee type organization called the Technical Board. The TB is the highest law in the land &#8211; it&#8217;s made up from Canonical employees (including Shuttleworth) and community members &#8211; and according to the paperwork, the only extra power Shuttleworth has here is the casting vote in a tie-breaker situation. The TB meets on IRC every couple of weeks or so, and discusses topics raised with them, rendering &#8220;final for now&#8221; verdicts. The TB have the authority to remove Mono from not only the default install (which would override the Desktop Team&#8217;s wishes), but also the entire distribution. However, the TB has already recently reached a near-unanimous verdict that Mono is fine. Sorry, but see step 1 above. If you want to change their minds, then the path is clear &#8211; join the TB. They had a nomination period recently (I don&#8217;t think any anti-Mono folks signed up), and will be doing so again every now and again. Become a big enough contributor to Ubuntu to make a successful bid to join the Technical Board, and then once on the board, discuss with your peers why you feel Mono should be removed &#8211; and win that argument.</p>
<p>Noise on forums is just noise.</p>
<p><em><strong>Step 4: Understand the relative value of contributions<br />
</strong></em></p>
<p>There are those who have characterised this war as a war between &#8220;users&#8221; and &#8220;developers&#8221; &#8211; and to an extent that&#8217;s true. Everybody is free to make their own decisions regarding their computing experience, and to act upon those decisions. However, the question of who makes that decision affects how far-reaching those decisions are. If a developer makes a decision, that has more wide-reaching results than if a forum poster makes a decision. If a packager decides on something, the effect is wider than if a &#8220;mere&#8221; user decides something. Those decisions may not be the same as yours (see, again, step 1) but you need to understand that those decisions, those <em>contributions</em>, are far reaching not because of some conspiracy, but because the person doing those things, has been assigned a greater degree of impact by the community at large. If someone is elected to a packager role, then their decisions affect anyone who uses those packages &#8211; which may include users, or other packagers, or other developers. If you are not a customer (see step 2) then they will behave however they like, and contribute however they like.</p>
<p>You cannot win a war with a packager with flames. You cannot win a war with a distro team with attacks. If you can&#8217;t beat &#8216;em, join &#8216;em &#8211; and make contributions which outweigh (e.g. render irrelevant) the contributions of those with whom you disagree. Contributions don&#8217;t need to just be programming or packaging &#8211; many other roles are often overlooked but of vital importance to Free Software&#8217;s success, such as artists, translators, documentation writers, and so on. You can contribute in many ways &#8211; and whilst your contribution may not directly &#8220;hurt&#8221; what you don&#8217;t like, they can help what you <em>do</em> like &#8211; and indirectly win the &#8220;battle&#8221;.</p>
<p><strong><em>Step 5: Pick your battles</em></strong></p>
<p>I have seen it suggested in certain areas that some feel it is their &#8220;duty&#8221; to try to elicit global change in a single shot &#8211; to have their demands met absolutely everywhere at once, and they do so by fighting absolutely everything at once. I&#8217;m sorry to tell you this, but the &#8220;community&#8221; is bigger than you are (and don&#8217;t kid yourselves, Mono has a genuine community surrounding it). If you want to elicit change, then <em>focus your efforts</em>. Pick some specific way to contribute which will help your point of view, and only move on when that specific fight is won. Don&#8217;t want to see Banshee as a default music player app? Then <em>focus on that</em> &#8211; and do so in a positive way. In this case, that means things such as contributing to competing apps like Exaile or Rhythmbox such that they are definitely better and nobody <em>wants</em> Banshee to be the default.</p>
<p><em><strong>Step 6: Lead by example, not by shouting</strong></em></p>
<p>If you really, fundamentally feel that your needs are not met by contributing positively, or trying to elicit change via the right governance channels, then  do better. That&#8217;s all there is to it. The folks behind, say, Linux Mint felt that their needs were not met (and could not be met for one reason or another) by &#8220;real&#8221; Ubuntu, so they lead by example and made their own distro. If you really feel your needs are not being met, then you can do the same. Make other apps better, or if push comes to shove, make your own distro. It&#8217;s really not hard!</p>
<p>In fact, to illustrate the point, I made one myself. It&#8217;s called &#8220;Chicken Little Remix&#8221; (absolutely not Ubuntu Chicken Little Remix as that would mean worrying about trademark policies), and you can download it from The Pirate Bay in <a href="http://thepiratebay.org/torrent/5028124/ChickenLittleRemix_9.04_r2_i386.iso" target="_blank">i386</a> and <a href="http://thepiratebay.org/torrent/5027749/ChickenLittleRemix_9.04_r2_amd64.iso" target="_blank">amd64</a> formats. As a first cut, it&#8217;s simply a Jaunty Alternate ISO with all Mono-related stuff cut away &#8211; and it took me an hour to do. Imagine what the combined energies of the entire anti-Mono community could produce, with a little direction. CLR is my attempt to provide some direction &#8211; I&#8217;m happy to provide advice on how to modify packages and customize the Alternate ISO (something I have experience doing) as long as the name remains in place, but perhaps it could even be treated as a way for people who are &#8220;only&#8221; users to learn how to become &#8220;contributors&#8221; too, and make their voices in the greater community louder. Make the distro you wish those idiots in the Technical Board and Desktop Team were producing, and <em>show them how it&#8217;s done</em>. Set up a project on Launchpad, a website, make some art, tinker on packages, and make CLR 9.10 the most awesome distribution ever &#8211; without need for any of that messy Mono nonsense. The first cut took one person one hour &#8211; how much time does that give for the next release? Fill it with Gnote and Solang and AWN and $DEITY knows what else, and demonstrate through tangible contribution how unnecessary Mono really is.</p>
<p>Because when all&#8217;s said and done, simply shouting that the sky is falling won&#8217;t get you anywhere.</p>
]]></content:encoded>
			<wfw:commentRss>http://apebox.org/wordpress/rants/163/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
	</channel>
</rss>

