Arnaud’s Open blog

Opinions on open source and standards

Interoperability vs Homogeneity

The leaked updated document of the European Interoperability Framework (EIF) is generating a lot of noise and for good reason. It is taking back what could be considered one of the most advanced features of the previous document: its insistence on the use of open standards.

In particular, the new document contains the following puzzling piece instead:

interoperability can also be obtained without openness, for example via homogeneity of the ICT systems, which implies that all partners use, or agree to use, the same solution to implement a European Public Service.

I don’t know about you but, to me this statement simply makes no sense. And I wonder to whom it could truly make sense.

Indeed, interoperability is defined in wikipedia as “a property referring to the ability of diverse systems and organizations to work together”.  That seems about right to me.

So, how could “homogeneity” possibly qualify has a way of obtaining “interoperability”? Aren’t “homogeneity” and “diverse” opposing each other?

Saying that “interoperability can be obtained [...] via homogeneity” is equivalent to saying that diverse systems and organizations can work together via homogeneity. Or in other words that diversity can be dealt with via homogeneity. This doesn’t make sense, does it?

The only way to make sense of this is obviously to read it as saying that one can actually avoid the need for interoperability by adopting an homogeneous system or solution. That is true actually. And that’s something many organizations have tried before. But everybody has learned by now that this is a losing proposition. It just doesn’t work.

It may work on a short term basis, but in the long term in never does. Because the world is fundamentally heterogeneous. And resistance in this domain is futile. One way or another the heterogeneous aspect of nature will eventually kick in. Some of the most common sources of heterogeneity in IT simply comes from mergers and acquisitions, which happen all the time.

Furthermore, isn’t the whole point of the European Interoperability Framework about enabling heterogeneity? Isn’t it all about providing choice? So, why would the EU endorse the notion of having everybody select one specific solution or system? Isn’t that in total contradiction with its very goal?

Why would the EU promote the use of one specific system or solution that would bind governments and their constituents to a specific vendor rather than allowing diversity and choice? I seriously wonder.

And one has to wonder who has to gain from such an idea… For sure anyone who has a monopoly or quasi-monopoly would love that. Do you know anyone?

I seriously hope the EU realizes how misguided this move was and takes it back.

Especially because this flies in the face of the current trend in favor of open standards and open source that has recently made Europe so interesting in the field of standards. This is what has led several other countries such as Japan to reach out to Europe to discuss standards related policy issues. It’d be a shame to kill that momentum.

November 10, 2009 Posted by Arnaud Le Hors | open, standards | | No Comments Yet

Europe the place to be?

For obvious reasons what’s happening in the emerging markets such as India and China is getting a lot of attention but it seems worthwhile to underscore that Europe is really playing a major role in getting our industry to move forward.

If you’re not convinced I suggest you take a look at the news section of the Open Source Observatory and Repository Europe website.

I find it fascinating to see the prominent place open source and standards issues are taking in the political arena, the number of decisions various European administrations are making in favor of open source and standards, and the cost savings some of these administrations are reporting.

This is demonstrated by the following few examples:

EP candidate: Free software essential for public administrations

The French candidate for the European Parliament Marielle de Sarnez says public administrations’ interest in free software is essential. “This is an issue of competitiveness for the EU in the information technologies sector, as well as the condition of our technological independence.”

IT: Democrats want public administrations to favour open source

Two parliament members of the Italian Democratic Party want Italy’s public bodies to favour free software. By 2012 all IT systems should be based on such software, MPs Vincenzo Vita and Luigi Vimercati proposed in a bill last month

NL: Amsterdam to make OpenOffice and Firefox default on city desktops

The city council of the city of Amsterdam on Wednesday decided that OpenOffice and Firefox should become default applications on all 15.000 desktops in use by the administration.

SE: Municipalities ask software vendors to use open standards
Nine Swedish municipalities have asked ten software application firms to start supporting OpenOffice.

DK: Municipality uses OpenOffice and saves a million DKK per year

The Danish municipality of Gribskov has saved two million DKK, about 270,000 euro, over the past two years by switching the public administration and schools to OpenOffice, Michel van den Linden, responsible for IT in the municipality says in an interview with the Danish IT news site Computerworld.

