J-F Bilodeau's Blog @ chronogears.com

Sunday, June 7, 2009

Bing Ding? Microsoft vs. Google

Microsoft unleashed it's new Google killer called Bing. At first glance, Bing is remarkably like Google, and seems to work fine with Firefox on Kubuntu 9.04.

Of course, I had to put the engine to the test, and try a couple of searches. Similar to Google, Bing offers suggestions as you type. However, the suggestions seem remarkably biased. Take a look at the followings suggestions after entering Linux as a search criteria.

Google:


Microsoft:


Looking at Microsoft's own product, you can't help but feel that they're trying to sell you Vista instead of encouraging you to wait for Windows 7.

Google:


Microsoft:


As nice as Bing is, I predict that ultimately, it will fail. Not because of any technical or financial reason. It will fail simply because it will not serve the needs of the majority of surfers.
Here's why. Try the following search.

Google:


Microsoft:


Oups? Where are the suggestions? Porn does not give any results either. Shucks! Looks like Microsoft is on the prude side.

Labels: , , , ,

Thursday, December 11, 2008

The State of the Operating System Market

Here's exiting news. For the first time in 15 years, the Windows market share fell below 90%. On the upswing is Mac OS X with 8.87% of the market, and Linux at 0.83%. Source

These numbers are important for a number of reasons. For starters, Microsoft is gradually loosing it's grasp on the operating system market. Apple is doing a fantastic job of nipping Microsoft's monopoly.

As for Linux, you may noticed that it enjoyed 0.93% market share in August. I suspect this has been due to the release of UMPCs like th Eee PC. As the fad cooled down, chances are the sales cooled down as well. However, while visiting Future Shop on the weekend, I saw five UMPC with two of them running Linux. That's a 40% market share for Linux just there ;). As I predicted earlier, the rise of cheap computers will continue to hurt Microsoft as they are struggling to compete against free and open operating systems.

To put the numbers in perspective, here's a little report I put together with my trusty OpenOffice Calc:


A couple of interesting trends to notice.

Windows has been steadily loosing ground. This year alone, they've lost 2% of their market share. The year before that, 1.94%. Ouch! I can see why Microsoft was in a rush to deliver Vista. They needed something to help them regain the ground that they are loosing to other operating systems.

Apple has more than double their market presence over nearly five years. I personally attribute this to Mac OS X and Steve Job's marketing genius. Mac OS X is a true Unix operating system with a gorgeous interface slapped on top of it. This means that newcomers to computer have a system which is simple and inviting, while power-users have a solid Unix machine to hack. Personally, I feel that this has been a stroke of genius on Apple's part. Instead of re-inventing the wheel, or adopting Windows, they took advantage of FLOSS to custom build a rapidly growing operating system that is leaving Windows in the dust.

Linux is still barely a blip on the radar, but is still growing. Between this year and last year, Linux enjoyed a growth of 30%. I feel that this is important, since Linux is already well established on the server, but is struggling to gain traction on the desktop. I'm of the opinion that this increase is due to the UMPC explosion earlier this year. Linux is slowly by steadily spreading to the desktop.

What remains to be seen is how next year will play out. Windows 7 is due out in mid 2009, and sounds like Microsoft may actually get this one right. I don't expect to see the same level of anticipation as there was with Vista, since Windows 7 sounds like the Windows Vista that customers where expecting to get in the first place.

Linux has definitely penetrated the market. It is becoming more and more of a household term but retains a mythical aura. It has become one of those buzzwords that folks like to throw in conversation.

I'm a very poor prophet of the future, but I would like to predict some exciting movements next year. I believe that Mac OS X will continue to climb. I suspect that Linux may drop a bit, now that the UMPC buzz is dying down. Windows may regains some of it's share. I would even go so far as saying that Windows' market share will remain stable next year — that is, no significant drop or rise.

However, in the years to come, as cell phones are starting to overlap desktop computers in terms of functionality, I suspect that this is where we will see Linux shoot up. Reading about the buzz on Windows 7, I'm getting the impression that Microsoft is positioning Windows to be a competitor not to Linux or even the Mac OS X, but for the iPhone. Unfortunately, I don't think they are going the right way about it. Microsoft's vision seems to be focused on the tablet PC. Windows XP running on a tablet PC was introduced in 2001 by Bill Gates. However, seven years later, tablet PCs failed to make a dent in the market.

The reason tablet PC have not replaced laptop is due their limitation. As cool as they look, they are nowhere near as useful as a regular laptop. For instance, most do not have a keyboard, or a cover for the screen. Also, a tablet PC cost considerably more than a regular laptop. As for competing with cell phones, a tablet is simply too bulky to haul, and whip out whenever you need it. Thus, the tablet PC is not the best of both world. It's just an expensive toy.

I have no doubt that multi-touch displays a-la-iPhone will become de facto in a few years. But once again, Microsoft is playing catch-up since Apple has already invested heavily in the technology, and has already benefited from the fruits of their research. Linux is also multi-touch aware, and I'm looking forward to seeing what the community builds with the technology.

One more OS to note is OpenSolaris. When Sun Microsystem initially decided to open-source their flagship operating system, I was skeptical. My original impression is that Sun was hoping to breathe back life into the venerable but ailing SunOS before it sputtered and died. To my surprise, it looks like OpenSolaris could quickly become competition for the likes of Ubuntu. As much as I like Linux, I'm please to see solid competition on the horizon. I would go as far as to say that OpenSolaris is an operating system you may want to keep your eyes on.

Labels: , , , , , , , , , , ,

Wednesday, July 30, 2008

Having a Microsoft Day

What a day yesterday.

I had the dubious pleasure of delivering a SharePoint 2007 development course. The course was set on a Windows Server 2008, running SharePoint, IIS, SQL Server, Visual Studio and Office 2007.

My training career spans more than 10 years, and I've seen courses that went smooth as silk and courses that went terrible. However, I have never encountered a course as difficult as the one I just delivered.

A couple of crashes is to be expected, but to have Internet Explorer 7 crash every five minutes (literally!), and Visual Studio crash at least two dozen times and IIS blow up for no reasons is something I have never seen. As for the overall performance, let's just say that the course made very powerful machines look rather wimpy.

At least the participants had a chance to learn what they came to learn, and left reasonably satisfied. On the other hand, I'm not satisfied, since I know the course could have gone much more smoothly.

Oh well, it's water under the bridge and another nasty Microsoft story to add to my bible. for now, I'm back with my Linux machines, where souped-up hardware is not necessary to gain decent performance. Things work. I'm happy.

Labels: , ,

Thursday, June 26, 2008

How Microsoft Won and is Loosing



Steve Ballmer had it right. Developer developer developer!

The prime reason why Windows won over OS/2, the MacIntosh and even MS-DOS was thanks to the mighty influx of application that crept up for the OS. And the only way that those applications existed was thanks to developers.

Thought the Windows API are not the most graceful API I've encountered, they were reasonably well documented. I learned the Win16 and Win32 APIs mostly by reading the MSDN help files.

Using the simple tactic of ensuring that developers would favour the Windows platform early on, Microsoft achieved dominance in the operating system market.



But what is happening today? Balmer has been singing a different tune for the past few year. Since the rocketing rise of Microsoft's stocks capped in 2000, the behemoth is now struggling to pierce new markets while retaining their heavy monopoly.

It's interesting to see Microsoft running like a chicken with it's head cut off. Vista is a disaster, they are still loosing money in their search and gaming division and .NET is barely making a dent in the Java marketplace. Let's not even mention their iPod killer: the Zune.

If it wasn't for the near monopoly on Windows and Office, Microsoft would be hemoraging money faster than the speed of sound. BANG! Bankrupcy before they know it.

I think the reason is pretty clear. Microsoft is now spitting in the face of the very people that brought them to where they are: the developers.

Balmer himself said that he would like open source innovations to happen on Windows. However, he seems (or chooses) to be clueless about the free software philosophy.



Balmer can push all he wants, but he should realize that developers are usually intelligent folks. Many open source developers are quite brilliant. I do believe that most developers can smell bullcaca when it is spewed out of someone's mouth.

Genuine honesty free of marketspeak is not something you often hear from Microsoft!



It's certainly not by forcing proprietary software or standards down the FOSS developer's throat that Microsoft is going to win any friends. Neither is it going to give developers the desire or even the posibility to innovate.

Personally, I like computers to work for me and not the other way around. That's one of the many reasons I don't use Windows &mdash I cannot stand an OS that thinks it can tell me how I should work.

Labels: , , , , ,

Friday, June 20, 2008

ODF is the Winner: Microsoft

