Tuesday, February 23, 2010

Open letter to Internet Explorer users, time to get a real browser

It is time for users to move on to much greener pastures. The Internet is evolving rapidly and Internet Explorer is incapable of delivering a complete Internet experience. It is directly responsible for holding back Internet technology and advanced features for years, but times are changing.

Strike 1: Least common denominator

The point of web development is ultimately to reach users. In order to broaden the audience as much as possible, all major browsers are to be supported. The good news is that FireFox, Safari, and Chrome are all very easy to support with their compliance to the standards. In fact they take almost no effort at all to support if the web sites are designed by the standards. Sounds simple right, not so fast!

The bad news is that Internet Explorer, not only does not support the standards, it goes out of its way to corrupt them. Often the choice is to make a web site for IE or for everyone else. It could be that this was an intentional strategy as for many years it kept people using Explorer because some web sites added non-standard content excluding all the competition. Luckily, these sites have been forced by their customers to drop that policy.

In the end, most sites have to reduce their features and slow acceptance of new technologies because Internet Explorer cannot handle it. This is a punishment handed down by Microsoft to all Internet users regardless of what browser they use.

Strike 2: Too expensive to support

Internet Explorer is not even compatible with itself making every release, often even minor ones, a costly effort to support. The changes between versions are so extreme that one really has to question if Microsoft's intent is to destroy the Internet. In all seriousness, a typical web site ends up having to have a separate style sheet for each version of IE and a JavaScript page to fix its quarks. On top of that, normal web pages are riddled with custom Explorer tags (a.k.a. hacks) to work around the endless of bugs it has.

It is very often the case that more time is spent creating Explorer workarounds than creating the content and supporting all the other browsers combined. This is ridiculous. Microsoft should have to pay everyone to support its products, then they might improve its quality.

Strike 3: Performance is a joke

Just look at the benchmarks not provided by Microsoft or better yet try to do something in Explorer side by side with the competition. The difference in speed is astounding. This is not just page load time either. Explorer is 10 to 20 times slower than the competition at JavaScript execution which is a primary part of web technology. This detail makes IE so slow that it cannot even run many web applications.

Strike 4: Poor technology support

Internet Explorer puts all its focus into Microsoft-only technologies. When it comes to standard technologies that all browsers need on the Internet like HTML, JavaScript and CSS Explorer seems to have gone out of its way to get it wrong effectively corrupting the standards. If users are interested in using the Internet, they are much better served using just about any other browser.

Strike 5: Using a monopoly to cause harm to everyone

Since Microsoft has enjoyed a monopoly with its windows operating system, it used that power to force users to use its browser. This fact has been proven in a court of law during its anti-trust case. Still today, most web sites feel they are forced to support Explorer because this user base of victims is very large.

The good news is that Explorer no longer holds the majority of users and its influence is declining every day. This change has forced web sites to build to the standards to support other browsers instead of using Microsoft-only technologies. This trend is moving like an avalanche right now so much so that sites are starting to refuse to support Internet Explorer.

Strike 6: A company with no business interest in improvement

This is the final nail in the coffin. Microsoft has no reason to change its strategy. They have a long standing reputation as a company that only supports its own interests. Having advanced open web technology weakens the position of all its products from Windows to its profitable office suite. It is in their interest to prevent a solid Internet experience, especially one that does not run on Windows like the vast majority of the Internet is today.

The new world order

Everyone deserves a full and rich Internet experience. There is really no excuse for anyone to suffer with Internet Explorer anymore. There are many great choices in Web Browsers available for Windows users that can provide a quality Internet experience like FireFox, Chrome and Safari. All of them are free and all of them have worked around Microsoft's past attempts to make it hard for users to download and install them.

Web sites no longer need to support Internet Explorer. They can now take the money saved, add new features and still have plenty for the bank. It is the end of era, but the beginning of something much better.

Still resistant to change?

At the very least, users should upgrade to IE8 as that is one step closer to standards compliance. However, as it fixes some of the more annoying compatibility issues, users are likely to experience a lot of poorly formated web sites since many sites had previously been hacked up for the older Explorer versions. Also, be warned, that browser is still buggy so some things may not work. Even a loyalist will have to admit users might be better off just using a different browser because most sites do not include Explorer hacks in pages served to non-explorer browsers.