FR: Gendarmerie saves millions with open desktop and web applications
The French Gendarmerie’s gradual migration to a complete open source desktop and web applications has saved millions of euro, says Lieutenant-Colonel Xavier Guimard. “This year the IT budget will be reduced by 70 percent. This will not affect our IT systems.”

And the list goes on and on. Good luck to those who think they can still stick to the old model of proprietary software and vendor lock-in. This is like standing in front of a train coming at full speed in my opinion.

On a personal level I’m obviously interested because I’m European and still have strong ties to the old continent but this, along with many other changes I observe, makes it clear to me that the United States are no longer where “things” are happening.  At least not the way it used to be. The change is coming from other places in the world, like Europe.

May 7, 2009 Posted by Arnaud Le Hors | opensource, standards | | No Comments Yet

On Open Extensions

I noticed that several e-government policy documents being developed around the world are touching on the difficult issue of dealing with extensions to standards. This is a problem that always seems to be a source of controversy and that is hard to deal with so, I decided to investigate it further.

I asked for input from several standards people and ended up writing, with my colleague Jochen Friedrich, the following short document.

In this document we tried to describe the problem, capture the main points that have been made to us so far, and further define the concept of “Open extensions”. This concept can be found in the draft policy of the government of India (PDF).

It would be great if this could constitute the beginning of a discussion and help move the industry in the right direction on this issue. I would appreciate if you could use the comment feature to give us your opinion on this.

This is very much a work in progress and I may publish updates in the future.

Disclaimer

As everything on this blog, this is my/our personal opinion and it does not necessarily represent IBM’s position.

Introduction

Extensions to standards are common practice, in some areas more than in others. Extensions can help to meet specific requirements in a given domain which are not covered by the applicable standard. On the other hand, extensions carry the risk of breaking the interoperability and thus violating one of the basic objectives of having a standard.

How to deal with extensions is therefore a major challenge – in particular for organizations which consider standards, and in particular open standards, as the basis for their technology and procurement decisions. Fundamentally, the goal of  procurement and open standards policies ought to be to prevent vendor lock-in via proprietary extensions which effectively break interoperability.

Open Standards and the Public Sector

In the globally integrated economy, open technical standards are integral to enabling the delivery of everything from disaster relief services and health care, to business services and consumer entertainment. They allow governments to create economic development platforms and deliver services to their citizens. Open standards enable electronic devices and software programs to interoperate with one another, which is a prerequisite for efficient electronic data processing and transaction handling.

Worldwide more and more governments are implementing open standards policies. They require open standards and interoperability in public tenders and thus leverage the benefits of open standards for the public sector. Open standards ensure that users have flexibility and choice, by keeping exit costs low where technologies need to be replaced by better, more efficient, or more cost effective ones. Open standards are key to guaranteeing fair competition. This includes open source offerings as well as other stakeholders in the market.

The challenge of extensions

Extensions to open standards are a challenge because they are to some extent contrary to the whole point of requiring the use of standards in the first place. However, both the complexity of the various situations technology has to address and the need for evolution makes extensions a necessity that needs to be taken into account. And, after all, extensions don’t necessarily have to break the idea behind using a standard.

Indeed, the key criterion regarding extensions is not whether some technology or product extends a given standard or not, but rather whether in doing so it breaks interoperability.

Some standards provide built-in extension mechanisms with ways to communicate what extensions, if any, are being used and how they must be dealt with. For instance, the standard may prevent interaction altogether if the integrity of the information being exchanged depends on an extension which is not understood by the other component.

In such a case a product is deemed compliant even when it supports extensions – assuming they are supported according to the mechanism defined by the standard.

Procurement policies – support for Open Extensions

In general, products that support extensions to a standard ought to strictly adhere to the standard by default and only make use of extensions through some explicit request mechanism. This is necessary to avoid unintentional reliance on proprietary extensions which is typically discovered later on, when trying to connect components from different vendors or replace a component from one vendor by that of another.

When extensions are supported they should be “Open Extensions”. Open extensions are to extensions what open standards are to standards. To be “open” extensions must meet the same criteria with regard to openness, transparency, availability, implementability, etc.