I'm kinda worried when Microsoft themselves declare that ODF is the clear winner in the OOXML-ODF war.

However, I think I can agree with Microsoft. The whole ISO/OOXML saga gave ODF a huge boost both in terms of popularity and credibility. This means that more people and organizations are aware of ODF than ever before.

I've long learns not to take anything Microsoft says at face value, so I'm a bit concerned about the statement. Maybe the statement is genuine, but I can't help but think that Microsoft has something up their sleeve. Until they display they ace, I'll keep my eyes and ears open.

Labels: , , , , ,

Thursday, June 12, 2008

Microsoft and Québec

"Vive le Québec Libre!"

I'm both honoured and weary of Microsoft's reach in Quebec.

The honour comes from the fact that Microsoft is calling their next version of Windows Embedded 'Quebec.' It's nice to see Canada recognized again.

However, using Canadian landscapes to win me over. Things like recognizing the GPL and supporting standards (instead of redeveloping them) would make me look at Microsoft again.

I'm also weary of Microsoft and their deal with the government of Quebec. Microsoft recently objected public access to the deals, since it would "likely risk to cause serious prejudice to our client and would procure the competition an appreciable advantage and would substantially undermine the competitivity of our client."

What I find interesting is that both IBM and Novell had no quorum against exposing the deal. So, what does Microsoft have to hide? What kind of prejudice would it place on the government of Quebec? If Microsoft feels that if would procure a appreciable advantage to their competition, does that mean that Microsoft has priced their products well above that of their competitors? What else was in the deal?

I'll keep my eyes on http://blogs.savoirfairelinux.net/cyrilleberaud/ and see which way this story goes. I'm sure it worth it!

"Vive le Québec Enchainé!"

Labels: , , , ,

Monday, June 2, 2008

The MS-OOXML Standard

Venezuela appealed OOXML as well, following the lead of South Africa, Brazil and India. Norway has also filed a letter of protest.

Though the news is interesting, what I find even more interesting is that it seems that even discussion of OOXML usually leads to Microsoft and/or Office.

The reason why I find this interesting is that no other companies are ever mentioned as direct benefiters beyond Microsoft. If the standard is truly a standard, why is only one company's name attached to it.

It's true that Microsoft created the standard, but why is Corel or Apple — supposed backer of the standard — never mentioned? Why are so many headlines along the line of 'Microsoft looses OOXML war?'

I don't know about you, but that tells me that there is only one company that stood to win from OOXML, and that's Microsoft. Let's face the fact: Microsoft did not create OOXML out of the goodness of their heart, or with inter-compatibility in their mind. OOXML was simply another tool in their lock-in arsenal.

Though ODF, MS-OOXML's so-called competitor was created originally with OpenOffice in mind, it has grown and evolved thanks to their own standardization process. Companies like IBM, Novell, Sun Microsystem and Google all participate to the development of ODF.

In the case of OOXML, who gets to participates in its future development?

Here's a hint

This is one of the many reasons I cannot support any Microsoft-controlled technologies or standards. No matter how 'open' they claim to be, Microsoft develops in secrecy, and announces specific features as they are getting close to completion. This ensures that any competing project continuously have to play catch-up with Microsoft. The standards controlled by Microsoft are pegs in the sand, and it's Microsoft that chooses where to put those pegs.

Who wants to play a game against an opponent who is also the referee?

Labels: , , , ,

Sunday, June 1, 2008

Good News All Abound

Yay!

OOXML has been formally appealed by South Africa, Brazil and India. Microsoft has announced that they will support ODF 1.1 in Office 2007. However, they will not even support OOXML until the next version of Office.

To keep up with the good news, Internet Explorer 8 will finally be standards compliant. As a web developer, this is such a relief! No more double standards for web pages.

Furthermore, thanks to the success of the Eee PC, Linux is becoming more and more ubiquitous. Desktop Linux is, in my (no so) humble opinion at a level that is above that of Windows and the Mac. Not only do you have choice, but if you compare the ease of use of Gnome or KDE, I think that Linux is a powerful contender. The only obstacle that remains is education. Windows users need to unlearn things like C:\ drives or the pain of running setup programs.

Finally, even Novell is reporting success in the Linux front. I took the plunge and installed Novell's openSUSE, and thus far I'm greatly enjoying it. As much as I like Ubuntu, I would hate for a single Linux distribution to become the 'defacto standard,' just like I would hate to see Gnome or KDE displace one or the other. Choice and competition are good.

I'm so excited to see real competition gearing up in the world of informatics. I'm afraid that the Microsoft monopoly has set us back a number of years from where we could be in terms of technology. For example, it if hadn't been for Internet Explorer slowing the adoption of standard HTML, then CSS, where would the web be now?

Oh well. That's water under the bridge. Now that we are freeing ourself from the Microsoft stranglehold, who know what real innovation we are going to see in the world of computing.

Labels: , , , , , , , , , , ,

Tuesday, May 20, 2008

Windows Vista is No Help

Since my work laptop is being repaired, I have the pleasure to work on another laptop running Windows Vista. I feel like I'm working on a poor imitation of Mac OS X that has been designed by a marketing committee. Actually, the whole thing feels like it was designed by multiple committees, each striving to do their best job, but always having to compromise to meet the needs of another committee. Unlike the Mac OS, or a Linux Desktop, it has no personality — no soul. I think that Vista should win the Best Jumble of Ideas with the Worst Implementation Possible award.

Here was my surprise this morning. I was working in Microsoft Access 2007, when I accidentally hit F1. For those who may not know, the F1 key is typically used to bring up the help.

And help it did bring me indeed. Here's the screenshot:

Windows Help and Support: Why can't I get help from this program?

Wow. So, I can't open Office 2007's help on Windows Vista. Did two committees forget to meet?

Here's the official reason why Windows Help is no longer included in Windows:

Ever since Windows 3.1, Microsoft included the Windows Help program (WinHlp32.exe) with new releases. WinHlp32.exe is used to view 32-bit Help files that have the .hlp file name extension. Starting with the release of Windows Vista and Windows Server 2008, Microsoft has decided to no longer include in WinHlp32.exe as a component of the Windows operating system. Microsoft made this decision because WinHlp32.exe has not had a major update for many years, and it does not meet Microsoft’s standards for all new Microsoft programs. Microsoft realizes that this may cause some difficulties for customers who want to upgrade to Windows Vista or to Windows Server 2008 but still rely on 32-bit .hlp files. Therefore, Microsoft is making WinHlp32.exe available as a download from the Microsoft Download Center. (Source)


So, an incomplete product is considered a higher standard than a product that is used by millions of people but has not been updated by the very company that made that product. Wow. I'm sure if I were a Microsoft customer, I'm sure I would feel content knowing that Microsoft is watching out for my best interest. I mean, I'm sure glad Microsoft invested in transparent title bars (that I had to turn off) instead of updating such a crucial component to Windows.

Which brings me back to an earlier question: What the heck is Windows anyway?

Labels: , , , , ,

Friday, May 16, 2008

Microsoft Windows for (Nearly) Free?

This is a follow up to Microsoft Windows for Free?

Shortly after I wrote this entry, a couple of interesting events occurred. As I predicted, Microsoft went ahead to compete with Linux on ultramobile PCs (UMPC) like the Eee PC. They are now offering Windows XP Home for $32 US. It's not free, but it's getting close to cheap. Actually, it's not free in either sense of the word, since Microsoft dictates what it considers a UMPC. The maximum specs are: 1G of RAM, 80G of hard disk space, single-core processor running at 1Ghz, screen size of 10.2 inches and no touch screen capability. Anything higher than that requires the vendor to buy Windows XP at their regular price.

That's fair. It's their product, so they can choose how it's licensed. However, I fail to see how they plan to compete with Linux on this field with those restrictions. Furthermore, the $32 US is only for Windows. This means that if you want Word or Excel, be ready to fork out more money. I'd be surprise that Microsoft would allow the vendors to ship Windows with OpenOffice prepackaged. Have fun playing Minesweeper!

With Ubuntu, I have a full fledged desktop with my office suite. The full install that takes up less disk space than Windows — And the $32 stays in my pocket.

Another interesting event is the fact that One Laptop Per Child (OLPC) recently announced that they would support Windows XP on the XO laptop. What a shame. To me, that alienates the whole concept of the XO — learning. How can they learn in a closed, controlled and censored system that greatly limits their freedom. Some of those children who are growing up in a dictatorship are denied yet another freedom. That is a massive loss for them.

Those poor children are denied freedom in the world of computing to further entrench the monopoly of an American company. I cannot help but wonder what goes on in the mind of folks who are more concerned with buying yet another, bigger yacht on the back of those children.