Tuesday, February 16, 2010

GPL is not Open Source

Developers of free software that want it to be useful should not use the GPL license. GPL has outlived its value in Open Source. Sadly, GPL is so common that many people associate it with the very term "Open Source". It has come time to put GPL to rest for the good.

GPL is a software license. It is a license so confusing that the country's top lawyers cannot even agree on what it means. However, the intent is to say that the software is free under certain conditions.
  1. Free if the software is not redistributed. For example, is used in house and not resold "as software." Reselling as a service is allowed so long as the software itself does not change hands.
  2. Free if used in software that is itself free. This is the viral nature of this license since if software includes GPL software, then using the same license is easy.
What is specifically singled out is for-profit software. Software with other licenses containing GPL software is a very gray area. The situation is so bad that some software is dual licensed because they can't figure it out.

The GPL intent is arguable and confusing, so almost all companies simply ban GPL software to avoid the lawyers. This last point is most devastating for GPL. If software does not get used, then it has failed its purpose.

There was a time in the 90's when the only real choices in software were Windows 3.x, Macintosh OS, IBM OS/2 and UNIX. To get into the then elite world of UNIX would cost thousands of dollars and the user will still not end up with anything user friendly. Ironically, Windows was basically free for most computer savvy people, although it was not very attractive, but that is another story.

The savior was GNU and Linux providing UNIX tools and eventually the entire operating system or free, mostly. Much of this work was done by starving college students who did it for fun or challenge, but many, living on tuna, also hoped for money from those companies who could afford it.

Enter GPL, the license perfect for the starving college student hoping to make a buck from the corporate world. This was a great idea in concept.

GNU put Open Source on the map:
The GNU activity improved much software in terms of usability and portability in their patent-avoiding rewrites. The early GNU philosophy was to rewrite programs in a black box and intentionally achieve a different design objective then the original author. For example, instead of making a fast program, make a memory efficient one. Patents should have never been applied to software as they prevent innovation and primarily assist monopoly hungry companies, as a result harming consumers, but that is yet another story.

Hind Sight:
The starving college student later got rich employed by a company and the vast majority never saw a dime from the Open Source. Ironically, the same people found themselves having to rewrite everything they and others did in Open Source because the company they work for banned using Open Source because of the license. Even more sadly, these developers will have to do it over again at every job.

One has to imagine that most Open Source developers do it with hopes that as many other people use the free software as possible. Ironically, GPL has the opposite effect on software in encouraging yet another rewrite of the functionality with a corporate friendly license.

But Companies don't contribute:
It is simply not true that companies don't contribute. There are many companies that have a direct business interest in ensuring Open Source works best on their platforms. However, it is also true that many companies don't "give back." They often have legitimate reasons for this like:
  1. Not having the resources
  2. Not understanding the liabilities
  3. Not being able to afford the lawyers to explain and defend the liabilities.

A colossal waste of money:
Think about the billions of dollars cumulatively spent by thousands of companies avoiding the use GPL software, when in most cases the developer wanted it to be used by everyone and the company would have used it. Enough said..

Technology held back:
Since everyone has to rewrite everything for resale, less time and resources are spent innovating and advancing technology. This harms everyone, especially the end users of nearly every product in existence.

Even further, there could have been incredibly well engineered Open Source that represents "best of breed" software. This would have made it possible to provide better and more reliable software to all the people of the world in countless products. Even though such software exists, it is hidden behind the cloud of GPL.

Time for a change:
Change is easy, use MIT or BSD licenses for all Open Source.

Making Money:
The non-GPL, MIT and BSD licenses allow open source to be used, reused, rewritten and redistributed without any monetary restrictions but does protect the liability of the original author. Hence, the author, gets no direct monetary reward for their work. That is it, in plain english, Open Source = No Direct Money.

There is money to made from Open Source via services if that is the primary concern. If the developer's innovation is so potentially profitable, then the author should consider release as a commercial product instead. Sorry, GPL won't help.

I have written thousands of hours of Open Source software (some GPL) and even more commercial software, was there in the early 90's, work for a company that contributes to Open Source, have worked for companies that didn't. I have nothing to gain from any conclusion and believe, from real experience, that GPL has had some negative impacts to Open Source software that need to be exposed. I still write Open Source under the MIT license.