OK, so I have Fedora running on my main machine (the default GNOME install), more on that later. First I need to understand some basic principles of Yum.

I have Firefox and everything is dandy. I wanted to watch a YouTube clip so I installed gnash-plugin.

Then I wanted to remove it because it wasn’t performing particularly well, but I want to also remove dependencies it has pulled in, leaving my system in the same pristine state it was in before I installed it.

So how do you do this?

I installed the package gnash-plugin with the command:sudo yum install gnash-plugin

This pulled down three dependencies: agg, boost and gnash itself.

What’s the correct way to remove gnash-plugin and all the dependencies?

If I run:sudo yum remove gnash-plugin
Then it wants to only remove the gnash-plugin package itself, leaving all the dependencies. Fair enough.

If I run:sudo yum remove gnash
Then it only wants to remove the gnash-plugin dependency and leaves the rest. Also probably fair enough.

If I run:sudo yum remove --remove-leaves gnash-plugin
Then it wants to remove all the dependencies plus some others which were not brought in by gnash-plugin like Firefox.

Miguel de lcaza has written on his blog about Microsoft’s announcement to include C# and CLI under their community promise.

The promise itself aside, Miguel has announced something very interesting, Novell will be separating the Mono C# and CLI parts which are covered under the promise from the rest of their .NET implementation which is not.

He writes:

Astute readers will point out that Mono contains much more than the ECMA standards, and they will be correct.

In the next few months we will be working towards splitting the jumbo Mono source code that includes ECMA + A lot more into two separate source code distributions. One will be ECMA, the other will contain our implementation of ASP.NET, ADO.NET, Winforms and others.

So there you have it. Mono itself does indeed implement more technology than just C# and CLI (we all knew that) and those extras are not covered under this “promise” from Microsoft (obviously). They still pose a significant risk to free software (and so still might C# and CLI, but that for another day).

The good thing about this is that distros (if they aren’t already) can more easily leave out all the extra .NET stuff from their Mono implementations, which is good news.

If you are going to write .NET applications, I think it would be smart to stick to C# and GTK.

This promise from Microsoft vindicates the anti-Mono crowd’s point of view as it shows that there is/was an issue around patents, even for CLI and C#. For this promise, pro-Mono people should be thanking the other side.

Of course, when it comes to the promise itself, I’d like to see the word “irrevocable” put in there somewhere. No doubt over the next few weeks we’ll see people far more intelligent than I doing some analysis on the promise and what it really means for free software.

VP of Product Management at Google, Sundar Pichai, has just announced Google Chrome OS, which is slated for release later this year. According to the post, consumer products will be available next year.

The operating system is designed for life on the web and will run a Linux kernel with a new interface, and Chrome of course. The code will be open sourced later this year.

The software architecture is simple — Google Chrome running within a new windowing system on top of a Linux kernel.

This is perhaps yet another nail in the Microsoft coffin.

The operating systems that browsers run on were designed in an era where there was no web. So today, we’re announcing a new project that’s a natural extension of Google Chrome — the Google Chrome Operating System. It’s our attempt to re-think what operating systems should be.

Google is targeting both Intel and ARM based netbooks with the operating system, but will work on desktop support also.

It is important to note that, under the Community Promise, anyone can freely implement these specifications with their technology, code, and solutions.

You do not need to sign a license agreement, or otherwise communicate to Microsoft how you will implement the specifications.

Just when (or if) this will happen is not yet clear, nor is whether it will hold any water. Still, it could be the one step to help ease the current patent issues in Mono in relation to C# and CLI (the rest of the Mono implementation of .NET remains under threat however).

Gotta laugh at this from Microsoft’s promise, though:

This promise by Microsoft is not an assurance that either (i) any of Microsoft’s issued patent claims covers a Covered Implementation or are enforceable.