I remember in the early days that OLPC decided that the XO should only use free software (as in free speech). Thus, both Windows and Mac OS X were refused early on. Steve Jobs, president of Apple, went as far as offering Mac OS X for free (as in beer) for the XO, but was denied, since he would not free (as in speech) the software.

In their 'philanthropic' move, Microsoft is charging about $3 for Windows XP. Of course, that does not include Office or anything like that. Just Windows (Yay! Minesweeper!). Furthermore, to allow the XO to dual boot between Windows and Linux, the machine will cost an additional $7 to make.

Since Microsoft is all about their image, I was surprised that they did not offer Windows for free as Steve Jobs did with Mac OS X. I mean, $3 per copy isn't going to register a blip on Microsoft's revenue radar. So, why?

The only thing I can see is anti-thrust. Microsoft is having enough problems with the EU and the Department of Justice, that they may be reticent to offer Windows for free out of fear that it will be perceived as an anti-competitive move.

Though I may be painting Microsoft as a nasty, greedy ogre, we have to remember that they cannot force people to buy their products. They are doing a fantastic job of both painting their software as the 'only' option and — more importantly — hiding the true monetary cost of buying (and using) Microsoft software.

As long as the average consumer remains ignorant of both of those aspects, they may never realize that there are alternatives — much less of the need for those alternatives.

Labels: , , , , , , , , ,

Monday, May 5, 2008

Thank you Microsoft!

Microsoft is considered by many open source advocates to be the arch-enemy of Linux and free software. I think it's fair to say that Microsoft fears the success of Linux and the free/open source movement. They are doing their best to make compete. However, free software is not their traditional competitor.

Because GNU/Linux is free (as in speech), and is freely (speech & beer) available to anyone, they cannot buy it out and close it as they have done with some past competitor. Because free software is developed by a (tightly or loosely knit) community that may or may not receive corporate sponsorship, they cannot hinder the development. Because the software is free (as in beer), they cannot compete in terms of price. Even Internet Explorer is more expensive than Firefox. Though it may be a 'free' download, remember that you must buy Windows to have Internet Explorer. Thus, as part of what you pay in Windows, you also get Internet Explorer. In other words, Internet Explorer is just another (unfortunately inseparable) component of Windows — not a free download.

Finally, Microsoft cannot compete in terms of freedom. Their End User License Agreement (EULA) determines what you can and cannot do with their software. In the free software world, the license protect both your freedom to use the software, and the freedom of the software.

So, how is a multibillion dollar corporation to compete against the penguin and the likes? FUD is their answer. FUD stands for 'Fear, Uncertainties & Doubt'. Or, in Microsoftspeak, 'Get The Facts.'

In the hopes of driving people away from Linux and free software, Microsoft created a site called getthefacts.com. The site is a direct attack on free software. Though the so-called 'facts' presented by Microsoft are an assault on both intelligence and reason, I think that the biggest looser of the site is Microsoft and a major victory for Linux. For starters, I think that any reasonably intelligent person understand that asking a Honda salesperson what they think of the Ford Focus over the Civic will not get them an unbiased, objective answer. Why should it be any different with Microsoft?

What MSFT may not realize is by setting up getthefacts.com, they have provided immense exposure to GNU/Linux and the free software movement. The website presented free software as a true competitor and alternative to Microsoft products. Folks that had never heard of Linux before are now becoming aware of it thanks to Microsoft. Furthermore, IT directors who rely on Microsoft to keep them up to date with the industry are kindly informed of alternatives to Windows and Office.

For this, I say Thank You Microsoft. There is nothing like corporate backing to promote free software. After all, it's time that Microsoft catches up with the market, and joins the ranks of Novell, IBM, HP, Apple, etc who are all users and backer of free software.

Labels: , , , , , , , , , ,

Monday, April 21, 2008

Beware the Microsoft Poison Pill

As someone who uses mostly free and open source software, I can't help but be wary and cynical of Microsoft's position toward open standards.

If you are wondering why many of the members of the open source community feels that way, here are some facts:

Microsoft is well known for their Embrace, extend and extinguish (EEE) tactic. The moment a standard comes out that is supported by the industry, Microsoft launches their old tactic. They will 'adopt' the standard. Make changes to it that will only work with their software, ensuring that the standard becomes a Microsoft-only standard. Then, when the competition is mostly dead, they drop support for it.

Here are some notorious examples:
  • Refusing to support CSS standard for nearly a decade to ensure that webpages had to be formatted specifically for Internet Explorer.
  • Attempting to break Java's write-once-run-anywhere promise by adding Microsoft-only extensions.
  • Support for Unix applications using POSIX
  • Support for OpenGL to which Microsoft created a competing standard: Direct3D.

Each of the above technologies were once embraced by Microsoft, and most of them have been mostly abandoned. There are many more examples.

Another notorious tactic is to release multiplatform products to accelerate their acceptance as a 'standard,' then abandon support for those products. Examples include:
  • Internet Explorer for the Mac and UNIX.
  • Windows Media Player for the Mac
  • 'Sponsoring' Silverlight on Linux through Moonlight.

In the words of PJ from Groklaw, 'People aren't as dumb as Microsoft needs them to be' and I'm very thankful for that. Sure, there are folks that are strong partisans of Microsoft, paid or not. However, I think that the majority of the world is starting to realize that Microsoft is not all the gold and glitter they pretend to be. The EEE tactic is starting to backfire at Microsoft. For example, Opera has recently filed a lawsuit against Microsoft. In their press release they make mention of the "Embrace, Extend and Extinguish" strategy by name.

But EEE is not the only tactic that Microsoft uses, especially recently. I may not be a fan of Microsoft, but I don't think they are stupid. They are not where they are today in the marketplace out of blind luck (neither are they where they are because of technical superiority). The other tactic used by Microsoft which infuriates me is their total refusal to embrace standards. Be careful, I'm talking about embracing, not extending. Microsoft has split the market countless times by creating their own proprietary standards.

Examples of established standards Microsoft is refusing to support are:
...and the list goes on.

Some may argue that to remain competitive, Microsoft should not have to adopt competing technologies, but that's a fallacy. For starters, many of these standards existed before Microsoft created their competitors. Also, if Microsoft is not required to support 'competing' standards, their competitors should not be required to support Microsoft's proprietary standards either. Hint hint: Mono & Moonlight.

The latest trumpet blow from Microsoft is Open. You've got the Office Open XML, the Open Specification Promise, Microsoft Open License, Microsoft Open Value and even (GASP!) the Open Source Heroes. Now, how many of these so-called open initiatives actually are compatible with the free/open source software philosophy? As usual, Microsoft dances around the real issue: GPL compatibility.

So, how is this new tactic different from EEE? It's not. And that what I want people to realize. Microsoft is in the stage of Embracing and Extending open source. They are attempting to create a powerful divide between the 'Microsoft Open Source' and real free software (à la GPL) so they can move in for the Extinguish stage. I cringe every time Microsoft uses the word 'open' just as I cringe when someone pronounces my first name like that of a popular denim wear. It's not right to my ear. It's an abuse of the language that I'm familiar with. Furthermore, unlike Alanis Morrisette's poetic use of the word ironic, Microsoft is purposely muddying the water of the language to spread a thin layer of FUD jam to conceal their poison pill.

So, next time Microsoft slaps together a marketspeak sentence with the word open strewn in, look up Embrace, extend and extinguish, and think twice before you hop on the bandwagon, because it is not going in your direction. The Microsoft Open Bandwagontm is headed in one direction only — towards 1 Microsoft Way, and the ride can be very bumpy.

Labels: , , , , ,

Saturday, April 19, 2008

Poking a bit of fun at Windows Vista

I was googling stuff while preparing my next article, when I came upon these two hilarious YouTube videos.

The first one shows how desperate Microsoft is to sell Vista to the enterprise market. The next is just too plain hilarious.

Hope you enjoy!



Labels: , , , ,

Friday, April 18, 2008

If it breaks, who do I blame?

A question I get in almost every seminar I present on topics like open source or Linux is: if the product fails, who can I yell at?

In other words, they are looking for a massive, faceless corporation they can call to complain (and sue). In the open source/Linux world, who can you scream at?

I think it's a valid concern ranging from home users to operators managing the information technology infrastructure of million dollars businesses. But is free software really that much of a risk compared to proprietary software?

If you download and install any piece of software licensed with the GPL, you will notice that the license boldly states that the software comes with no warranty whatsoever. In other words, if it breaks, you have no one to sue. Should you go back to proprietary software then?