Open extensions are best developed as part of the evolution of the standard in an open standards development organization. This has proved to be effective and efficient in ensuring that such extensions are indeed open which is a major element to preserving interoperability.

Open extensions provide for the required flexibility while keeping the spirit and technical benefits of open standards and openness. Where procurement policies – especially in the public sector – support extensions they should make clear that it is limited to open extensions. Procurement policies which require open standards and allow, in exceptional cases, for open extensions are optimally set up to leverage the full benefits of open standardization.

February 10, 2009 Posted by Arnaud Le Hors | standards | , , , , | No Comments Yet

Linking the proper way

Admittedly this blog entry might just be seen as another rant but this is meant to be constructive so, hopefully that’s how you’ll see it.

I constantly see people put links in their web pages on words like “here”, “there”, or “this”. It is the wrong way to link to other pages.

For instance, it is wrong to write:

Arnaud posted a blog entry on linking the proper way here.

Although the link does function all right and will achieve the desired effect it violates the basic principle of hypertext linking the web is built on. Indeed, this principle is that the link needs to be placed on the object the page being referenced relates to.

In the above example, clearly the page the link points to is not about “here”. So, instead, you should simply write something like:

Arnaud posted a blog entry on linking the proper way.

In this case the link is set on “linking the proper way” which properly describes what the page being referenced is about.

Alternatively you could do the following:

Arnaud posted a blog entry on linking the proper way.

It is still correct because “a blog entry on linking the proper way” also properly describes what the page is about.

Sometimes, it takes a little effort to get it right. Instead of writing something like:

For more information look at this.

You’ll need to write something like:

For more information look at hyperlinks.

But the extra effort, quite minimal I’d point out, is not wasted. It is not only correct it is also much more informative. It actually provides the reader with a clue of what the linked page is about.

And if that wasn’t enough, linking the proper way has other advantages than informing the reader about what the link is about. The relationship thus established can also be used by search engines in determining what keywords might be relevant to the linked page. It is rather useless for a page to be associated with the word “here”. On the other hand, a search engine might make use of the fact that it is associated with the word “hyperlinks”.

Now, I know that it’s been found that using direct and simple instructions is more effective with some users. That’s what leads to the infamous and omnipresent “click here” but while I’m willing to accept that argument for commercial websites I can’t accept it for other type of content.

I think the reality is that lack of understanding and laziness are responsible for most of the errors made in this regard. Hopefully, this post will help with the former. As for the latter, it’s all up to you but, now that you’ve read this you won’t be able to claim you didn’t know. ;-)

January 29, 2009 Posted by Arnaud Le Hors | standards | , , | 1 Comment

Paradigm shifts and tug wars over the web – Part 2/2

In the first part of this discussion I focused on the shift that occurred around who controls the rendering of a page. I will now discuss how control of the user interaction shifted from the user to the page author/developer.

Web pages initially contained no information about how the user would interact with the page or the web browser would behave. It’s by using functions supported by the browser that a user would move back to a previous page, print a page, open a page in a new window, etc. The user was therefore in full control of the interaction.

This simple paradigm was however first challenged with the introduction of the infamous frames and link targets in HTML. These mechanisms let the web author control how the browser should behave when the user clicks on a link. Aside from making it impossible to reliably bookmark a page, this marked an important departure from the original concept of having the user in control.

Yet this was just the beginning, and was nothing compared to what is now done with all the websites full of javascript which make the so called “Web 2.0“.

With javascript, web pages no longer just contain some content to be displayed along with some layout information but they are in effect programs that want to dictate how the browser should behave and how the user should interact with them. And that’s where the problems creep in.

In reality we end up with two separate entities trying to control the same thing. The web author on one end and the user with the browser on the other. Both trying to control how to manipulate and interact with the same information. It’s no wonder there is a clash.

This can take some rather benign forms like the close button I often see on some web pages. I always wonder: who needs that? Why isn’t the close button in the corner of the window enough? I use neither anyway, favoring a quick Alt-F4, but admittedly other than a bit of wasted real estate on the page it doesn’t really hurt.

