Yes, I'm sure that Adobe will have no problem with him using their library in his program that he gives out to all his friends and clients.

The Flash player? Go right ahead: "Adobe provides a free license to allow you to redistribute Adobe Flash Player or Adobe Shockwave Player on your company's intranet, or with your software product or service." (here)

Ditto the XAML solution: the render is included in.NET 3.

The pragmatic reality, to borrow your phrase, is that more people have a Flash player installed than an SVG renderer.

This doesn't solve the problem of an activation server for the OS. You boot into your VM and it can't activate because the server is non-existent. Any problem you have with open source software is magnified 10X with closed source.

So activate it before you archive it?

I still don't think re-using a 15-year old VM is non-trivial though. Why is porting the VM software easier than other software?

It's not just the source itself. OpenOffice has a really nasty slew of dependencies. Do you see all of those, and all of their interfaces, still hanging around in 15 years? As it stands now you'll struggle to build recent OpenOffice on RHEL4, say, which is still widely in use - e.g. it needs a dbus API version you can't supply without upgrading half the OS packages beyond EL4.

And I don't think having the source is necessarily any help - you can't get a contributor-standard understanding of any large codebase overnight, and OOo is huge. Certainly not a job for a novice. Our hypothetical coder in 2025 would do better reading the format documents.

So, clearly, they had some reason for wanting to make the change. I'm guessing that that reason, whatever it is, didn't just vanish.

The previous blog entry explains the reason: when you post your data it spills over to your friends accounts via inboxes etc. When you delete your account they don't want to have to hunt around all of your friends' and ex-friends' accounts to clean up all of that data, and they don't want to get in a legal mess by not cleaning it up.

I'm not sure I buy that completely: unless I use Facebook's messaging to send my email address say to a friend then it will only ever be stored against my record and deleting my record should clean it all up. And deleting all messages I created, and all notifications generated by my account should clean up the rest.

Lately there has been a huge push by Certified Microsoft Professionals and their companies to call (potential) clients and warn them of the dangers of open source.

I am a Microsoft Certified Professional and I work for a Microsoft Gold Certified Partner company. I'm not aware of any push nor have I seen material from Microsoft to encourage / support us making this push. Citation needed.

I mean, can you seriously name one product that's come out of MS R&D that counts as a success (discount anything that's a blatant knockoff of a pre-existing product, embrace and extend/extinguish is not R&D)?

It's not a runaway commercial success but Office Roundtable is a very neat gadget that came from Microsoft Research - it's a 360 degree videoconferencing camera which intelligently tracks the current speaker. We don't really need videoconf here but if I could justify one I'd get one:-)

Don't port, write portable using libraries that were made for that purpose.

In an ideal world, sure, but it doesn't usually work like that. Portable libraries, where they exist, don't always have all the function you need. They don't always expose everything in a completely platform neutral way e.g. because the hardware drivers underneath have subtle differences in the way they handle things. They sometimes have bugs themselves. etc. (I'll concede I haven't done this for games but I have written more mundane apps portably.)

Bottom line: you can't assume something will work unless you explicitly test it. Sure, testing one platform will catch common bugs but you still have to playtest the game thoroughly on all platforms after you've fixed the common bugs.

Some bugs are instantly visible (e.g. code won't even compile) on some platforms and cause only hidden damage on other platforms.

Now hang on a minute - that'd only be true if you're using different compilers on each platform and that isn't something you can take lightly. Even switching between different versions of the same compiler can be a significant porting effort - you can't just assume your code will compile and work on three separate compilers for free.