If a warranty and support is the only reason to use proprietary software, well, you're in for a nasty surprise.

Let's take a look at a couple of commercial licenses:

To paraphrase the Microsoft Windows Home edition EULA, you have no warranty. Should the software not meet your needs, you have 90 days to ask for a refund. Should it cause your computer to meltdown, your claim is 'limited to the greater of the actual damages you incur in reasonable reliance on the Software up to the amount actually paid by you for the Software or US$5.00.'

I would love to peak at the Microsoft Office 2007 License, but it's in an EXE file. Strange that you need Windows to be able to see a license. Oh well, if Microsoft wants to be incompatible with the rest of the world, that's their choice.

The Adobe Photoshop CS3 license is not much more promising. Again, you have 90 days to ask for a refund. After that, you're on your own.

I'm assuming that if you feel that running proprietary software is preferable over open source, then you probably pay for an anti-virus. Here's the McAfee EULA. Aside from the warranty lasting only 30 days, the rest sounds awfully familiar. I don't know about you, but after a while, all licenses starts to sound the same, don't you think?

Just for giggles, let's take a look at one more license from a company that 'thinks different.' Can you guess who? Here's a link to their licenses. Any surprises over here? Not in terms of warranty, but looking at section 2.B, there's a mention of open source software included with the product. So, it seems that some software vendors do take a byte out of the forbidden fruit called open source.

So, are you still convinced that proprietary software offers better protection? But what about service and support agreements, you say? Microsoft will happily lighten your wallet in exchange for a phone number that you can call if you're up the creek without a paddle.

Here's the kicker. If you are in a situation where support is a requirement, that is readily available to you. You need help with your Ubuntu setup, call Canonical. You heard that PHP is a great web development language but want support, call Zend. What's a website without a database in the back end. Let's install MySQL and call Sun Microsystems for a support agreement.

If this is too many companies, you could look at one-stop single-vendor support from shops like IBM, Sun or even Novell.

And hey, if you're looking for friendly, personable support in Ontario or Quebec, call Farstar Networking.