Equally useless is the print button I often see on web pages. Some websites use that to render the page differently, it’s not truly necessary with proper use of stylesheets but at least it does something useful. More often than not it does nothing different than the print command of my browser though. But, again, it doesn’t really hurt.

What really hurts is when it interferes with other aspects of the basic browser functions like the navigation history or whether the new page should be rendered in a new window or not. The reality is that in the vast majority of cases this is only done for bad reasons – or at least for reasons that serve the web author rather than the web user.

These reasons include: the authors don’t want you to move off their site, they want to force some information onto you (remember those lovely pop-up ads?), they think they know what’s best for you or that you don’t know how to use your browser, etc.

The list of bad web programing practices hidden behind all this is endless. How many times do you see websites that urge you not to use the back button or reload the page, informing you that doing so may lead to multiple charges on your credit card? This one has typically nothing to do with javascript but more with the fact that they didn’t program their state machine well enough to support you going back and forth between pages, or reload them.

In fact, most of this only exists because websites are poorly designed, there are mechanisms to ensure the browser history gets updated so that the back button works for instance but, fundamentally it remains that there is a clash between two different paradigms that are both at play: 1) the user is in control, 2) the web author is in control.

Users have control via their browser, authors have control via the javascript and other techniques they stuff their pages with.

While I enjoy many of the benefits modern websites bring, as a user, I regret the loss of control that often seems to come with them. I hope that we eventually reconcile the two forces at play, and authors/developers get better at designing their websites so that users can get the advantages of modern websites without losing basic functionality and control.

January 28, 2009 Posted by Arnaud Le Hors | standards | , , , | 1 Comment

Paradigm shifts and tug wars over the web – Part 1/2

I posted a rant on the fact that many modern websites break some basic browser functionality but as I did so it occurred to me that I should take the time to discuss the paradigm shift that is behind that simple fact.

Indeed, beyond the fact that the back button of my browser is rendered unreliable by some websites, lies a major shift, a kind of tug war between web users, armed with their browser, and web authors/developers, armed with the latest techniques in websites development. This shift or tug war is about how the web fundamentally works and whether the consumer or the content provider has control.

In fact, we’ve already seen several paradigm shifts in how the web works. First, there was a shift in how a web page gets displayed. Then there was a shift in how one interacts with the page. The latter is now intensified by the introduction of the latest web technology.

As I was about to post this entry I realized it was getting really long so to make it more digestible I decided to split in two parts. In this first part I discuss the first shift which is about who controls how a web page is to be displayed. In the second part I will discuss the second shift which is about who controls the interaction with the web page or how the browser behaves.

When Tim Berners-Lee created the web his idea clearly was that what was important was to enable the exchange of information.  How exactly the information would end up being rendered didn’t matter that much.

For this reason the early versions of HTML were very much designed to carry structure and meaning rather than precise rendering. The HTML specification, for instance, doesn’t specify what font a heading should be rendered in. It just has a general notion of different levels of headings (H1, H2, H3, etc.) and it relies on the browser to choose appropriate fonts to represent the different levels in a reasonable way.

When the web picked up and commercial enterprises started developing websites this paradigm quickly flew out the window though. Marketing departments, typically in charge of developing websites and used to developed glossy brochures and the likes, wanted precise control of how their website would appear to the user and tolerated no variations.

This is what brought us the lovely early websites full of tables filled with one pixel wide images that failed to render properly on any screens other than those that had the exact resolution they happened to be designed for.

Thankfully, people learned, and with the introduction of stylesheets and the array of devices in use the situation has greatly improved on that front.

This was also helped by the fact that there is a limit in how much authors can force users to look at their information the way they want because some people just can’t. Accessibility issues indeed come into play, and they mean that, at least to a certain degree, the browser must provide users with a way to override the desires of the web author. This can be to render the text with enough contrast or in a font big enough for instance.

Nevertheless, it remains that the initial paradigm of “I don’t really care how exactly my page gets rendered” seems to be gone for good. For better or for worse.

Read on the second shift in Paradigm shifts and tug wars over the web part 2.

