Archive for February, 2008

The University of Liverpool just contacted students saying that they will be switching from the FirstClass system to Blackboard. This is great news, as Blackboard has a very functional web-based interface. This means that UoL students will no longer be forced to use proprietary software on their machines when studying at Liverpool online.

I hope they will also reconsider using secret file formats for their lectures. If they do, they will be almost free, and this freedom can extend to students.

I’ve had an interesting discussion recently about globalization in software engineering. Because it’s a ton of text, I thought I could regurgitate it here, too, especially because I’m curious what other people think. The sections in quotes are Steven’s.

Microsoft has suffered several law suits by EU, an effect I consider of globalization of their products.

I am not entirely sure this is only due to globalization. The USA has also sued Microsoft for abuse of their monopoly, and the Findings of Fact published by Judge Pennfield Jackson are quite clear: Microsoft have abused their monopoly on their home turf in the USA, as well as internationally. The difference is that in the US, Microsoft settled out of court with many of the parties involved, often for undisclosed sums of money. Those parties that could not be bought, such as the state attorneys general, dropped the case after George W. Bush came into power. This has been documented by several news sources, for example stating “[...] the Bush administration has sharply changed course by repeatedly defending the company both in the United States and abroad against accusations of anticompetitive conduct.” (Labaton, 2007).

So this is turning into a case of politics of power and has little to with responsible IT: The USA under Bush clearly wants to keep this US monopolist around and as powerful as possible, no matter how it has gained its power. The EU meanwhile is certain that Microsoft’s monopoly abuse is what keeps them in business, and this is against the law:

“the Commission finds that Microsoft infringed Article 82 EC and Article 54 of the Agreement on the European Economic Area (EEA) by twice abusing a dominant position.” (EU Commission, 2007)

With another president, or under the Clinton administration, Microsoft would have been punished for their illegal activities even at home, I am certain of that. Having a 90% market share at home or worldwide should make little difference to US state law, as US state law about market abuse certainly can’t extend to foreign markets (except when dealing with multinationals that have branches in the US, of course).

What in your view is balance between a computer systems developer and the global market in terms of responsibility of their product? is it better to develop a product with as much leeway as possible for the largets extent possibel range of customization for different target markets/users or controlled design where the designer/developer of the product retains most of the design level responsibility and thus the power to alter the product?

My view in one sentence is this:

In terms of responsibility, I think all that is required is to adhere to open standards and to work with the competition on interoperability and compatibility.

But this has a lot of implications! Of course companies that rely on heavy vendor lock-in, such as Microsoft and Adobe, would be happier to stay as incompatible as possible. Microsoft for example deliberately altered their own implementation of the Kerberos standard to be incompatible with everyone else’s, because they knew that with their dominant position in the market, they could carve a niche for themselves and claim that the others are incompatible to them.

A responsible OS developer instead would have put their engineering efforts into staying compatible, and their technical advisors on the board of the entity that controls the Kerberos standard. If all the other members of this board agree that Microsoft’s modifications are good and useful, they would have been part of a later version of the standard, and the horror that is W2K Kerberos would have been prevented. These tricks have not stopped: Microsoft internally calls this strategy “embrace, extend and extinguish”. They want to destroy interoperability and competition in this way.

Scope of the shipped product

I believe it’s not bad to ship a full-featured product, but for a convicted monopolist like Microsoft, the rules are different. They have abused their monopoly to gain a strong foothold in several markets where they were not present before: web browsers, instant messengers, PDAs, smartphones, servers, media players, video codecs. They have to be careful, because they are already a monopoly. Either they include none of this technology with their system or they include all of it. Because the latter is impossible, I believe for them the right thing would be to include nothing, just the bare OS, and let the user decide which programs they are going to install.

Other vendors have no such monopoly, so they can ship a full-featured OS that includes all of these tools. The difference here is that for the other vendors, every one of these components can usually be switched for another by the user, easily. On the Windows platform, the hurdle is higher: users need to know how and where to download and install software in order to switch from MSN Messenger to AOL Instant Messenger or Pidgin. On a competitor’s OS such as Ubuntu, all the choices they have in instant messenging (several dozen programs) are displayed to them in a menu and installation takes one click. Also, on Windows they can’t be sure that the source of their downloads is trustworthy. On Ubuntu, cryptographically signed packages make sure that the downloads are what they claim to be.

This discussion could go on and on, because now we are entering the realm of system architecture. Due to Windows’ (and Mac OS X’s) architecture, several of these “switch this for that” tricks are not as easy as on other systems, which ultimately also impacts how you can ship a product. It’s easy to ship a stripped-down Debian GNU/Linux which the user completes on their own. It’s hard to ship a stripped-down OS X.

So in the end, it does have something to do with software engineering, but I believe the SE aspects are eclipsed by issues of power, politics and economic goals.

The future

In the end, I believe there is no real fairness in this market. But I also believe that the importance of the desktop operating system is going to fade rapidly in the next decade. The things we are worrying about now will matter little when application programs are streamed to users on their televisions as well as on their mobile phones. In the end, the user wants to access their data. They do not want to “click on the OpenOffice.org icon, then choose the document to open”, they want to “continue writing the letter”, and they do not care how this is brought about. Whether they do this from an Apple iPhone or a newly released Microsoft LCD Television should not matter. To achieve this, we need the interoperability and shared, open standards that I mentioned.

gedit screenshot

There are many great Free Software tools you could use for studying at Liverpool. Among other things, I use Dia, OpenOffice.org and LaTeX. But what’s surprising is that my most-used tool is a simple text editor: gedit (see above).

Why gedit? You take part in a lot of discussions using FirstClass, a proprietary BBS client that Liverpool/Laureate chose to set up their virtual classroom in. gedit, or any text editor, is something you could use to write your answers offline and on your own machine, with full control over where the resulting text goes. One of FirstClass’s problems is that once you’ve posted your responses, it’s not easy to get them out of the system again for backup. There is a download option that can download entire discussion folders, but it’s not ideal as it will stop the entire process as soon as it encounters any item you have no privileges to view. So unless you want to exclude your homework answers (which are in a write-only folder) from your backup, using FirstClass’ download option is.. err.. not an option.

Editing things offline in a text editor has the advantage of giving you full control, and you can use a versioning system to keep versioned backups of your work. I’m using Subversion for that right now. FirstClass, being a BBS client, has no versioning and only rudimentary draft functions in its text editor.

A disadvantage of using your own text editor is that there is no formatting you can use. FirstClass seems to use some proprietary way of formatting text. If I ever have the time, I might want to start reverse engineering the most important aspects (bold and italic would be enough to keep to Harvard referencing rules) and perhaps I can find out how to inject this information via the clipboard. Then I could write plain text entries in my files that would copy/paste with formatting into FirstClass. Of course Liverpool’s switching away from FirstClass as a non-free solution and picking one that adheres to established standards would be better, but I can’t see that happening soon.

My subversion repository is organized like this. I simply make one directory per module (such as MASSHR-SE-080110-01) and then one subdirectory per seminar in that module. The subdirs then contain the DQ questions and the week’s assignment, as well as any group assignments. This way I can simply fill in the answers to the DQs and do my homework even offline, if need be. Any changes are checked into my repository.

I hope this shows that very simple and effective tools are sometimes all you need, and all of them are available as Free Software. I’m sure I’ve already spent more than 200 hours in gedit, it might be well over 1500 once I’m finished. It probably took less time to develop that piece of software. Efficient!