By considering free and open source software as an alternative, not only do you get the complete source code to your application (which you don't with Microsoft), you can also get support. The choice is yours.

I'm hoping that this is a bit of a wake up call. I've seen a number of article discussing the virtues of single-vendor or multiple vendor-solutions. However, it sometimes seems like Microsoft is the only single-vendor solution out there. They may also seem to be the only one who is on solid financial grounds. If that's your opinion, be aware that when you buy Windows of Office, you are subsidizing their Internet and game division, which is known for losing money.

It may be surprising to know that Microsoft is not the only company that is making a profit. Open source is a billion dollar market that Microsoft has not been able to tap. Others are already tapping it.

So, next time you have a need for a new server or home computer, before you hit your quick dial button to Microsoft Sales, how about you place a few calls around. You may be surprised as to how much you can save in the short and long term.

And you can still have someone to blame if it doesn't work. Except you get to keep the code. What more could you want?

Labels: , , , , , , , ,

Wednesday, April 16, 2008

Microsoft Windows for Free?

How is Microsoft to compete? I mean, Mac OS X Leopard is $129 CAD, Mandriva Linux is about ~$80 CAD and Ubuntu is free.

Windows Basic, on the other hand is (GASP!) $199 CAD! And it does not even come with an office suite. You definitely get more bang for you buck with Ubuntu.

This brings me to two big questions.

The first one is: What exactly is Windows? I get a fat DVD which will eat a sizable chunk of my diskspace. It lack drivers for some older and even newer devices, and the closest thing you have to a functional word processor is WordPad. Whoopdidoo. I fell like I'm really getting value for my big, fat $200 dollars. Well, I guess that's Microsoft privilege to charge whatever the hell they want for their operating system. That's the beauty of having a near monopoly.

The second question I have is: How is Microsoft going to compete? Computer are getting dirt cheap. The Asus Eee PC is changing the way people think of laptop in terms of size and price. At the rate prices are going down, more than half of the computer's price will be for Windows Vista Basic. Even now, it is possible to buy a laptop at FutureShop for less that $500 CAD. How much of that $500 goes towards Windows?

At the rate things are going, Microsoft is going to have to dramatically reduce the price of Windows. I personally feel that $200 for a 'basic' version that allows me to surf the web and the privilege to install spyware, is highly unjustified. Especially when I can get a complete system that includes my office suite and development tools for practically nothing.

Or maybe the high price tag is to help support emerging markets? Since Microsoft is so altruistic, they will charge the develop world more to help subsidize Windows for the poor. What a nice robin-hoodish, humanitarian approach...except for the fact that the Robin Hood we are talking about here has more gold in his coffer than all the rotten sheriffs in the world. Furthermore, this Robin Hood is gladly charging the poor.

Once again, since they have a monopoly, it's only natural that they choose how much they charge. For years, it was easy to hide this Microsoft Tax, since a computer typically went for thousands of dollars. Now that computers are barely half a grand and that the price of Microsoft Windows keeps increasing, this tax is quite noticeable. People will quickly realize that an Asus Eee PC preloaded with Linux actually offers a lot more out of the box than the same Eee PC loaded with only Windows.

That brings me back to my first question: What the heck is Windows anyways? What am I paying $200 for?

Labels: , , , , , , ,

Tuesday, April 15, 2008

Hold the Mono, please

Does Microsoft innovate? I think so, but not as much as people think. They are very good at taking existing ideas, and adapting them to work only on their products.

This leads me to the .NET Framework, their competitor to the Java programming language. Java is a programming language that has been around since 1995 and has enjoyed tremendous success in the computing world. Its success is due to a number of factor. Personally, I feel that Java succeeded because it used and encouraged a number of best practices, like forced exception checking, strongly typed language and taking full advantage of object orientation as well as design patterns. Furthermore, Java evolved through the Java Community Process. The JCP is a process managed by Sun Microsystem, the creator of the Java programming language, that allowed interested parties to participate in the development of the language. This means that Java is not the brainchild of solely Sun Microsoft, but also that of IBM, Borland, Novell, and many other organizations. Because many organizations actively participated in the development of the project, this encouraged adoption.

Today, the success of Java is undeniable. There is one company, however, who is directly threatened by Java, and that is Microsoft. One of the early promise of Java was write-once-run-anywhere. That is, you write your computer code once, compile it, and then you can run it on Windows, Mac OS X, Linux, your cellular phone or whatever else you'd like! This is a reality today. I do a lot of Java development, and use a lot of Java programs on Linux, the Mac and Windows.

It works. Microsoft does not like this. They would prefer that applications are written for Windows and stay on Windows.

To achieve that end: enter the .NET Framework. Microsoft created .NET as a response to Java. To compete, they create a language that superficially resembles Java called C#, and a framework that is tooted as write-once-run-anywhere. They even went a step further and got part of the .NET framework standardize with the ECMA.

Just like Java, the success of .NET is undeniable. Let me be the first to say that Microsoft actually came out with some cool ideas. I like LINQ and I think that Workflow Foundation will be an important set of API in the future.

However, I will not develop open-source application with .NET for two reasons:

1. It is not free software. Java has recently been freed by Sun Microsystems. Yay! I hope that this will continue to speed the adoption of Java on Linux. However, .NET is not free. Microsoft owns a number of patents on .NET and has yet to provide a license to their intellectual property that is compatible with the GPL. Until Microsoft opens .NET, I will not touch it with a ten foot pole on Linux.

2. It is not write-once-run-anywhere. It's true that I can create a .NET application on Windows and run it on Linux. However, please repeat after me: .NET is not write once run anywhere. Saying that .NET works on Linux is bullcaca.

For starters, there is a project that is sponsored by Novell (and indirectly, by Microsoft) called Mono which permits the development of .NET applications on Linux. However, repeat after me: .NET is not write-once-run-anywhere. I need to get that into your head. Sure, it looks like it's portable, but here are the problems you will encounter:
  • The API to write GUI (windowed) application is meant to run on Windows. Whatever application is created on Windows with .NET will look good on Windows, but look like crap on Linux. Futhermore, Mono has its own GUI API that is incompatible with the one provided by Microsoft. This means you either create your .NET application to run on Windows or Linux. Say bye-bye to portability. Score 1 for Microsoft!
  • Microsoft is introducing more and more Windows specific API. Just the names of the APIs should give you a clue: Windows Presentation Foundation. Windows Communication Foundation. In other words, Microsoft is making sure that your write-one-run-anywhere investment is glued to the Windows platform.
  • The is no community process. This means that Microsoft has sole control over the direction of .NET. Don't go whining to Microsoft that your gorgeous .NET application looks like crap on Linux and does not work on your Mac. They don't care. Actually, that's a lie. They do care. They care that it runs on Windows and only on Windows. You can expect more and more Microsoft Windows specific API on .NET masquerading as 'open,' 'portable' APIs.
  • You are creating .exe and .dll files. Unlike .class or .jar files in Java, These files are Windows specific. They contain MS-DOS and Windows code. In a Java application, there is not a single line of platform-specific code. That means that Mono has to be able to load a Windows executable on Linux. For something that is supposibly portable, it sure carries a lot of Windows with it.
  • But Linux already has strong support for .NET with Mono! you say? So, why not use Mono? The reason is simple. It's a Microsoft technology. It belongs to Microsoft, and should they decide your Mono application is eating away at Windows market shares, prepare to receive a kind letter from Microsoft politely indicating that since you are using their intellectual property, you owe them $$$.
  • Though I doubt that Microsoft will ever collect open source developer for the use of their so-called intellectual property, I think that the real problem will be that Mono on Linux will forever play catch-up with .NET on Windows. Who wants to use a 'write-one-run-anywhere' technology that is one or two years behind on some important platforms? Either you write a Windows-only application in .NET, or look at alternatives.

.NET exists solely to further Microsoft's agenda. Anyone that chooses to use Mono on Linux is kindly helping Microsoft achieve that agenda. Yes, there are some cool ideas in the .NET framework, but most of those ideas are copied from existing languages. For example, I've been using workflow management API and designers long before Microsoft came out with the Workflow Foundation API.

Before you consider Mono, please take a look at what's available on Linux already. You want true write-once-run-anywhere? Java is one solution. Not good enough? What about Python? Pascal? PHP, C/C++? Need I go on?

Linux is where it is today not because of heavy-handed sales tactics or razzle-dazzle marketing, but by its own merit. Let's continue to develop Linux through it's own merit.

We will not innovate if we follow the Microsoft path — that is, mostly copying what others are doing.

As for me, I think my plate is delicious as it is. I'll hold on that Mono sauce, thank you very much!

Labels: , , , , , , , , , ,

Thursday, April 10, 2008

Three good news

OOXML got voted in at the end of March, but Microsoft has not necessarily won.

I applaud the people of Norway who openly protested OOXML. I hope this is not the last of those protest.

Also, while the EU is investigating Microsoft, a member of the EU Parliament asked that Microsoft be excluded from public procurement. If that motion goes through, that would be a major blow to Microsoft's monopoly.

Finally, Microsoft has 'released' 14,000 pages of 'secret' protocols and APIs. Personally, I see this as Microsoft's attempt at easing the EU's antitrust concern, and also as Microsoft's attempt at locking developers on their platform. Microsoft is not stupid, and know that they need to adapt to the emerging changes and competition facing them. The fact that they release the documentation is not the good news. As I mentionned before, it's just an attempt at furthering their lock-in. However, it's definitely sings that they are feeling the pressure.

Let's hope the good news keep coming!

Labels: ,

Wednesday, April 2, 2008

A Linux Dude Installs a SharePoint Server

Today, I had the dubious pleasure of having to install SharePoint 2007 on Windows Server 2003. Yay!

I'm a Linux user. I enjoy working with Ubuntu amongst other distros. I can setup LAMPs (Linux, Apache, MySQL & PHP|Perl|Python) with my eyes closed. I mean, I spend more time waiting for my package manager to download the packages than I actually spend configuring stuff. All the tools I need are immediately available at my fingertip.

A colleague of mine who is well versed in the Windows world kindly setup Windows Server 2003 on a laptop. He even installed drivers (they don't come with the OS?) and service pack 2. Now, it's my turn!

So, how does one install a package on Windows?

I easily found the 'Add or Remove Program', but quickly learned that it was more along the lines of 'Remove Programs'. I mean, I could only find the option to remove existing packages. There was no option to search for packages to install or how to configure your application repositories.

That's when I remembered that most Microsoft programs come on CDs. I found a CD for SharePoint 2007 in the office. This may not be so hard after all.

Now, with the laptop in one hand and the SharePoint 2007 CD in the other, I'm ready to rock! I slap in the CD, and wait for an install program to pop-up.

Instead, Internet Explorer 6 pops up with a security security warning. Click OK, and I'm brought to a little webpage that contains a confusing collection of links. After I find the link to the SharePoint installation program, it opens Windows Explorer, exposing a file called setup.cmd.

That looks kosher, so I double click on it. Oups! Looks like I need the .NET Framework 3.0, SQL Server 2005 as well as IIS 6.

So, how does one go about installing SQL Server 2005, .NET 3.0 and IIS 6? Why can it not take care of it's dependencies like my package manager on Ubuntu? This seems like a lot of trouble just to install a web application. One of the things that makes Windows so difficult to use it the lack of a solid package manager. Microsoft really needs to work on that before I can take Windows seriously. I feel like I'm back in the stone age where I have to manually download and compile stuff. I can already tell that installing SharePoint 2007 is not going to be a walk in the park.

I didn't chance Add or Remove Program again. I went straight for the CD. Going trough the setup was reasonably painless. However, I'm surprised as the number of steps (screen, windows, whatever) one has to go through just to install a database server. Why can't Windows keep things simple?

Now, onto the .NET framework 3.0. Before I started to look for yet again another CD, I though to myself mdash; there has to be an easier way! Thankfully, I've had enough experience with Windows to know about Windows Update. It took me a moment to find it in the Start menu. There were nearly two dozen updates. This is not concerning to me, since in Ubuntu, I may get dozens of updates for all my installed application (and I have a lot!). However, I'm concerned that the vast majority of my update are security related — and these are only for the OS.

Interesting, Internet Explorer 7 is a recommended update, but .NET 3.0 is an optional update. Nevertheless, I select all recommended updates as well as .NET 3.0. Click the button, and KABOOM! All the updates fail to install. The carefully worded error message recommends that I try again, otherwise, look up troubleshooting in the help.

I try again...and again...and again to no avail. Even a single update fails. So, I click on the convenient URL that links to the help. As convenient as the link seemed, the help was not.

Being in foreign territory, I turn to my Windows guru. After reproducing my steps a couple of time, He recommends a reboot.

Miraculously, rebooting worked! The updates downloaded and installed without problem mdash; except that I had to reboot twice more. I guess they were mostly kernel updates. How often do you have to reboot Windows? I have some server that have been live for over a year without reboot. I wonder if I could do the same with Windows...

I've also noticed that Internet Explorer required a couple of clicks to installs, and performed some work at boot-up. I wonder what kind of browser needs to spend about a minute setting itself up after a reboot?

Alright, so after a few reboots, I now have the .NET framework 3.0 installed. Now, to IIS 6.

This one took a bit of searching around. I found it where I kinda expect to find it but could not see it at first. There a 'button' on the left side that says 'Add Windows Component.' The button brought me to a dialog that I remember from the days when I first installed Windows 95. Digging in there, I found IIS 6.0. Thankfully, I love Java. When I saw Application Server as a category, I immediately clicked on it to see if JBoss or Glassfish was included. My first surprise is that there were not. My second is that IIS is considered an application server. I would have though it's a web server. But who am I to argue with Microsoft?

I select IIS 6.0 (including ASP.NET, which is not included by default), and clicked install. Windows prompted me for the original CD. I could not find a way to change the software repository to use the web instead of the CD. That's kind of annoying. Does that mean I have to carry my Windows CD everywhere I go? I mean, thats three CDs I'm going through.

The installation actually went smoothly. No annoying popups or anything like that. Just like Ubuntu, it installed and configured the server for me. Yay! So now I can install SharePoint!

I double clicked on setup.cmd again. This time, SharePoint complained about having to enable something in IIS 6.0. The popup kindly explained what I needed to do. So, I followed the instruction, which brought me to some kind of wizard. As luck would have it, after the third step, the wizard asked me if I wanted to remove some stuff. I said no, and retraced my steps to make sure I had done everything correctly. The same thing happened second time through. I do wish that Windows was less cryptic so that I could understand what I'm going through. There's a lot of popup windows over popup windows, and the interface is a bit inconsistent. I took a deep breath and continued forward.

Once again, I was prompted for the original Windows CD. After I slap it in, Windows starts installing this 'Active Directory.' It must have been a large package, because it took a long time. Furthermore, it asked me to reboot again! I can setup (even compile) an entire LAMP server with a fully functional GUI from the ground up and never have to reboot. What is it with Windows and rebooting every time you change something?

At this point, my coworker are wishing me good evening. Well, I've had enough of this Windows fad for the day, so I go home, and start blogging. While I'm blogging, I'm going to do something fun. Hardy Heron is out in beta, so I might as well upgrade!

I launch my good-ol' package manager, and click Upgrade to Hardy Heron. The upgrade warns me that it may take a long time to download all the necessary packages, but at least I can continue working while I upgrade my OS. I wonder if upgrading to the new Windows Server 2008 is going to be as easy?

It's always fun trying new operating system. Though Windows seems solid, it still has a number of frustrating quirks. Installing applications should be easier, and the consistency of the interface could be greatly improved. I'm concerned about the need to reboot so often &mdash especially when adding a desktop application like Internet Explorer. There is absolutely no excuse to force a reboot after the installation of a desktop component on a server machine.

I wish Microsoft would borrow a thing or two from Linux and make Windows truly easy to setup and use.

Labels: , , , , ,

Tuesday, April 1, 2008

Frustrating Freedom

Microsoft seems to have won the OOXML ISO vote. I'm very annoyed.

I can't throw away any Microsoft products, since I don't have any at hand. I use Linux and mostly free and open source software. The level of corruption displayed and allowed by ISO has further convinced me of the need for freedom in the world of computers.

There are plenty of articles and blogs out there documenting the masquerade that was allowed to take place world wide, so I will not reiterate.

However, I need to vent on two things.

1. Microsoft is the only company as of yet that has a near implementation of OOXML. Everyone else has to play catch up. By the time that other companies will have implemented the 6000+ pages of incomplete and broken implementation, Microsoft will already be at OOXML version 2. Good luck catching up.

2. There is NO, I repeat NO need for two standards. Backwards compatibility is about the silliest, most bass ackward reason for the existence of OOXML. Sure, there are plenty of documents created in Microsoft's proprietary formats. However, most (all?) of the so-called backward compatibility elements of OOXML are marked as deprecated. Wow! That means that:
a) You do not have to implement those features (So why do they exist?)
b) It is not documented how you should implement those features (Only Microsoft knows)
c) It's a glossy, 'brand new' format, and already we are deprecating some of it's features (Talks about quality, doesn't it)

If Microsoft REALLY cared for interoperability, they would have kindly documented how those features work, and removed ALL proprietary, undocumented, deprecated tags from their half-assed format.

There are many reasons why OOXML should never has been approved by any standard organization. I mean, if the format is so technically superior, why would Bill Gates call presidents of countries around the world to get then to rubber-stamp his format?

I certainly hope that this blows up in Microsoft's face. Their illegal monopoly is hurting computing freedom too much.

Labels: ,

Sunday, March 30, 2008

A Silver Lining?

Though it's clear and sunny here, I feel like there's a dark cloud hanging over us.

OOXML seems to have been 'approved.' This is bad on multiple accounts.

To begin with, this is a standard that would have never made the first round had it been any regular Joe that would have proposed it. Why? It's broken and riddled with issues.

Also, had it not been so desperately pushed by Microsoft, this 'standard' would most likely have been voted down by every nations world wide.

On the other hand, I'm seeing a silver lining in the cloud hanging over us. Microsoft is a brand that is losing it's positive image with corporations. In other words, they do not have the power that they used to have.

Furthermore, the EU said that it will investigate any possible manipulation by Microsoft into the Poland vote.

Poland is no longer the only country that is suspected of having been manipulated. The accusations are many.
  • Germany
  • Croatia
  • Norway
  • Sweden
  • US

...and the list goes on.

My hope is that regulators (including ISO) will take a stand, and expose the manipulation that were done during those meeting. Hopefully, this will once and for all expose how Microsoft is desperate to maintain their illegal monopoly world wide.

Oh, and another silver lining to me, Canada voted no. Yay! I'm proud to wear my country's flag.

Labels: , , ,

Thursday, March 27, 2008

Why Should You Consider Linux?

I'm a lucky man. I've married a beautiful woman with wonderful critical skills. She kindly pointed out to me that I may explain this free software and Linux thing, but nowhere do I emphasize the reasons why I think you should consider Linux.

Let me remedy that.

I believe there are many good reasons why an individual or a business should look at open source software and the GNU/Linux operating system in particular. In this article, I will address a range of potential users, from the end-user (everyday user) up to the IT professional. Some of the reasons will be technical, others social or even personal.

1 - It's Fun
I have a lot of fun with Linux, whether it's trying new software packages like Blender, Eclipse or even Alien Arena, trying a new distribution, or recompiling my kernel for the Nth time. There's so much I can do that I never get bored. Also, none of it is illegal, since the software I use is free as in free speech.

2 - It's Secure
Linux had security built into it from the ground up. Windows had security added long after it was created. Windows XP SP2 and Windows Vista are the first Windows versions to offer true desktop security.
One of the things I loved right away about Linux was the fact that applications cannot be modified or erased by end-users. In Windows, there's nothing stopping you from erasing part of the Microsoft Office or Windows folder. Yikes!
But it's not just a question of whether or not you are able to delete an application folder. The code, being opened, undergoes continual verification. Security problems are usually quickly discovered and corrected. It would be very difficult for someone to add a backdoor to any part of the code in Linux without it being noticed very quickly.

3 - It's Virus Free
Currently, there is not a single virus in the wild that can affect Linux. What I like about this is not just the peace of mind that it offers, but the fact that I do not need to install an anti-virus. You can if you really want to, but I generally tell Linux users not to bother.
(Having worked in the anti-virus industry myself, I'm of the opinion that anti-virus softwares are sometimes as obtrusive as the viruses themselves)

4 - It's (Mostly) Free
You can get a good thing for nothing. Open source software is an example of that. Linux is free (as in $$$) to download and use. The only financial commitment on your part is your Internet time, and maybe the cost of a CD.
Did I mention that you can then give the CD to whoever you want? That's right. It's not just legal to share Linux, it's also widely encouraged. For those that do not have a fast Internet connection, or who cannot burn CDs, Ubuntu offers free shipping of their excellent Linux distribution.

5 - Supports Many Hardwares
A few years ago, the situation was inversed. Windows had more drivers for more hardware. Now, it's starting to change. Windows is dropping support for older hardware, and according to the news, Microsoft will not install Service Pack 1 on Windows Vista machines that use unsupported drivers. Furthermore, when installing Windows and new peripherals, it is often necessary to hunt down and install drivers from the web. From personal experience, it is possible to plug in just about any hardware in Linux, and it's typically detected and ready to use.
Not every hardware is supported by Linux, but then again not every hardware is supported by Windows.
(Gripe: Many drivers in Windows are megabytes, if not hundreds of megabytes in size, and can take over your system. This is typically not the case in Linux — HP, I'm looking at you!)

6 - Supports Older Machines
Distributions like Vector Linux and Xubuntu work great on older hardware that simply will not run Windows Vista or even Windows XP. So, if you need to update from older versions of Windows but your current hardware does not support it, you could consider moving up to Linux instead.

7 - It's Stable
I have Linux machines hosting websites, mail servers, database servers, etc, live on the Internet. I kinda forget they exist because they just work. I rarely have to install patches or upgrade software.
How long have you kept your Windows machine running without reboot? Days? Weeks? Months? In my case, I've had servers up for over a year. Some almost two years. I've lost track.
Here's food for thought. In Linux, the only thing that forces a reboot is to load a new kernel. This is something I discovered the first time I installed Gentoo Linux. After I got my kernel compiled and loaded, I continued to build my machine — I compiled a GUI (Gnome), MySql, OpenOffice, sound driver and a whack-load of other stuff. Only after I had loaded my sound driver did I realize I never rebooted once, yet I had a fully loaded, fully functional machine. I was sold!

8 - It's Flexible
Why is it that Internet leaders like Google, Amazon and Wikipedia run Linux? I'm willing to bet that one of the reasons is its flexibility. Since Linux is free software, an organization can endlessly tweak it to suit its very specific needs. The success of Linux's flexibility is also noticeable in the fact that it is available anywhere from hand-held video-game consoles to cell phones to 85% of the world's super computers (Did you notice that Windows' super computer presence is barely 1%. Now, why would that be?).

9 - Free as in Free Speech
Following the idea of flexibility, we should not forget that Linux is free — as in freedom. It is your operating system. You can use it to do whatever you want. Don't be fooled into thinking that Windows gives you the same freedom. I challenge you to compare the terms of the GNU GPL to that of the Windows EULA. Decide which one gives you more rights.

10 - Community
There is a vast and expanding community behind Linux. It started as a community project that is now sponsored by large corporations like IBM and Sun Microsystems.
This community is visible in forums, newsgroups and mailing lists. Though the discussions can sometimes get nasty, most participants desire one thing: to continue the betterment of Linux. This community crosses all national and cultural boundaries.
To get a sense of the community, I invite you to take a peak at Ubuntu forums. You can freely browse without having to register.

11 - Altruism
Linux is developed by countless volunteers around the world. True, some developers make a living writing code for Linux, but without this mostly anonymous army of developers, testers, writers, translators and users, Linux would not be where it is today.
By using it, you are starting to free yourself from Microsoft's illegal grasp over the software world and are rewarding the community that helped bring Linux to where it is today. I'm sure there's nothing more rewarding to those countless individuals than to know that their contribution, minor or otherwise, is appreciated. Furthermore, you are encouraging freedom in the world of computing.

12 - Helping Developing Countries
I live I Canada, and I enjoy a wonderful quality of life, and I only realized how spoiled I am when I had a chance to visit Guinea in Africa. I realized that most folks who are considered 'poor' in my country would be considered quite wealthy in Guinea.
This said, not everyone in the world can (and should) pay Microsoft's tax. The added cost of Windows and Microsoft Office represents a large portion of a new computer.
OMGWTFBBQ!!!!!! I just went to the Microsoft website to check the price of Windows and Office for comparison. $259 for Windows Vista Home and $499 for Ultimate??? I must be living in isolation, because I can't imagine anyone wanting to pay that much just for fancy graphic effects (that Linux already offers). Half a grand for Ultimate? What is Microsoft thinking? I remember paying $99 for Windows 95 fourteen years ago, and I felt that the changes between Windows for Workgroup and Windows 95 was worthwhile. But $259 for a crippled and crippling operating system?
And if that's not bad enough, what about $539 for Office 2007? I don't even want to look at the price of Office Ultimate. (Ok, I did look at the price. Ouch!)
I'm sorry, but that's a total ripoff. This is what happen when a greedy company acquires not one but two monopolies. Do you realize how much of your taxes go to Microsoft? I shudder to think...

Ok, back to the point I wanted to make:

Helping Developing Countries - Second Try
Projects like the One Laptop Per Child are allowing children in developing nations to expand their horizons and join in the wealth of information that is available on the Internet.
I think that the XO is a wonderful piece of work, and I wish that even Canadian children could get a chance to work with it. One of the features of the XO I find amazing is the ability to view and modify the source code of the application they are working with. Talk about a total learning experience!
Such great philanthropic projects are only available thanks to free(dom) software like GNU/Linux, Open Office and many others. Not only is the software free as in free beer, it is free as in free speech.
By using Linux and participating in the communities, you help refine an already excellent product so that the whole world can take advantage of what computers have to offer.
Some Microsoft users point out that Microsoft and the Bill & Melinda Gates Foundation do participate in philanthropic projects — but why are they trying their darndest to stop the propagation of Linux to developing countries? It doesn't sound like they care much about what's best for those children to me.

13 - Popular
You have probably already used at least one device that runs with Linux or some open source software without realizing it. It's everywhere. The moment you hop on the Internet, the information that makes its way to your machine probably passes by half a dozen Linux machines along the way.
By the way, Asus, Dell and even Walmart have started selling PCs with Linux preloaded. Compare the prices with PCs that come with Windows preloaded. Do I need to spell out why those machines are less expensive?

14 - It's Easy
Yes, you read that correctly. You no longer need to be a hard-core computer programmer who is not afraid of bits and bytes to use Linux. Quite the opposite. Thanks to great projects like Ubuntu as well as desktop like Gnome and KDE, using Linux is as easy &mdash if not easier than Windows.
Now, just to make sure we understand each other: I'm stating that Linux is as easy to use as any other modern operating system. I'm not saying that Linux is like Windows. In other words, there is a learning curve — just like there is for Windows. To get you started, please read Is Linux Like Windows?

There you have it — some of the reasons why I'm a die hard Linux user, and reasons why I think you should consider Linux as well. If you are already a Linux or open source user, why do you use it? Did I miss anything?

In a future post, I would like to show you how you can try Linux risk free.

In the meantime, spread the word. It's time that everyone realizes that Microsoft is not the only player in the world of computers and that there are alternatives to their products. If you think that Microsoft is the best thing since sliced bread, please do your research. You may find that beneath Microsoft's glossy packaging, there's a lot of ugliness. But just to be fair, here's the same for Linux.

Hope you have a great day!

Labels: , , , , , , , ,

Tuesday, March 25, 2008

OOXML is a Bad Thing

Don't let Microsoft razzle-dazzle you. OOXML — the 'new' Microsoft Office format they are trying to push throught — is only good for Microsoft. Let me make that clear:
  • It is not good for customers
  • It is not good for business
  • It is not good for developers

The only entity that is bound to win with OOXML is Microsoft. The reason is, there is already a office file format that is certified by ISO called ODF (Open Document Format). It is presently supported by OpenOffice.org, KOffice, and many other suites.
Why is ODF not supported in Microsoft Office? It's not because of technical limitation. Office supports file formats that are technically inferior to ODF like RTF and HTML.

Product and business competition is good for the customer. What would the world be like if you could not choose your car manufacturer (Ford, Honda, BMW, etc), your computer manifacturer (Dell, HP, Levono) or even your gas station? First of all, everybody would be riding the same car painted any colour as long as it's black. You could buy any computer that you want as long as it's a Dell. How little do you think Honda would charge for the Civic if it was the only compact available?

Microsoft has had an illegal monopoly in the world of operating system, office suite and web browser. In the past ten years, the changes that we have seen to their product has been minimal. However, as soon as the competition heated up, notice how much work Microsoft suddenly places in their product:
  • Windows XP -> Windows Vista thanks to Mac OS X
  • Microsoft Office 200X -> Microsoft Office 2007 thanks to OpenOffice.org
  • Internet Explorer 6 -> Internet Explorer 7 thanks to Firefox

These innovations on either side were born out of free competition.

However, competing standards are bad, especially for customers.

Not good for Customers
Imagine a world where there are two CD formats. Two DVD format. Two gasoline types. How would the customer benefit from that? Well, the customer would have to make darn sure that they buy CDs that work with their CD players. Otherwise, they have spend money on a CD that cannot be used.
And what if that said customer purchased another CD player that is incompatible with the first. They can kiss their whole CD collection goodbye, since it won't play in the new player.
Sounds unlikely? It happened very recently where Sony & Microsoft (amongst many other companies) developed two standards: Blu-Ray vs. HD-DVD. Some customers spend thousands of dollars equipping themselves with HD-DVD, only to watch their market collapse, and their investment dissappear. Yes, they can still watch the movies their purchased, but no new movies will be released in HD-DVD.
Do you want the same thing to happen with your documents? Microsoft have changed the Office file format numerous time, and newer versions of Microsoft Office are sometimes unable to open files created in older version.
Who benefits here? The customer, or Microsoft. Hint: Who gets the money at the end of the day?

Not good for business
It may be a good news for developers looking for a job because now there are TWO file format to support. But what about the cost of doing business? Some clients or supplier may want to work with ODF. Others with OOXML. That pretty much doubles the development cost and time.
Of course, a company could alienate customers and suppliers by requesting a single format, but again, I don't think this is a sound solution.
There exists converters for one file format to another, but none are perfect. None can be perfect. Here's a simple experiment for you: Convert an MP3 to a WMA back to an MP3. What happens to the sound quality? It degrades. The same thing happens when we are converting from one office file format to another.

Not good for developers
I hate writing the same code twice. I hate solving the same problem twice. This is exactly what we are heading for.
I was quite excited when XML can to be. Before XML, I had to write so many file parser because everybody and their dog created a custom file format that had to be manually parsed. Now, thanks to XML and the DOM API (Document Object Model Application Programming Interface) to work with XML. I haven't wrote a single line of code to manually parse an XML document. Yay!
As a developer, I don't want to go back to the 'information stone age' by having to support multiple, incompatible standards. Thank you Microsoft for making my just so much more challenging. If Microsoft truly cared for us, ODF would have been supported in Office 2007.




So why is Microsoft pushing their format thought? The answer is simple: Governments and organizations are starting to standardize on ODF because it's an open ISO standard. Microsoft refuses to support ODF because that will mean that users can now choose between Microsoft Office, OpenOffice, StarOffice, KOffice, Corel WordPerfect Office, etc. You get the point. Microsoft does not want to give you choice, they want to remove choice. God forbid you should spend your money elsewhere!

OOXML is meant to work with Microsoft Office and no other office suite on the market. It's a bloated, complex format that is laded with legacy. Working groups world wide have made 3,500 comments and raised a number of technical issues found in the 6,000+ pages of specifications provided by Microsoft. Think about it: 6,000+ pages. That's not for the weak of heart. On the other hand, ODF has 700+.

On March 29th, ISO will announce whether or not OOXML becomes a dual(ing) standard with ODF. This choice is made based on votes made by technical groups in various countries around the world. Microsoft has openly stuffed and bribed some committee to ensure that the vote goes through no matter what.

Thankfully, some countries like India and Cuba voted no. I'm hoping that many more countries (including Canada, my home and native land) will vote against the broken, half-complete standard that would exists to benefit a single organization: Microsoft.

Please visit NoOOXML.org and Gloklaw.net for more information.

Labels: , , , ,

Friday, March 21, 2008

Free Software 101

Is Free Software software for free? If you are confused about the meaning of Free Software, then this article is for you.

To start with, let's demystify the word 'free.' Free software is often described by Richard Stallman as 'Free as in free speech, not as in free beer.' We are talking freedom and not cost here. This implies that the software can be used for just about any purpose.

To put this in context, I wonder how many people have read the license for the proprietary (non-free) software they install on their machines. Whenever you install a program, you are requested to agree to a license. This can be a legally binding contract that determines what you can and cannot do. Typically, those contract distills down to a simple fact: The vendor chooses what you are allowed to do, and you're not allowed to sue the vendor for any reasons.

Let's take a look at parts of the Windows Vista Home's EULA (End User License Agreement). Here are some semi-random snippets:

2.a Licensed Device. You may install one copy of the software on the licensed device. You may use the software on up to two processors on that device at one time. Except as provided in the Storage and Network Use (Ultimate edition) sections below, you may not use the software on any other device.
In other words, you cannot install Vista on more than one computer. In you have three computers, you need to buy Vista three times.

8. [...] you must comply with any technical limitations in the software that only allow you to use it in certain ways. [...] You may not work around any technical limitations in the software reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation;
In other words: You can't 'fix' it or look under the hood.

9. MICROSOFT .NET BENCHMARK TESTING. The software includes one or more components of the .NET Framework 3.0 (“.NET Components”). You may conduct internal benchmark testing of those components. You may disclose the results of any benchmark test of those components, provided that you comply with the conditions set forth at http://go.microsoft.com/fwlink/?LinkID=66406.
Interesting but fair. To release information about benchmarks, I need to do it the was Microsoft wants me to do it. But what about freedom of speech?

25. LIMITATION ON AND EXCLUSION OF DAMAGES. You can recover from Microsoft and its suppliers only direct damages up to the amount you paid for the software. You cannot recover any other damages, including consequential, lost profits, special, indirect or incidental damages.
In other words, if Vista dies and wipes out all your corporate data, you can only get a refund for Windows. Yay!

4. USE WITH VIRTUALIZATION TECHNOLOGIES. You may not use the software installed on the licensed device within a virtual (or otherwise emulated) hardware system.
That's an interesting one. You cannot run Vista Home with VMware or VirtualBox. Why? Hint: It's not a technical reason. Second hint: Draw an S and place a vertical stroke through it.

The above as some example of limitations placed on you if you choose to install and use Windows Vista Home.

Most software that you install on your machine is going to carry some restriction. I hope you take the time to read was you are agreeing to when you click the 'I Agree' button. Just like commercial software, free (as in speech) software have their license.

The most common free software license is the GNU GPL (General Public License). It is used with the Linux kernel (the 'heart' of the Linux operating system), most of the command-line tools used in the Unix world, including Linux and Mac OS X, Open Java 7, MySQL and countless other software.

The goal of the GNU GPL is to provide the 'four freedom' of free software. Here are the four freedoms:

  • Freedom 0: The freedom to run the program for any purpose.
  • Freedom 1: The freedom to study and modify the program.
  • Freedom 2: The freedom to copy the program so you can help your neighbor.
  • Freedom 3: The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.
(NB: Computer programmers like to start counting at zero instead of one)

The four freedoms work together to ensure that any software that is licensed as free software (ie: GPL), continues to remain free software.

Freedom 0
The first freedom is pretty straight forward: The freedom to run the program for any purpose. In other words, Microsoft Windows Vista Home is not free software because I cannot run it for any purpose. For example, I cannot run it in a virtual machine -- Microsoft chooses what I can and cannot do with Windows. On the other hand, I can run the Linux kernel just about anywhere I like. Proof: the Linux kernel is used in everything from digital cameras to routers to super computers. Oh, and it serves me marvelously as a desktop and server operating system

Freedom 1
The second freedom is one of my personal favourite - The freedom to study and modify the program. I can look under the hood! I cannot emphasize how much I learned from looking at other developer's code. Furthermore, if something does not work for me, I can fix it. This is why the Linux kernel is found in places like digital cameras and supercomputers. We are allowed to modify it.

Freedom 2
Freedom 2: The freedom to copy the program so you can help your neighbor. Yes. You read that right. You are allowed -- and encouraged -- to copy the software. Can you do this with Windows? Legally? I do not advocate copying software illegally. Quite the opposite. However, I'm always happy to 'help my neighbor.'

Freedom 3
And finally, Freedom 3: The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. This may sound like a given, but some program come with the source file, and you are allowed to modify it, but cannot release the modification to the public. An example of that is the Torque game engine by GarageGames.

Linux Torvalds initially offered his kernel for free under the GNU GPL, giving any developers who were interested the four freedoms mentioned above. In the very first posting, Linus said "It is NOT protable [...], and it probably never will support anything other than AT-harddisks, as that's all I have :-(." Interestingly, Linus predicted that his kernel would never evolve beyond the 386 of the days. Today, the Linux kernel is available practically everywhere. Had Linus removed any of the four freedoms, chances our his kernel would be a forgotten piece of code today.

The four freedoms are the heart of free software. However, it does not mean that free software is without restriction. Some of those restrictions will be explored in my next entry: Free Software 202.

Labels: , , , , , , , ,

Wednesday, March 19, 2008

Three Things Microsoft Should Do

In the last year or so, Microsoft has earned the ire of partners, governments and customers. Forgetting about the Vista blunders, I think that one of Microsoft biggest mistake is to try to induce FUD (Fear Uncertainty & Doubt) into the FLOSS (Free/Libre/Open Source Software) movement.

In a way, I can't blame Microsoft for that. After all, Linux is on the rise, the cost of machines is on the drop and customers continue to look for ways to save money and free themselves from Microsoft's illegal monopoly.

What irks me is that Microsoft seems to think I'm stupid and I'm just going to swallow whatever FUD they send my way. I'd like to think that I'm far from being the only user who is annoyed at how Microsoft is treating us. We are not sheep that exists only to pay a tax to Microsoft (which I don't).

If Microsoft is serious about working with the open source community, here are three things I need to see before I consider working with Microsoft.

Support ODF in Microsoft Office
Sure, they can keep using their half-baked OOXML, but there is not a single valid technical reason why Microsoft Office does not support ODF. Microsoft does not want documents to be interchangeable from office suite to office suite. In other words, OOXML and it's attempt at ISO certification is there only so that Microsoft continues to entrench governments with Microsoft Office.

Use the GNU GPL 3
Most free software is released under the GNU GPL 2 or 3, which is incompatible with Microsoft's OSP (Open Specification Promise) and the Ms-PL (Microsoft Public License). This is not an accident. Microsoft does not want software written using their technology to spread to other platform. Again, it's vendor lock-in. If Microsoft truly wanted to work with the Open Source community, they should abandon the OSP and the Ms-PL for the GPL, or another OSI certified license.

Use and Contribute to Existing Standards
I know this is very similar to the above to challenges, but Microsoft has a fascination with re-writing code that already exists. For example, NUnit provides everything that a developer needs to do unit testing, but Microsoft re-created the same functionality in Visual Studio Team Edition. Using Windows Metafiles and DrawingML instead of the W3C SVG (Scalable Vector Graphics) recommendation. Creating the WMA file format when MP3 or Ogg already exists. Let's not get into Java vs. .NET!

This fascination with re-creating the wheel means that the world is always split between true standards (ISO, W3C, etc), and Microsoft. More standards is not better for the customer. If that was the case, there would be different type of incompatible CDs, DVDs and even television that work only for a single cable providers. By having a single standard for CDs, it means that I can buy a CD from Sony (minus the rootkit), and play it in a Panasonic player without having to worry about incompatibilities.

Until I see more action from Microsoft on those three fronts, I will happily continue to develop application on my Linux machine, and I will not care if they work on Microsoft platforms or not.

Links:
OSP - Incompatibility with open source
Ms-LP
Free Software Foundation

Labels: , , , , , ,