January 27, 2009 Posted by Arnaud Le Hors | standards | , , , | No Comments Yet

Giving me back my back button!

It is somewhat unfortunate that I start the year on my blog by posting a rant but here I go anyway.

I’m getting tired of all the websites that make the “back button” of my browser useless.

And when I say “button” I really just mean “back function”, because I actually seldom use the mouse and favor key strokes in many cases. So, in reality I typically hit the “page back” button on my keyboard or Alt-left arrow key when I’m on a keyboard that doesn’t have that key.

But that doesn’t really matter, whichever way I actually do it, I expect this action to get me back to the page I was previously on, just before I followed some link that led me to the page I’m looking at now.

Unfortunately, more often than not nowadays this action leads me to the wrong page. That is I typically land on some page I visited before but not the previous one. This obviously makes using the back function of my browser useless.

Sadly this problem seems to be a common characteristic of modern websites, such as Facebook or Picasa just to name a couple, that provide their own navigation mechanism which screws up the history the browser relies on for its back function.

Every time I mention that to my friend Andy who writes javascript for a living he says: “ah, yes, keeping the history straight is tough.” Well, I don’t care whether this is tough or not, website developers need to understand that this is something they need to worry about and get right.

January 26, 2009 Posted by Arnaud Le Hors | standards | , | No Comments Yet

Open standards and globalization

Among the standards principles IBM announced on September 23rd, there is one that is particularly dear to me (surely because of my current responsibilities at IBM but also because of my background with W3C). This principle is what we refer to as the principle of “Global Application”. It reads:

Encourage emerging and developed economies to both adopt open global standards and to participate in the creation of those standards.

Despite what the OOXML proponents have been claiming for the sake of their own benefit, having multiple standards for the same task doesn’t do anybody any good. Multiple standards means market fragmentation and duplication of efforts. Market fragmentation and duplication of efforts mean less choice and higher cost.

As we move forward we must learn from the past while not letting it get in our way. We must ensure that standards are developed in such a way that all stakeholders can participate and feel compelled to do so. This is essential for all requirements to be addressed but also for everybody to have a sense of ownership. Both of these elements are key to the adoption of the standard by all.

I consider the case of the Uniform Office Format (UOF) a perfect example of our failure to do just that. What was it that led China to create its own format rather than work with us on expanding ODF so that it addresses their needs? Their work started with a fork from OpenOffice mind you. So, why weren’t they at the table with us?

We need to understand what went wrong and ensure that this doesn’t happen again. For everybody’s benefit. Failure to so will result in more pain for everybody, just like the pain we are experiencing with UOF.

The situation with UOF is now that China is trying to gain support from vendors like IBM. These vendors would like to play in the Chinese market but they have already heavily invested in ODF and are understandly not too keen on the idea of spending resources on UOF. They would rather see China adopt ODF. But ODF doesn’t quite fit China’s needs. So, efforts are being made towards a possible convergence of the formats but these are merely damage control that remain costly for all.

And this is not all. The Global Application principle cannot be separated from the principle of “Implementability” which reads:

Collaborate with standards bodies and developer communities to ensure that open software interoperability standards are freely available and implementable.

Indeed, one of the major barriers to global adoption by developing countries of the so called “international standards” is the toll on implementing them. Whether it is about paying just to access the document or about paying royalties to foreign companies for patents that read on the standard, the price tag this constitutes is just not acceptable to emerging countries. They already face enough challenges otherwise.

The European Commission as well as countries like India are trying to move the ball by developing policies that restrict public procurement to “open standards” which they define as being royalty free. This is provoking reactions from various organizations that want to stop this movement. Their main contention appears to be that we’ve been developing standards for decades on a RAND basis and adopting a royalty free only policy will rule out hundreds of existing standards and products. I say: tough!

It’s about time that we recognize that the way we’ve been doing standards isn’t going to work anymore. And we just cannot expect the world to be shackled by the way we’ve been doing things in the past.

Traditionally, IT standards have for the most part been developed by the western world and then pushed onto the rest of the world. A RAND based system might have been fine in an environment where the odds were balanced by the fact that all parties had more or less similar stakes in the game. But this doesn’t work when you add a bunch of new players who find themselves at the table empty handed.

