<?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>The-Source.com &#187; F-Spot</title>
	<atom:link href="http://www.the-source.com/tag/f-spot/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.the-source.com</link>
	<description>Free and Open Source Software News and Opinion</description>
	<lastBuildDate>Wed, 22 Dec 2010 01:04:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Mono: Unsafe At Any Speed</title>
		<link>http://www.the-source.com/2010/12/mono-unsafe-at-any-speed/</link>
		<comments>http://www.the-source.com/2010/12/mono-unsafe-at-any-speed/#comments</comments>
		<pubDate>Sun, 12 Dec 2010 02:14:21 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Banshee]]></category>
		<category><![CDATA[Do]]></category>
		<category><![CDATA[ECMA]]></category>
		<category><![CDATA[F-Spot]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[Tomboy]]></category>

		<guid isPermaLink="false">http://www.the-source.com/?p=1278</guid>
		<description><![CDATA[Just a follow up expanding on the recent Banshee/ECMA stuff. Warning: long stretches of file lists within! You&#8217;ll often hear Team Apologista (when cornered) say something like: &#8220;Maybe not all of Mono is covered by the ECMA standard, but all the bits used in Linux programs are.&#8221; (Here&#8217;s just one example from the recent Reddit [...]]]></description>
			<content:encoded><![CDATA[<p>Just a follow up expanding on the recent Banshee/ECMA stuff. <strong>Warning: long stretches of file lists within!</strong></p>
<p>You&#8217;ll often hear Team Apologista (when cornered) say something like: &#8220;Maybe not all of Mono is covered by the ECMA standard, but all the bits used in Linux programs are.&#8221; (<a href="http://www.reddit.com/r/linux/comments/ejjm4/mono_criticism_uninformed_hatred_thesourcecom/c18km9n">Here&#8217;s just one example from the recent Reddit thread</a>, but like all Team Apologista arguments, you&#8217;ll see a similar talking point repeatedly.)</p>
<p>Now of course, we know that is simply not true &#8211; System.Data was used in Banshee <em>at least until very recently</em>, but let&#8217;s dive deeper.</p>
<p>Does the claim that &#8220;All of the pieces of Mono that are used in Linux apps are covered by the MCP.&#8221; hold up under examination?</p>
<p><strong>Non-ECMA Namespaces</strong></p>
<p>According to Wikipedia, here is a l<a href="http://en.wikipedia.org/wiki/Base_Class_Library#Non_standardized_namespaces">ist of BCL namespaces that are not part of the ECMA standard</a>:</p>
<pre>System.CodeDom
System.ComponentModel
System.Configuration
System.Data
System.Deployment
System.DirectoryServices
System.Drawing
System.EnterpriseServices
System.Linq
System.Linq.Expressions
System.Management
System.Media
System.Messaging
System.Resources
System.ServiceProcess
System.Timers
System.Transactions
System.Web
System.Windows.Forms
System.Xml</pre>
<p>Note that this is only Base Class Libraries not a part of the ECMA standard &#8211; there may be other .NET namespaces Mono implements that are also not covered by ECMA. However since I don&#8217;t think Team Apologista will be forthcoming with a comprehensive list, nor do I think it will be necessary to do so in order to prove the point here, I see no need to search them out at this time. That being said, if someone feels motivated to do so, I would be very interested in seeing the results!</p>
<p><em>Cautionary Note: </em>The Wikipedia list appears to be up to date, but if you like you can verify against this <a href="http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-335.zip">.zipped XML file</a> on the <a href="http://msdn.microsoft.com/en-us/netframework/aa569283.aspx">Microsoft ECMA C# and  Common Language Infrastructure Standards page</a>. However, when checking it myself I think there may be some System.XML stuff that is part of the standard. I did check for more specific entries that the Mono apps use, such as System.XML.Serialization, System.XML.XPath, System.XML.Schema and so forth, and did <strong>not</strong> see them in the standard. So, I&#8217;m leaving that bit in for now.</p>
<p><strong>UPDATE 2010.12.15: </strong>Since System.Xml is now (as of this month) in the standard, it&#8217;s probably better to leave all the System.Xml* stuff out altogether. I have left the file listings intact, and posted numbers &#8220;minus System.Xml&#8221; in the summary at the end. Thanks to <a href="http://www.reddit.com/r/programming/comments/elqb4/mono_unsafe_at_any_speed/c192qpy">OneAndOnlySnob over on Reddit</a> for pointing this out.</p>
<p><strong>The programs</strong></p>
<p>So, armed with this list, let&#8217;s examine a few of the &#8220;crazy delicious awesome rocks&#8221; Mono applications and see what we find. <strong>In every case I am searching against a copy of the source code repository cloned the day of this writing. </strong>Don&#8217;t want to fall into the it&#8217;s-not-really-released-yet-but-we-fixed-it trickery trap twice!</p>
<p><strong>Banshee</strong></p>
<p>Let&#8217;s hit this one first, since it was the starter:</p>
<pre>[jason@apollo banshee-git]$ find . -name '*.cs'|xargs egrep -i "using system.codedom|using system.componentmodel|using sytem.configuration|using system.data|using system.deployment|using system.directoryservices|using system.drawing|using system.enterpriseservices|using system.linq|using system.management|using system.media|using system.messaging|using system.resources|using system.serviceprocess|using system.timers|using system.transactions|using system.web|using system.windows.forms|using system.xml"
./banshee/src/Dap/Banshee.Dap/Banshee.Dap/DapLibrarySync.cs:using System.Linq;
./banshee/src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs:using System.Linq;
./banshee/src/Dap/Banshee.Dap/Banshee.Dap/DapSync.cs:using System.Linq;
./banshee/src/Dap/Banshee.Dap/Banshee.Dap/DapService.cs:using System.Linq;
./banshee/src/Dap/Banshee.Dap/Banshee.Dap.Gui/LibrarySyncOptions.cs:using System.Linq;
./banshee/src/Dap/Banshee.Dap/Banshee.Dap.Gui/DapContent.cs:using System.Linq;
./banshee/src/Dap/Banshee.Dap.MassStorage/Banshee.Dap.MassStorage/MassStorageDevice.cs:using System.Linq;
./banshee/src/Extensions/Banshee.Audiobook/Banshee.Audiobook/Actions.cs:using System.Linq;
./banshee/src/Extensions/Banshee.Audiobook/Banshee.Audiobook/BookView.cs:using System.Linq;
./banshee/src/Extensions/Banshee.Audiobook/Banshee.Audiobook/AudiobookLibrarySource.cs:using System.Linq;
./banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm/LastfmSource.cs:using System.Linq;
./banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm/LastfmPreferences.cs:using System.Linq;
./banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/Queue.cs:using System.Web;
./banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Audioscrobbler/Queue.cs:using System.Xml;
./banshee/src/Extensions/Banshee.Lastfm/Banshee.Lastfm.Recommendations/RecommendationPane.cs:using System.Linq;
./banshee/src/Extensions/Banshee.YouTube/Banshee.YouTube.Data/DataFetch.cs:using System.Web;
./banshee/src/Extensions/Banshee.Daap/Banshee.Daap/DaapProxyWebServer.cs:using System.Web;
./banshee/src/Extensions/Banshee.Daap/Daap/ContentFetcher.cs:using System.Web;
./banshee/src/Extensions/Banshee.Daap/Daap/Client.cs:using System.Web;
./banshee/src/Extensions/Banshee.MiroGuide/Banshee.MiroGuide/MiroGuideSource.cs:using System.Linq;
./banshee/src/Extensions/Banshee.AmazonMp3/Banshee.AmazonMp3/AmzXspfPlaylist.cs:using System.Xml;
./banshee/src/Extensions/Banshee.AmazonMp3/Banshee.AmazonMp3/ConsoleTool.cs:using System.Linq;
./banshee/src/Extensions/Banshee.AmazonMp3/Banshee.AmazonMp3/AmazonDownloadManager.cs:using System.Linq;
./banshee/src/Extensions/Banshee.InternetArchive/InternetArchive/Details.cs:using System.Linq;
./banshee/src/Extensions/Banshee.InternetArchive/InternetArchive/Search.cs:using System.Linq;
./banshee/src/Extensions/Banshee.InternetArchive/InternetArchive/DetailsFile.cs:using System.Linq;
./banshee/src/Extensions/Banshee.InternetArchive/InternetArchive/JsonExtensions.cs:using System.Linq;
./banshee/src/Extensions/Banshee.InternetArchive/InternetArchive/SearchResults.cs:using System.Linq;
./banshee/src/Extensions/Banshee.InternetArchive/InternetArchive/SearchResult.cs:using System.Linq;
./banshee/src/Extensions/Banshee.InternetArchive/InternetArchive/DetailsReview.cs:using System.Linq;
./banshee/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/Actions.cs:using System.Linq;
./banshee/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/SearchView.cs:using System.Linq;
./banshee/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/DetailsView.cs:using System.Linq;
./banshee/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/HomeView.cs:using System.Linq;
./banshee/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/HeaderFilters.cs:using System.Linq;
./banshee/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/HomeSource.cs:using System.Linq;
./banshee/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/SearchSource.cs:using System.Linq;
./banshee/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/Item.cs:using System.Linq;
./banshee/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/SearchDescription.cs:using System.Linq;
./banshee/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/DetailsSource.cs:using System.Linq;
./banshee/src/Extensions/Banshee.PlayerMigration/Banshee.PlayerMigration/ItunesPlayerImportSource.cs:using System.Xml;
./banshee/src/Extensions/Banshee.PlayerMigration/Banshee.PlayerMigration/RhythmboxPlayerImportSource.cs:using System.Xml;
./banshee/src/Extensions/Banshee.Fixup/Banshee.Fixup/Problem.cs:using System.Linq;
./banshee/src/Extensions/Banshee.Fixup/Banshee.Fixup/FixActions.cs:using System.Linq;
./banshee/src/Extensions/Banshee.Fixup/Banshee.Fixup/AlbumDuplicateSolver.cs:using System.Linq;
./banshee/src/Extensions/Banshee.Fixup/Banshee.Fixup/ArtistDuplicateSolver.cs:using System.Linq;
./banshee/src/Extensions/Banshee.Fixup/Banshee.Fixup/GenreDuplicateSolver.cs:using System.Linq;
./banshee/src/Extensions/Banshee.Fixup/Banshee.Fixup/ColumnCellSolutionOptions.cs:using System.Linq;
./banshee/src/Extensions/Banshee.Fixup/Banshee.Fixup/Solver.cs:using System.Linq;
./banshee/src/Extensions/Banshee.Fixup/Banshee.Fixup/Tests.cs:using System.Linq;
./banshee/src/Extensions/Banshee.LibraryWatcher/Banshee.LibraryWatcher/SourceWatcher.cs:using System.Linq;
./banshee/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs:using System.Linq;
./banshee/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/HeaderWidget.cs:using System.Linq;
./banshee/src/Extensions/Banshee.Emusic/Banshee.Emusic/EmusicService.cs:using System.Xml;
./banshee/src/Extensions/Banshee.Emusic/Banshee.Emusic/EmusicImport.cs:using System.Xml;
/banshee/src/Extensions/Banshee.Emusic/Banshee.Emusic/DownloadManager/DownloadManagerInterface.cs:using System.ComponentModel;
./banshee/src/Extensions/Banshee.LastfmStreaming/Banshee.LastfmStreaming/LastfmTrackInfo.cs:using System.Web;
./banshee/src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Gui/DownloadManager/DownloadManagerInterface.cs:using System.ComponentModel;
./banshee/src/Extensions/Banshee.Podcasting/Banshee.Podcasting.Data/PodcastSource.cs:using System.Linq;
./banshee/src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastImageFetchJob.cs:using System.Xml;
./banshee/src/Extensions/Banshee.Podcasting/Banshee.Podcasting/PodcastService.cs:using System.Linq;
./banshee/src/Clients/Nereid/Nereid/PlayerInterface.cs:using System.Linq;
./banshee/src/Core/Banshee.Services/Banshee.Playlists.Formats/PlaylistParser.cs:using System.Web;
./banshee/src/Core/Banshee.Services/Banshee.Playlists.Formats/AsxPlaylistFormat.cs:using System.Xml;
./banshee/src/Core/Banshee.Services/Banshee.MediaProfiles/MediaProfileManager.cs:using System.Xml;
./banshee/src/Core/Banshee.Services/Banshee.MediaProfiles/Pipeline.cs:using System.Xml;
./banshee/src/Core/Banshee.Services/Banshee.MediaProfiles/ProfileConfiguration.cs:using System.Xml;
./banshee/src/Core/Banshee.Services/Banshee.MediaProfiles/PipelineVariable.cs:using System.Xml;
./banshee/src/Core/Banshee.Services/Banshee.MediaProfiles/Profile.cs:using System.Xml;
./banshee/src/Core/Banshee.Services/Banshee.ServiceStack/ServiceManager.cs:using System.Linq;
./banshee/src/Core/Banshee.Services/Banshee.Sources/Tests.cs:using System.Linq;
./banshee/src/Core/Banshee.Services/Banshee.Metadata.MusicBrainz/MusicBrainzQueryJob.cs:using System.Xml;
./banshee/src/Core/Banshee.Services/Banshee.Metadata.MusicBrainz/MusicBrainzQueryJob.cs:using System.Web;
./banshee/src/Core/Banshee.Services/Banshee.Metadata.LastFM/LastFMQueryJob.cs:using System.Xml;
./banshee/src/Core/Banshee.Services/Banshee.Metadata.LastFM/LastFMQueryJob.cs:using System.Web;
./banshee/src/Core/Banshee.Services/Banshee.Networking/DotNetNetworking.cs:using System.Linq;
./banshee/src/Core/Banshee.Services/Banshee.Web/BaseHttpServer.cs:using System.Web;
./banshee/src/Core/Banshee.Services/Banshee.Query/BansheeQuery.cs:using System.Linq;
./banshee/src/Core/Banshee.Services/Banshee.Collection.Indexer/CollectionIndexer.cs:using System.Xml;
./banshee/src/Core/Banshee.Services/Banshee.Collection.Database/Shuffler.cs:using System.Linq;
./banshee/src/Core/Banshee.Services/Banshee.Collection.Database/RandomBy.cs:using System.Linq;
./banshee/src/Core/Banshee.Services/Banshee.Collection.Database/Bookmark.cs:using System.Linq;
./banshee/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs:using System.Linq;
./banshee/src/Core/Banshee.Services/Banshee.Collection.Database/RandomBySlot.cs:using System.Linq;
./banshee/src/Core/Banshee.Services/Banshee.Equalizer/EqualizerManager.cs:using System.Xml;
./banshee/src/Core/Banshee.Services/Banshee.Metadata/BaseMetadataProvider.cs:using System.Linq;
./banshee/src/Core/Banshee.Services/Banshee.Metadata/SaveTrackMetadataJob.cs:using System.Linq;
./banshee/src/Core/Banshee.Services/Banshee.Database/BansheeDbConnection.cs:using System.Linq;
./banshee/src/Core/Banshee.Services/Banshee.Database/SortKeyUpdater.cs:using System.Linq;
./banshee/src/Core/Banshee.Services/Banshee.Metrics/BansheeMetrics.cs:using System.Linq;
./banshee/src/Core/Banshee.Services/Banshee.Metadata.Rhapsody/RhapsodyQueryJob.cs:using System.Xml;
./banshee/src/Core/Banshee.ThickClient/Banshee.Gui/SourceActions.cs:using System.Linq;
./banshee/src/Core/Banshee.ThickClient/Banshee.Addins.Gui/AddinView.cs:using System.Linq;
./banshee/src/Core/Banshee.ThickClient/Banshee.ContextPane/ContextPane.cs:using System.Linq;
./banshee/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/TrackListView.cs:using System.Linq;
./banshee/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/XmlColumnController.cs:using System.Xml;
./banshee/src/Core/Banshee.ThickClient/Banshee.Collection.Gui/ColumnCellCreativeCommons.cs:using System.Linq;
./banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs:using System.Linq;
./banshee/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceSwitcherEntry.cs:using System.Linq;
./banshee/src/Core/Banshee.Core/Banshee.IO/Provider.cs:using System.Linq;
./banshee/src/Core/Banshee.Core/Banshee.IO/Tests.cs:using System.Linq;
./banshee/src/Core/Banshee.Core/Banshee.Configuration/XmlConfigurationClient.cs:using System.Timers;
./banshee/src/Core/Banshee.Core/Banshee.Configuration/XmlConfigurationClient.cs:using System.Xml;
./banshee/src/Core/Banshee.Core/Banshee.Configuration/XmlConfigurationClient.cs:using System.Xml.Serialization;
./banshee/src/Core/Banshee.Core/Banshee.Base/ProductInformation.cs:using System.Xml;
./banshee/src/Core/Banshee.Core/Banshee.Base/Localization.cs:using System.Xml;
./banshee/src/Core/Banshee.Core/Banshee.Base/Localization.cs:using System.Xml.XPath;
./banshee/src/Backends/Banshee.GStreamerSharp/Banshee.GStreamerSharp/PlayerEngine.cs:using System.Linq;
/banshee/src/Backends/Banshee.Gio/Banshee.IO.Gio/Directory.cs:using System.Linq;
./banshee/src/Backends/Banshee.Gio/Banshee.IO.Gio/Tests.cs:using System.Linq;
./banshee/src/Backends/Banshee.Gio/Banshee.Hardware.Gio/BlockDevice.cs:using System.Linq;
./banshee/src/Backends/Banshee.Gio/Banshee.Hardware.Gio/Device.cs:using System.Linq;
./banshee/src/Backends/Banshee.Gio/Banshee.Hardware.Gio/DeviceMediaCapabilities.cs:using System.Linq;
./banshee/src/Backends/Banshee.Gio/Banshee.Hardware.Gio/LowLevel/Manager.cs:using System.Linq;
./banshee/src/Backends/Banshee.Gio/Banshee.Hardware.Gio/LowLevel/RawDevice.cs:using System.Linq;
./banshee/src/Libraries/MusicBrainz/MusicBrainz/Disc.cs:using System.Xml;
./banshee/src/Libraries/MusicBrainz/MusicBrainz/MusicBrainzItem.cs:using System.Xml;
./banshee/src/Libraries/MusicBrainz/MusicBrainz/MusicBrainzEntity.cs:using System.Xml;
./banshee/src/Libraries/MusicBrainz/MusicBrainz/Artist.cs:using System.Xml;
./banshee/src/Libraries/MusicBrainz/MusicBrainz/Event.cs:using System.Xml;
./banshee/src/Libraries/MusicBrainz/MusicBrainz/MusicBrainzObject.cs:using System.Xml;
./banshee/src/Libraries/MusicBrainz/MusicBrainz/Release.cs:using System.Xml;
./banshee/src/Libraries/MusicBrainz/MusicBrainz/Track.cs:using System.Xml;
./banshee/src/Libraries/MusicBrainz/MusicBrainz/Label.cs:using System.Xml;
./banshee/src/Libraries/Migo/Migo.Net/AsyncWebClient.cs:using System.ComponentModel;
./banshee/src/Libraries/Migo/Migo.Net/TransferStatusManager.cs:using System.Timers;
./banshee/src/Libraries/Migo/Migo.Net/EventArgs/DownloadProgressChangedEventArgs.cs:using System.ComponentModel;
./banshee/src/Libraries/Migo/Migo.Net/EventArgs/DownloadDataCompletedEventArgs.cs:using System.ComponentModel;
./banshee/src/Libraries/Migo/Migo.Net/EventArgs/DownloadStringCompletedEventArgs.cs:using System.ComponentModel;
./banshee/src/Libraries/Migo/Migo.DownloadCore/DownloadManager.cs:using System.Web;
./banshee/src/Libraries/Migo/Migo.DownloadCore/DownloadManager.cs:using System.ComponentModel;
./banshee/src/Libraries/Migo/Migo.DownloadCore/HttpFileDownloadGroup.cs:using System.Timers;  // migrate to System.Threading.Timer
./banshee/src/Libraries/Migo/Migo.DownloadCore/HttpFileDownloadGroup.cs:using System.ComponentModel;
./banshee/src/Libraries/Migo/Migo.DownloadCore/HttpFileDownloadTask.cs:using System.ComponentModel;
./banshee/src/Libraries/Migo/Migo.DownloadCore/DownloadGroupStatusManager.cs:using System.Timers;
./banshee/src/Libraries/Migo/Migo.Syndication/FeedUpdateTask.cs:using System.ComponentModel;
./banshee/src/Libraries/Migo/Migo.Syndication/Tests/XmlTests.cs:using System.Linq;
./banshee/src/Libraries/Migo/Migo.Syndication/RssParser.cs:using System.Xml;
./banshee/src/Libraries/Migo/Migo.Syndication/OpmlParser.cs:using System.Xml;
./banshee/src/Libraries/Migo/Migo.TaskCore/GroupProgressManager.cs:using System.ComponentModel;
./banshee/src/Libraries/Migo/Migo.TaskCore/TaskGroup.cs:using System.ComponentModel;
./banshee/src/Libraries/Migo/Migo.TaskCore/EventArgs/TaskCompletedEventArgs.cs:using System.ComponentModel;
./banshee/src/Libraries/Migo/Migo.TaskCore/Task.cs:using System.ComponentModel;
./banshee/src/Libraries/Mono.Media/Media.Playlists.Xspf/Tests/XspfTests.cs:using System.Xml;
./banshee/src/Libraries/Mono.Media/Media.Playlists.Xspf/Tests/XspfTests.cs:using System.Xml.Schema;
./banshee/src/Libraries/Mono.Media/Media.Playlists.Xspf/XmlUtil.cs:using System.Xml;
./banshee/src/Libraries/Mono.Media/Media.Playlists.Xspf/XspfBaseObject.cs:using System.Xml;
./banshee/src/Libraries/Mono.Media/Media.Playlists.Xspf/Track.cs:using System.Xml;
./banshee/src/Libraries/Mono.Media/Media.Playlists.Xspf/Playlist.cs:using System.Xml;
./banshee/src/Libraries/Lastfm/Lastfm.Data/DataEntryCollection.cs:using System.Xml;
./banshee/src/Libraries/Lastfm/Lastfm.Data/DataCore.cs:using System.Web;
./banshee/src/Libraries/Lastfm/Lastfm.Data/DataCore.cs:using System.Xml;
./banshee/src/Libraries/Lastfm/Lastfm.Data/LastfmData.cs:using System.Web;
./banshee/src/Libraries/Lastfm/Lastfm.Data/LastfmData.cs:using System.Xml;
./banshee/src/Libraries/Lastfm/Lastfm.Data/DataEntry.cs:using System.Xml;
./banshee/src/Libraries/Lastfm/Lastfm/LastfmRequest.cs:using System.Web;
./banshee/src/Libraries/Lastfm/Lastfm/RadioConnection.cs:using System.Xml;
./banshee/src/Libraries/Lastfm/Lastfm/RadioConnection.cs:using System.Web;
./banshee/src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs:using System.Timers;
./banshee/src/Libraries/Lastfm/Lastfm/AudioscrobblerConnection.cs:using System.Web;
./banshee/build/AddinXmlStringExtractor.cs:using System.Xml.XPath;
./banshee/build/DllMapVerifier.cs:using System.Xml;
./banshee/tests/Analyzer/Analyzer.cs:using System.Linq;
./banshee/tests/Analyzer/Analyzer.cs:using System.Xml.Linq;
./banshee/extras/metrics/Metric.cs:using System.Linq;</pre>
<p>Banshee: <strong>165 references</strong>.</p>
<p>Banshee has a little bonus, by the way:</p>
<pre>[jason@apollo ~]$ find . -name '*.cs'|xargs egrep -i "using microsoft."
./banshee-git/banshee/src/Libraries/MusicBrainz/MusicBrainz/DiscWin32NT.cs:using Microsoft.Win32.SafeHandles;</pre>
<p><strong>Tomboy</strong></p>
<pre>[jason@apollo tomboy-git]$ find . -name '*.cs'|xargs egrep -i "using system.codedom|using system.componentmodel|using sytem.configuration|using system.data|using system.deployment|using system.directoryservices|using system.drawing|using system.enterpriseservices|using system.linq|using system.management|using system.media|using system.messaging|using system.resources|using system.serviceprocess|using system.timers|using system.transactions|using system.web|using system.windows.forms|using system.xml"
./tomboy/Tomboy/XmlPreferencesClient.cs:using System.Xml;
./tomboy/Tomboy/Note.cs:using System.Xml;
./tomboy/Tomboy/Tomboy.cs:using System.Xml;
./tomboy/Tomboy/ManagedWinapi.EventDispatchingNativeWindow.cs:using System.Windows.Forms;
./tomboy/Tomboy/NoteTag.cs:using System.Xml;
./tomboy/Tomboy/Addins/Sketching/Stroke.cs:using System.Xml;
./tomboy/Tomboy/Addins/Sketching/Paper.cs:using System.Xml;
./tomboy/Tomboy/Addins/Sketching/Handwriting.cs:using System.Xml;
./tomboy/Tomboy/Addins/StickyNoteImport/StickyNoteImportNoteAddin.cs:using System.Xml;
./tomboy/Tomboy/Addins/ExportToHtml/ExportToHtmlNoteAddin.cs:using System.Xml;
./tomboy/Tomboy/Addins/ExportToHtml/ExportToHtmlNoteAddin.cs:using System.Xml.XPath;
./tomboy/Tomboy/Addins/ExportToHtml/ExportToHtmlNoteAddin.cs:using System.Xml.Xsl;
./tomboy/Tomboy/Addins/WebSyncService/MonoHttp/HttpListenerException.cs:using System.ComponentModel;
./tomboy/Tomboy/Addins/WebSyncService/Api/OAuth.cs:using System.Web;
./tomboy/Tomboy/Addins/WebSyncService/Api/AnonymousConnection.cs:using System.Web;
./tomboy/Tomboy/Addins/WebSyncService/WebSyncPreferencesWidget.cs:using System.Web;
./tomboy/Tomboy/Addins/WebSyncService/OAuth/Mono.Rocks/IEnumerable.cs:using System.Linq;
./tomboy/Tomboy/Addins/WebSyncService/OAuth/Base.cs:using System.Linq;
./tomboy/Tomboy/Addins/WebSyncService/OAuth/Base.cs:using System.Web;
./tomboy/Tomboy/Addins/Evolution/EvolutionNoteAddin.cs:using System.Xml;
./tomboy/Tomboy/Addins/Evolution/EvolutionNoteAddin.cs:using System.Web;
./tomboy/Tomboy/Addins/Tasks/TaskArchiver.cs:using System.Xml;
./tomboy/Tomboy/Addins/Bugzilla/BugzillaNoteAddin.cs:using System.Xml;
./tomboy/Tomboy/WindowsKeybinder.cs:using System.Windows.Forms;
./tomboy/Tomboy/Utils.cs:using System.Xml;
./tomboy/Tomboy/NoteBuffer.cs:using System.Xml;
./tomboy/Tomboy/NoteBuffer.cs:using System.Xml.XPath;
./tomboy/Tomboy/NoteBuffer.cs:using System.Xml.Xsl;
./tomboy/Tomboy/Synchronization/TomboySyncClient.cs:using System.Xml;
./tomboy/Tomboy/Synchronization/SyncManager.cs:using System.Xml;
./tomboy/Tomboy/Synchronization/FileSystemSyncServer.cs:using System.Xml;
./tomboy/Tomboy/GnomeApplication.cs:using System.Xml;
./tomboy/Tomboy/System.Web/HttpUtility.cs://using System.Web.Util;
./tomboy/Tomboy/ManagedWinapi.Hotkey.cs:using System.ComponentModel;
./tomboy/Tomboy/ManagedWinapi.Hotkey.cs:using System.Windows.Forms;
./tomboy/Tomboy/ActionManager.cs:using System.Xml;</pre>
<p>Tomboy: <strong>36</strong> references.</p>
<p><strong>F-Spot</strong></p>
<pre>[jason@apollo fspot-git]$ find . -name '*.cs'|xargs egrep -i "using system.codedom|using system.componentmodel|using sytem.configuration|using system.data|using system.deployment|using system.directoryservices|using system.drawing|using system.enterpriseservices|using system.linq|using system.management|using system.media|using system.messaging|using system.resources|using system.serviceprocess|using system.timers|using system.transactions|using system.web|using system.windows.forms|using system.xml"
./f-spot/lib/unique-sharp/generator/StructBase.cs:      using System.Xml;
./f-spot/lib/unique-sharp/generator/ChildProperty.cs:   using System.Xml;
./f-spot/lib/unique-sharp/generator/PropertyBase.cs:    using System.Xml;
./f-spot/lib/unique-sharp/generator/Signature.cs:       using System.Xml;
./f-spot/lib/unique-sharp/generator/MethodBase.cs:      using System.Xml;
./f-spot/lib/unique-sharp/generator/ClassGen.cs:        using System.Xml;
./f-spot/lib/unique-sharp/generator/CallbackGen.cs:     using System.Xml;
./f-spot/lib/unique-sharp/generator/BoxedGen.cs:        using System.Xml;
./f-spot/lib/unique-sharp/generator/VirtualMethod.cs:   using System.Xml;
./f-spot/lib/unique-sharp/generator/Ctor.cs:    using System.Xml;
./f-spot/lib/unique-sharp/generator/VMSignature.cs:     using System.Xml;
./f-spot/lib/unique-sharp/generator/Property.cs:        using System.Xml;
./f-spot/lib/unique-sharp/generator/GenBase.cs: using System.Xml;
./f-spot/lib/unique-sharp/generator/Parser.cs:  using System.Xml;
./f-spot/lib/unique-sharp/generator/ObjectBase.cs:      using System.Xml;
./f-spot/lib/unique-sharp/generator/GenerationInfo.cs:  using System.Xml;
./f-spot/lib/unique-sharp/generator/Parameters.cs:      using System.Xml;
./f-spot/lib/unique-sharp/generator/InterfaceGen.cs:    using System.Xml;
./f-spot/lib/unique-sharp/generator/Method.cs:  using System.Xml;
./f-spot/lib/unique-sharp/generator/EnumGen.cs: using System.Xml;
./f-spot/lib/unique-sharp/generator/ClassBase.cs:       using System.Xml;
./f-spot/lib/unique-sharp/generator/StructGen.cs:       using System.Xml;
./f-spot/lib/unique-sharp/generator/HandleBase.cs:      using System.Xml;
./f-spot/lib/unique-sharp/generator/OpaqueGen.cs:       using System.Xml;
./f-spot/lib/unique-sharp/generator/StructField.cs:     using System.Xml;
./f-spot/lib/unique-sharp/generator/CodeGenerator.cs:   using System.Xml;
./f-spot/lib/unique-sharp/generator/ObjectGen.cs:       using System.Xml;
./f-spot/lib/unique-sharp/generator/ObjectField.cs:     using System.Xml;
./f-spot/lib/unique-sharp/generator/FieldBase.cs:       using System.Xml;
./f-spot/lib/unique-sharp/generator/ReturnValue.cs:     using System.Xml;
./f-spot/lib/unique-sharp/generator/Signal.cs:  using System.Xml;
./f-spot/lib/dpap-sharp/lib/ContentFetcher.cs:using System.Web;
./f-spot/lib/dpap-sharp/lib/Server.cs:using System.Web;
./f-spot/lib/dpap-sharp/lib/Client.cs:using System.Web;
./f-spot/lib/gio-sharp/generator/StructBase.cs: using System.Xml;
./f-spot/lib/gio-sharp/generator/ChildProperty.cs:      using System.Xml;
./f-spot/lib/gio-sharp/generator/PropertyBase.cs:       using System.Xml;
./f-spot/lib/gio-sharp/generator/Signature.cs:  using System.Xml;
./f-spot/lib/gio-sharp/generator/MethodBase.cs: using System.Xml;
./f-spot/lib/gio-sharp/generator/ClassGen.cs:   using System.Xml;
./f-spot/lib/gio-sharp/generator/CallbackGen.cs:        using System.Xml;
./f-spot/lib/gio-sharp/generator/BoxedGen.cs:   using System.Xml;
./f-spot/lib/gio-sharp/generator/VirtualMethod.cs:      using System.Xml;
./f-spot/lib/gio-sharp/generator/Ctor.cs:       using System.Xml;
./f-spot/lib/gio-sharp/generator/VMSignature.cs:        using System.Xml;
./f-spot/lib/gio-sharp/generator/Property.cs:   using System.Xml;
./f-spot/lib/gio-sharp/generator/GenBase.cs:    using System.Xml;
./f-spot/lib/gio-sharp/generator/Parser.cs:     using System.Xml;
./f-spot/lib/gio-sharp/generator/ObjectBase.cs: using System.Xml;
./f-spot/lib/gio-sharp/generator/GenerationInfo.cs:     using System.Xml;
./f-spot/lib/gio-sharp/generator/Parameters.cs: using System.Xml;
./f-spot/lib/gio-sharp/generator/InterfaceGen.cs:       using System.Xml;
./f-spot/lib/gio-sharp/generator/Method.cs:     using System.Xml;
./f-spot/lib/gio-sharp/generator/EnumGen.cs:    using System.Xml;
./f-spot/lib/gio-sharp/generator/ClassBase.cs:  using System.Xml;
./f-spot/lib/gio-sharp/generator/StructGen.cs:  using System.Xml;
./f-spot/lib/gio-sharp/generator/HandleBase.cs: using System.Xml;
./f-spot/lib/gio-sharp/generator/OpaqueGen.cs:  using System.Xml;
./f-spot/lib/gio-sharp/generator/StructField.cs:        using System.Xml;
./f-spot/lib/gio-sharp/generator/CodeGenerator.cs:      using System.Xml;
./f-spot/lib/gio-sharp/generator/ObjectGen.cs:  using System.Xml;
./f-spot/lib/gio-sharp/generator/ObjectField.cs:        using System.Xml;
./f-spot/lib/gio-sharp/generator/FieldBase.cs:  using System.Xml;
./f-spot/lib/gio-sharp/generator/ReturnValue.cs:        using System.Xml;
./f-spot/lib/gio-sharp/generator/Signal.cs:     using System.Xml;
./f-spot/lib/Mono.Google/Mono.Google/MultipartRequest.cs:using System.Xml;
./f-spot/lib/Mono.Google/Mono.Google/Authentication.cs:using System.Web;
./f-spot/lib/Mono.Google/Mono.Google.Picasa/XmlUtil.cs:using System.Xml;
./f-spot/lib/Mono.Google/Mono.Google.Picasa/PicasaAlbum.cs:using System.Xml;
./f-spot/lib/Mono.Google/Mono.Google.Picasa/PicasaWeb.cs:using System.Xml;
./f-spot/lib/Mono.Google/Mono.Google.Picasa/PicasaPicture.cs:using System.Xml;
./f-spot/lib/Mono.Tabblo/Mono.Tabblo/Connection.cs:using System.Web;
./f-spot/lib/SmugMugNet/SmugMugNet/Album.cs:using System.Xml;
./f-spot/lib/SmugMugNet/SmugMugNet/SmugMugUploadException.cs:using System.Xml;
./f-spot/lib/SmugMugNet/SmugMugNet/Category.cs:using System.Xml;
./f-spot/lib/SmugMugNet/SmugMugNet/Credentials.cs:using System.Xml;
./f-spot/lib/SmugMugNet/SmugMugNet/SmugMugApi.cs:using System.Xml;
./f-spot/lib/SmugMugNet/SmugMugNet/SmugMugException.cs:using System.Xml;
./f-spot/lib/SmugMugNet/SmugMugNet/SmugMugProxy.cs:using System.Xml;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Gallery/FSpot.Exporters.Gallery/GalleryAccount.cs:using System.Web;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Gallery/FSpot.Exporters.Gallery/GalleryRemote.cs:using System.Web;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Gallery/FSpot.Exporters.Gallery/FormClient.cs:using System.Web;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Gallery/FSpot.Exporters.Gallery/AccountDialog.cs:using System.Web;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Gallery/FSpot.Exporters.Gallery/GalleryExport.cs:using System.Web;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Gallery/FSpot.Exporters.Gallery/GalleryAddAlbum.cs:using System.Web;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Gallery/FSpot.Exporters.Gallery/GalleryAccountManager.cs:using System.Web;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.SmugMug/FSpot.Exporters.SmugMug/SmugMugAccount.cs:using System.Web;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.SmugMug/FSpot.Exporters.SmugMug/SmugMugAccountManager.cs:using System.Web;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.SmugMug/FSpot.Exporters.SmugMug/SmugMugExport.cs:using System.Web;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.SmugMug/FSpot.Exporters.SmugMug/SmugMugAccountDialog.cs:using System.Web;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.SmugMug/FSpot.Exporters.SmugMug/SmugMugAddAlbum.cs:using System.Web;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/Mono.Facebook/Notification.cs:using System.Xml.Serialization;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/Mono.Facebook/Album.cs:using System.Xml.Serialization;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/Mono.Facebook/SessionWrapper.cs:using System.Xml.Serialization;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/Mono.Facebook/Responses.cs:using System.Xml.Serialization;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/Mono.Facebook/Tag.cs:using System.Xml.Serialization;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/Mono.Facebook/Photo.cs:using System.Xml.Serialization;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/Mono.Facebook/PeopleList.cs:using System.Xml.Serialization;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/Mono.Facebook/Event.cs:using System.Xml.Serialization;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/Mono.Facebook/User.cs:using System.Xml.Serialization;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/Mono.Facebook/Friend.cs:using System.Xml.Serialization;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/Mono.Facebook/Util.cs:using System.Xml;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/Mono.Facebook/Util.cs:using System.Xml.Serialization;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/Mono.Facebook/Group.cs:using System.Xml.Serialization;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/Mono.Facebook/Error.cs:using System.Xml.Serialization;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/Mono.Facebook/FriendInfo.cs:using System.Xml.Serialization;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/Mono.Facebook/Location.cs:using System.Xml.Serialization;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/Mono.Facebook/SessionInfo.cs:using System.Xml.Serialization;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/Mono.Facebook/FacebookSession.cs:using System.Xml;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/Mono.Facebook/FacebookSession.cs:using System.Linq;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.Facebook/FSpot.Exporters.Facebook/FacebookExport.cs:using System.Web;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.PicasaWeb/FSpot.Exporters.PicasaWeb/GoogleAccountDialog.cs:using System.Web;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.PicasaWeb/FSpot.Exporters.PicasaWeb/GoogleAccountManager.cs:using System.Web;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.PicasaWeb/FSpot.Exporters.PicasaWeb/GoogleAccount.cs:using System.Web;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.PicasaWeb/FSpot.Exporters.PicasaWeb/GoogleAddAlbum.cs:using System.Web;
./f-spot/src/Extensions/Exporters/FSpot.Exporters.PicasaWeb/FSpot.Exporters.PicasaWeb/PicasaWebExport.cs:using System.Web;
./f-spot/src/Clients/MainApp/FSpot.UI.Dialog/PreferenceDialog.cs:using System.Linq;
./f-spot/src/Clients/MainApp/FSpot.UI.Dialog/SelectionRatioDialog.cs:using System.Xml.Serialization;
./f-spot/src/Clients/MainApp/FSpot.Editors/CropEditor.cs:using System.Xml.Serialization;
./f-spot/src/Clients/MainApp/FSpot/PhotoView.cs:using System.Xml.Serialization;
./f-spot/src/Clients/MainApp/FSpot/App.cs:using System.Linq;
./f-spot/src/Clients/MainApp/FSpot/SelectionDataExtensions.cs:using System.Linq;
./f-spot/src/Clients/MainApp/FSpot/FolderQueryWidget.cs:using System.Linq;
./f-spot/src/Clients/MainApp/FSpot/Photo.cs:using System.Linq;
./f-spot/src/Clients/MainApp/FSpot/MainWindow.cs:using System.Linq;
./f-spot/src/Clients/MainApp/FSpot/UriCollection.cs:using System.Xml;
./f-spot/src/Core/FSpot.Bling/FSpot.Bling/Animation.cs:using System.ComponentModel;
./f-spot/src/Core/FSpot.Core/FSpot.Core/FilePhoto.cs:using System.Xml;
./f-spot/src/Core/FSpot.Gui/FSpot.Widgets/SelectionCollection.cs:using System.Linq;
./f-spot/build/AddinXmlStringExtractor.cs:using System.Xml.XPath;
./f-spot/build/DllMapVerifier.cs:using System.Xml;</pre>
<p>F-Spot: <strong>131 </strong> references.</p>
<p><strong>Do</strong></p>
<pre>[jason@apollo do-bzr]$ find . -name '*.cs'|xargs egrep -i "using system.codedom|using system.componentmodel|using sytem.configuration|using system.data|using system.deployment|using system.directoryservices|using system.drawing|using system.enterpriseservices|using system.linq|using system.management|using system.media|using system.messaging|using system.resources|using system.serviceprocess|using system.timers|using system.transactions|using system.web|using system.windows.forms|using system.xml"
./do/Do.Platform.Linux/src/Do.Universe/GNOMESpecialLocationsItemSource.cs:using System.Linq;
./do/Do.Platform.Linux/src/Do.Universe/CategoryItem.cs:using System.Linq;
./do/Do.Platform.Linux/src/Do.Universe/ApplicationItemSource.cs:using System.Linq;
./do/Do.Platform.Linux/src/Do.Universe/GNOMEBookmarkItem.cs:using System.Linq;
./do/Do.Platform.Linux/src/Do.Universe/GNOMETrashItem.cs:using System.Linq;
./do/Do.Platform.Linux/src/Do.Universe/ApplicationItem.cs:using System.Linq;
./do/Do.Platform.Linux/src/Do.Platform/Do.Platform.Linux/KeyBindingService.cs:using System.Linq;
./do/Do.Platform.Linux/src/Do.Platform/Do.Platform.Linux/GnomeKeyringSecurePreferencesService.cs:using System.ComponentModel;
./do/Do.Platform.Linux/src/Do.Platform/Do.Platform.Linux/EnvironmentService.cs:using System.Linq;
./do/Do.Platform.Linux/src/Do.Platform/Do.Platform.Linux/UniverseFactoryService.cs:using System.Linq;
./do/Do.Universe/src/Do.Universe/ItemSource.cs:using System.Linq;
./do/Do.Universe/src/Do.Universe/Element.cs:using System.Linq;
./do/Do.Universe/src/Do.Universe/Do.Universe.Safe/SafeItemSource.cs:using System.Linq;
./do/Do.Universe/src/Do.Universe/Do.Universe.Safe/SafeAct.cs:using System.Linq;
./do/Do.Universe/src/Do.Universe/ProxyItem.cs:using System.Linq;
./do/Do.Universe/src/Do.Universe/Act.cs:using System.Linq;
./do/Do.Interface.Linux.AnimationBase/src/Do.Interface/Do.Interface.AnimationBase/BezelGlassResults.cs:using System.Linq;
./do/Do.Interface.Linux.AnimationBase/src/Do.Interface/Do.Interface.AnimationBase/AnimationBaseConfigurationWidget.cs:using System.Linq;
./do/Do.Interface.Linux.AnimationBase/src/Do.Interface/Do.Interface.AnimationBase/Bezel.cs:using System.Linq;
./do/Do/src/Mono.Addins/AddinExtensions.cs:using System.Linq;
./do/Do/src/PathExtensions.cs:using System.Linq;
./do/Do/src/Do.Core/SecondSearchController.cs:using System.Linq;
./do/Do/src/Do.Core/ItemExtensions.cs:using System.Linq;
./do/Do/src/Do.Core/SimpleSearchController.cs:using System.Linq;
./do/Do/src/Do.Core/PluginManager.cs:using System.Xml;
./do/Do/src/Do.Core/PluginManager.cs:using System.Linq;
./do/Do/src/Do.Core/Shortcut.cs:using System.Linq;
./do/Do/src/Do.Core/Paths.cs:using System.Linq;
./do/Do/src/Do.Core/UniverseManager.cs:using System.Linq;
./do/Do/src/Do.Core/Controller.cs:using System.Linq;
./do/Do/src/Do.Core/FirstSearchController.cs:using System.Linq;
./do/Do/src/Do.Core/HistogramRelevanceProvider.cs:using System.Linq;
./do/Do/src/Do.Core/ThirdSearchController.cs:using System.Linq;
./do/Do/src/Do.Universe/ItemSourceItemSource.cs:using System.Linq;
./do/Do/src/CorePreferences.cs:using System.Linq;
./do/Do/src/Do.UI/PluginConfigurationWindow.cs:using System.Linq;
./do/Do/src/Do.UI/ColorConfigurationWidget.cs:using System.Linq;
./do/Do/src/Do.UI/KeybindingTreeView.cs:using System.Linq;
./do/Do/src/Do.UI/PreferencesWindow.cs:using System.Linq;
./do/Do/src/Do.UI/ManagePluginsPreferencesWidget.cs:using System.Linq;
./do/Do/src/Do.Platform/PluginManagerService.cs:using System.Linq;
./do/Do/src/Do.Platform/CoreService.cs:using System.Linq;
./do/Do.Platform/src/Do.Universe/Do.Universe.Common/OpenWithAction.cs:using System.Linq;
./do/Do.Platform/src/Do.Universe/Do.Universe.Common/CopyToClipboardAction.cs:using System.Linq;
./do/Do.Platform/src/Do.Universe/Do.Universe.Common/EmailAction.cs:using System.Linq;
./do/Do.Platform/src/Do.Platform/Services.cs:using System.Linq;
./do/Do.Platform/src/Do.Platform/IEnvironmentService.cs:using System.Linq;
./do/Do.Platform/src/Do.Platform/Do.Platform.Default/KeyBindingService.cs:using System.Linq;
./do/Do.Platform/src/Do.Platform/KeyBinding.cs:using System.Linq;
./do/Do.Platform/src/Do.Platform/Do.Platform.Common/AbstractKeyBindingService.cs:using System.Linq;
./do/Do.Platform/src/Do.Platform/SecurePreferencesWrapper.cs:using System.ComponentModel;
./do/Do.Platform/src/Do.Platform/LogBase.cs:using System.Linq;
./do/Do.Interface.Linux/src/Do.Interface/Do.Interface.Widgets/ResultsWindow.cs:using System.Linq;
./do/Do.Interface.Linux/src/Do.Interface/PixbufSurfaceCache.cs:using System.Linq;
./do/Do.Interface.Linux/src/Do.Interface/InterfaceManager.cs:using System.Linq;
./do/Do.Interface.Linux/src/Do.Interface/ClassicInterface/ClassicWindow.cs:using System.Linq;</pre>
<p>Do: <strong>56</strong> references.</p>
<p><strong>Gbrainy</strong></p>
<pre>[jason@apollo gbrainy-git]$ find . -name '*.cs'|xargs egrep -i "using system.codedom|using system.componentmodel|using sytem.configuration|using system.data|using system.deployment|using system.directoryservices|using system.drawing|using system.enterpriseservices|using system.linq|using system.management|using system.media|using system.messaging|using system.resources|using system.serviceprocess|using system.timers|using system.transactions|using system.web|using system.windows.forms|using system.xml"
./gbrainy/sample_extensions/Memory/MemorySample.cs:using System.Timers;
./gbrainy/src/Clients/WebForms/Default.aspx.cs:using System.Web;
./gbrainy/src/Clients/WebForms/Default.aspx.cs:using System.Web.UI;
./gbrainy/src/Clients/WebForms/WebSession.cs:using System.Web.SessionState;
./gbrainy/src/Clients/WebForms/Status.aspx.cs:using System.Web;
./gbrainy/src/Clients/WebForms/Status.aspx.cs:using System.Web.UI;
./gbrainy/src/Clients/WebForms/Status.aspx.cs:using System.Web.UI.WebControls;
./gbrainy/src/Clients/WebForms/Global.asax.cs:using System.ComponentModel;
./gbrainy/src/Clients/WebForms/Global.asax.cs:using System.Web;
./gbrainy/src/Clients/WebForms/Global.asax.cs:using System.Web.SessionState;
./gbrainy/src/Clients/WebForms/MasterPage.master.cs:using System.Web;
./gbrainy/src/Clients/WebForms/MasterPage.master.cs:using System.Web.UI;
./gbrainy/src/Clients/WebForms/MasterPage.master.cs:using System.Web.UI.WebControls;
./gbrainy/src/Clients/WebForms/Finish.aspx.cs:using System.Web;
./gbrainy/src/Clients/WebForms/Finish.aspx.cs:using System.Web.UI;
./gbrainy/src/Clients/WebForms/Game.aspx.cs:using System.Web;
./gbrainy/src/Clients/WebForms/Game.aspx.cs:using System.Web.UI;
./gbrainy/src/Core/Main/Verbal/AnalogiesFactory.cs:using System.Xml;
./gbrainy/src/Core/Main/IDrawRequest.cs:using System.ComponentModel;
./gbrainy/src/Core/Main/PlayerHistory.cs:using System.Xml.Serialization;
./gbrainy/src/Core/Main/Game.cs:using System.ComponentModel;
./gbrainy/src/Core/Main/Memory.cs:using System.Timers;
./gbrainy/src/Core/Main/GameSessionHistory.cs:using System.Xml.Serialization;
./gbrainy/src/Core/Main/GameSession.cs:using System.Timers;
./gbrainy/src/Core/Main/GameSession.cs:using System.ComponentModel;
./gbrainy/src/Core/Main/Xml/GameXmlFactory.cs:using System.Xml;
./gbrainy/src/Core/Main/Preferences.cs:using System.Xml;
./gbrainy/src/Core/Main/Preferences.cs:using System.Xml.Serialization;
./gbrainy/src/Core/Toolkit/Widget.cs:using System.ComponentModel;
./gbrainy/src/Core/Views/CountDownView.cs:using System.Timers;
./gbrainy/src/Core/Views/CountDownView.cs:using System.ComponentModel;</pre>
<p>Gbrainy: <strong>31</strong> references.</p>
<p><strong>Summary</strong></p>
<p><strong>UPDATED 2010.12.15 &#8211; </strong>The struck-through text is the original figure with System.Xml as part of the search. The un-struckthrough text is without.</p>
<ul>
<li>Banshee: <span style="text-decoration: line-through;">165</span> 118 refs (and 1 Microsoft refs for giggles)</li>
<li>Tomboy: <span style="text-decoration: line-through;">36</span> 13 refs</li>
<li>F-Spot: <span style="text-decoration: line-through;">131</span> 32 refs</li>
<li>Do: <span style="text-decoration: line-through;">56</span> 55 refs</li>
<li>Gbrainy: <span style="text-decoration: line-through;">31</span> 25 refs</li>
</ul>
<p>So, that&#8217;s the 5 most popular (give-or-take) Mono applications for Linux. Not a single one of which doesn&#8217;t have a significant amount of references to non-ECMA namespaces. As the <a href="http://www.microsoft.com/interop/cp/default.mspx">Microsoft Community Promise</a> covering any implementation is limited to the &#8220;extent it conforms to one of the Covered Specifications&#8221;, we can <strong>reject</strong> the claim that &#8220;All of the pieces of Mono that are used in Linux apps are covered by the MCP.&#8221;</p>
<p>I will leave it to bolder souls than I to speculate on whether it is even <strong>possible</strong> to write a non-trivial Mono program that does not <strong>require</strong> non-ECMA namespaces and, if so, that limitation is intentional on Microsoft&#8217;s part.</p>
<p><strong>UPDATE 2010.12.16</strong> &#8211; <a href="http://tirania.org/blog/archive/2010/Dec-09.html">Miguel de Icaza responds on his blog</a>, with some additional comments from myself there.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.the-source.com/2010/12/mono-unsafe-at-any-speed/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Ubuntu Making Moves</title>
		<link>http://www.the-source.com/2010/06/ubuntu-making-moves/</link>
		<comments>http://www.the-source.com/2010/06/ubuntu-making-moves/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 23:42:51 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[F-Spot]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[Shotwell]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.the-source.com/?p=928</guid>
		<description><![CDATA[Perhaps it&#8217;s just the sources I have, but it seems even the smallest decision from Ubuntu swamps Linux news. Most of the time this is a wash, but sometimes there is an interesting bit or two. Often it&#8217;s something I don&#8217;t agree with &#8212;  which if I then comment about I am taken to task by [...]]]></description>
			<content:encoded><![CDATA[<p>Perhaps it&#8217;s just the sources I have, but it seems even the smallest decision from Ubuntu swamps Linux news. Most of the time this is a wash, but sometimes there is an interesting bit or two.</p>
<p>Often it&#8217;s something I don&#8217;t agree with &#8212;  which if I then comment about I am taken to task by Ubuntards who regard the slightest deviation from official dogma as unacceptable &#8212; but in this case I&#8217;d like to point out a couple of bits of recent Ubuntu news that I actually like:</p>
<p><strong>Ubuntu Assurance</strong></p>
<p>Canonical has a <a href="http://www.canonical.com/enterprise-services/ubuntu-advantage/assurance">Ubuntu Advantage Assurance</a> program that will &#8220;take care of intellectual property (IP) infringement legal claims brought against customers in their use of Ubuntu&#8221;.</p>
<p>So long as Mark Shuttleworth <a href="http://www.markshuttleworth.com/archives/127">sticks to his guns</a> and <a href="http://en.swpat.org/wiki/Canonical_Group">recognizes Microsofts &#8220;IP claims&#8221; as &#8220;racketeering&#8221;</a>, this program is a good thing.</p>
<p>It shows that Canonical is willing to put money on the line that Linux users need not worry about Microsoft&#8217;s IP FUD, and stands in <strong>stark contrast</strong> to Microsoft collaborators like Novell who strike secretive deals and then leverage Microsoft FUD against other Linux distributions.</p>
<p>There is a dangerous side here, because <strong>this program is only good so long as it operates without any sort of agreement with Microsoft</strong>. I expect we will see Microsoft come after this program from a couple of different angles as Canonical increases its corporate presence.</p>
<p><strong>Out, damn&#8217;d F-Spot! Out, I say!</strong></p>
<p>Word on the street is <a href="http://www.techdrivein.com/2010/06/meet-shotwell-f-spot-replacement-for.html">F-Spot is out and Shotwell is in</a> for the next release of Ubuntu.</p>
<p>It&#8217;s always been obvious to me that the so-called &#8220;best-of-breed&#8221; Mono apps were anything but, and it&#8217;s nice to see that Team Apologista spin isn&#8217;t getting the job done any longer.</p>
<p>It&#8217;s always struck me as seventeen kinds of absurd that a simple note-taking application can justify bringing in a huge run-time framework &#8211; and the after-the-fact rationaliztion of adding <strong>more</strong> Mono apps &#8220;since we&#8217;ve already paid the price&#8221; was a PR dance worthy of Team Apologista&#8217;s Redmond Puppet Masters.</p>
<p>Of course, Mono infestation is not purely an Ubuntu problem &#8211; GNOME has deep shame staining its hands in this matter as well &#8211; but because Team Apologista has targeted Ubuntu so hard, it&#8217;s significant -and encouraging &#8211; to see their efforts fail.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.the-source.com/2010/06/ubuntu-making-moves/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>F-Spot Out of Ubuntu</title>
		<link>http://www.the-source.com/2010/05/f-spot-out-of-ubuntu/</link>
		<comments>http://www.the-source.com/2010/05/f-spot-out-of-ubuntu/#comments</comments>
		<pubDate>Fri, 14 May 2010 04:10:26 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Free Software]]></category>
		<category><![CDATA[F-Spot]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.the-source.com/?p=901</guid>
		<description><![CDATA[Fantastic news! I first caught wind of this from I&#8217;Been to Ubuntu: F-Spot has been voted off the island by developers at UDS this week. The Mono application will be replaced by Shotwell, written in Vala. Since the only other Mono application I see in the default install is Tomboy, would it make sense to conspire to kick [...]]]></description>
			<content:encoded><![CDATA[<p>Fantastic news!</p>
<p>I first caught wind of this from <a href="http://blog.ibeentoubuntu.com/2010/05/f-spot-is-gone-now-can-we-get-rid-of.html">I&#8217;Been to Ubuntu</a>:</p>
<blockquote><p>F-Spot has been voted off the island by developers at UDS this week. The Mono application will be replaced by Shotwell, written in Vala. Since the only other Mono application I see in the default install is Tomboy, would it make sense to conspire to kick Tomboy Notes off the show next week and Mono off the CD the following episode?</p></blockquote>
<p>I&#8217;d like to find the discussion and &#8220;official&#8221; documentation behind this.</p>
<p>I think there&#8217;s that new brain game, gbrainy,  in by default as well?</p>
<p>I&#8217;m not as optimistic that if Tomboy were the only app it would lead to Mono removal &#8211; after all, Team Apologista used Tomboy as sole justification for Mono inclusion for a long time. </p>
<p>Furthermore, when you consider the personal vilification of GNote&#8217;s originial developer by many of the same people, I think it is quite clear that a certain segment (the majority?) of Mono supporters are not arguing from a rational position.</p>
<p>Instead, I predict they will both resist replacing Tomboy with GNote, as well as continue to attempt to replace existing FLOSS offerings with Mono-encumbered &#8220;alternatives&#8221; (a la replacing Rhythmbox with Banshee). I also expect the most trivial programs to slide in (like gbrainy) , so Team Apologista can pretend like Mono is a valuable framework.</p>
<p>People see that including an entire framework for the sole purpose of supporting one trivial application (like sticky notes) is ludicrous on its face, so don&#8217;t expect Team Apologista to let things get back to that state without a fight.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.the-source.com/2010/05/f-spot-out-of-ubuntu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Another win for best of breed software in Ubuntu</title>
		<link>http://www.the-source.com/2010/03/another-win-for-best-of-breed-software-in-ubuntu/</link>
		<comments>http://www.the-source.com/2010/03/another-win-for-best-of-breed-software-in-ubuntu/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 04:53:01 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[Novell]]></category>
		<category><![CDATA[F-Spot]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.the-source.com/?p=545</guid>
		<description><![CDATA[Blast from the Past This is just something I think is funny.]]></description>
			<content:encoded><![CDATA[<p><strong>Blast from the Past</strong></p>
<p><a href="http://www.omgubuntu.co.uk/2009/11/poll-do-you-use-f-spot.html">This is just something I think is funny</a>.</p>
<div id="attachment_546" class="wp-caption aligncenter" style="width: 219px"><a href="http://www.the-source.com/wp-content/uploads/2010/03/poll.gif"><img class="size-medium wp-image-546" title="poll" src="http://www.the-source.com/wp-content/uploads/2010/03/poll-209x300.gif" alt="" width="209" height="300" /></a><p class="wp-caption-text">&quot;Best of Breed&quot;?</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.the-source.com/2010/03/another-win-for-best-of-breed-software-in-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