So, it’s not surprise that the rest of the world is telling us “No, thanks”. Can we really blame them?

Those that cling onto the old ways are part of the past. The future simply cannot be based on a grossly unbalanced system that gives a hudge advantage to some parties. Getting rid of the toll on implementating standards is the price to pay to see them globally adopted. Failures to recognize that simple fact and attempts to derail the trends set by the European Commission and the likes are simply a waste of time.

October 30, 2008 Posted by Arnaud Le Hors | standards | , , , | 1 Comment

An undeniable sense of pride

I recently posted a rave about IBM support so I’m well aware that this may look like I’m just on some sort of a praising roll about IBM but I want to say it anyway: I’m very proud of the standards principles we announced yesterday.

I’ve participated in the discussions we’ve had that led to this announcement and I was truly looking forward to the annoucement. It’s actually been a bit hard to keep it quiet until now. I felt so good about it I wanted to tell everybody.

It’s nice to feel proud of the company I work for. I have to say that in my now almost 9 years here I have never been made aware of anything we’ve done that I felt ashamed of. IBM has a strong culture based on principles rooted in ethics and just doing the right thing. In challenging times those principles are more often than not restated and everybody is given clear instructions not to cross the line, be it from a legal or ethical point of view, even if it means we’ll lose.

With all the things that have been reported around OOXML over the last year I’ve often wondered what it must be like to work for a company that appears to be willing to go beyond what most would find acceptable to win. I’m glad this merely is a rhetorical question for me and surely hope it will stay that way.

I think it’s important to lead by example and I hope the publication of our standards principles will encourage other corporations to take similar actions.

As it’s been stated, but sometimes missed, our goal is to encourage the standards groups we participate in to do some introspection and adjust as appropriate rather than walk away from them. I look forward to working with standards organizations around the world to help them raise to the challenge and improve when needed, for everyone’s benefit.

September 24, 2008 Posted by Arnaud Le Hors | standards | | 5 Comments

The value of preparation and going slower

Ok, maybe I’m just rehashing the obvious here but, it occurs to me that in our ever faster pacing world we sometimes forget simple wisdom which is worth restating and reflecting on.

I’ve been remodeling my house quite extensively and while I’ve hired contractors now and then for specific tasks I’ve done a lot of the work myself. And when I say myself, I literally mean that. This is myself alone.

Working alone isn’t always the easiest obviously. Sometimes a helping hand can save you quite a bit of time and trouble but, I’ve come to realize that working by myself forces me to prepare more and this leads to better results in the end.

One such example is simply when nailing something up on a wall for instance, be it a sheet of drywall or a piece of framing. If you have a helper, one typically holds the piece in place while the other nails it. It’s fast and easy, but actually not that precise.

In contrast, when you’re alone, you can’t hold the piece and work on it at the same time. So, you have to first figure out some support mechanism that will hold your piece in place and free you to work on it. Using a support mechanism actually allows you to much more precisely position your piece before you move on to nailing it in place.

I’ve done that on several occasions and it never fails. I always end up with a better result that way.

Now, it’s true that it’s a slower process, especially given that I sometimes have to first build some kind of contraption to hold my pieces in place. But you’ve got to wonder about always trying to go faster. Is it really worth it?

Look at OOXML (what? you didn’t see it coming? :-) ) What have we gained from having this rushed through the standards process? Now that the dust is starting to settle down it’s easy to see that all we end up with is a specification of terrible quality and a lot of collateral damage, including for Microsoft, Ecma, ISO, and IEC. Wouldn’t we have been better off taking the time to do it right?

I sometimes marvel at some of the old buildings and wish we took the time to build more like those. Buildings that are not only functional but also elegant. Buildings that show, from the quality and the level of detailed work they present, how much their makers cared. Something which is unfortunately too rarely seen on modern buildings.

Of course, one has to find the right balance. But it seems that the balance is currently heavily tilted towards always going faster, even if it’s at the cost of producing lower quality. I think we should slow down a bit and give quality another try.

September 15, 2008 Posted by Arnaud Le Hors | standards | , , | No Comments Yet