associated software allowing them to be used with portable computers. .... Our interpreter translates the Java language in another language that the smart.
Personal History of the Java Card By 2007, five billion Java cards had been bought, making it the most sold computer in the world. Bertrand du Castel, Austin, Texas Original Jan 15, 2009, amended October 6, 2013 A French version of this article was originally published in MISC Nov/Dec 2008.
Whoever has participated in an historical event can only be surprised seeing it reported in newspapers, books, or other media. It almost appears as their authors have lived a different experience, sometimes and perhaps often even incompatible with one's own. In 2005 I had the honor of receiving the prestigious visionary award of Card Technology magazine, at the time the publication of reference in the smart card world. In a long article, the journalist Dan Balaban provided a quite accurate story of the Java card and of my implication in it. But of course, I couldn't tell him then what I will now relate, as it was too early. As I have always been curious of knowing how history rings when it is written by its authors, I have been grateful to be asked to write this article.
First Java Card ever, received from the plant and signed by the team at Austin, Texas on February 2, 1997. Birth It all started for me in 1995. I was sitting one day in my office in Austin, Texas, where I was a department head for Schlumberger, in charge of the development of technical software for oil and gas exploration and production. Behind me came my boss at the time, Bill Preeg (all names in this story are authentic, but the memories are mine, and may not be corroborated. As we said, so goes History.) He was surprised to see me contemplating a small helicopter summarily traced evolving without grace on the screen of my computer. I remember telling him: "This will change our world; this is a Java applet, the first example of software brought from the network to our direct service." I should have said: "This will change my world." At the end of 1995, Olivier Piou (the future president of Gemalto) was in charge of marketing and products at the smart card division of Schlumberger in Paris, France. Schlumberger had bought at the end of the 70's patents from Roland Moréno, one of the inventors of the smart card, and, along the years, the smart card division had established itself, but without the ambition and means that the company had in other domains. It had let itself be passed by a © Bertrand du Castel, 2008-2013. All Rights Reserved.
Personal History of the Java Card
Bertrand du Castel
more ambitious young company, Gemplus, that had succeeded in climbing to the first rank in the world, by maneuvering smartly around the provision of public phone cards, first in France, and then abroad. But Olivier Piou succeeded in convincing Schlumberger's chairman at the time, Euan Baird, to invest a few million dollars in a 3-year long program aimed at developing an interpreter (we'll give an explanation in a short while) for smart cards, and associated software allowing them to be used with portable computers. Euan Baird set only one condition, that the operation be conducted at Austin, Texas, and not in France. So after a few peregrinations, Olivier Piou and Bill Preeg offered me to lead this program, in a domain that I had absolutely no knowledge in. However, I knew very well the functioning of the company after about 20 years of service, 15 of them in the United States. I accepted on one condition: that my boss for the smart card part of my activities (I was keeping my other functions) be Olivier Piou and nobody else. While it was not in the plan, this was accepted. In fact, I had anticipated the considerable difficulties that were waiting for me for working far from the French development centers, and in addition in the face of initial natural expectations that these centers had that they would themselves take up this program that they had imagined. In any company the power of a boss is linked to the power of the hierarchical level above, and so I evaluated that I could count on the support of Jacques Cosnefroy, the general director of the smart card division. February 1st, 1996, I started on a road that brought me far further than anybody could have presaged. My first initiative was to hire engineers that I could find in the company. Knowing that I had the support of headquarters, I tried to recruit the top five engineers for the task to undertake. I succeeded in attracting four of them: Ed Dolph, an engineer specialized in systems with a talent in guessing way before others obstacles to come; Scott Guthery, a vibrant innovator with whom I had shared other adventures; Tim Jurgensen, quiet and reflexive, a deep thinker who would make sure that we thought properly before undertaking important developments (later, Tim and I would write Computer Theology: Intelligent Design of the World Wide Web, a vast description of religious and digital phenomena directly inspired from this experience); and Mike Montgomery, who, with an impressive number of patents and a thorough expertise with semiconductors, would cover the electronic part as well as intellectual property aspects of the adventure. I then applied for my other recruits a principle based on three questions: 1) Are you technically qualified? 2) Are you politically qualified? 3) Have you ever been in doodoo before (I used a stronger word)? The second question was giving me assurance that I would have time worrying about my own problems instead of those of my team, and the third one guaranteed that obstacles would not slow down our march forward. That's how I hired Ksheerabdhi Krishna, a specialist of compilers on high-end computers. And Marc Valderrama, a jack-of-all-trade engineer with whom I was acquainted only from playing soccer at noon break once a week; as I was watching his style of play mixing individuality and the sense of the team, I thought that he would be adept to the task, and the future would confirm that. Ly Thanh Phan came from France and introduced us to the technology of smart cards while serving as liaison with the French teams. And as I needed a marketing specialist, I looked in all horizons until that day where a PhD in nuclear physics, Merzad Mahdavi, came to my office asking me if I wanted him for the position. I asked him what his experience in marketing was; he told me: "None." I told him: "You're hired." Of course, the president for the United States of the smart card division, Bob Davis, who was responsible for marketing operations, asked to meet this person without pedigree. I don't know how Merzad passed the exam, but, as we'll see, it was only the beginning of his acrobatics. Others joined the team and played important roles, but I have chosen to only mention those who appear in the episodes that I relate in this article. The first decision that we took was to use for our smart card interpreter the Java language. For me, this choice was clear from my experience, but it happened that Scott Guthery had been asked some months before by the same smart card division to make a study of possible choices for an interpreter. So, no surprise that Scott was also prepared, since he had included Java in the possibilities. However, we had initially decided to use Java only as the motor of the smart card, and not as a programming language for applications. Indeed, for the development of smart card programs, we opted first for Basic, a favorite language of Microsoft, because we were not sure that Java would have a durable success. Since Basic was well-recognized, it seemed that our strategy, which consisted in writing software in that language, and then in translating it to get it into the card in the form necessary for its Java motor, was optimal. This done, we undertook in March a trip to Paris to present the team. Jacques Cosnefroy invited us to dinner in a restaurant in Montrouge, in the outskirts of Paris, and asked us the question: "When will the interpreter be ready?" To my own surprise, I answered intuitively: "In nine months." I had no idea how to accomplish that, but I knew that at Schlumberger a 3-year program has a much better chance to last if it gives rapidly significant results. During the trip, we had the pleasure to meet Vincent Rigal, the head of development of the division, who introduced us to our new domain and its participants. I took from those presentations that we would not get immediate support from all his organization, where some would naturally see us as extra-terrestrial competitors rather than as members © Bertrand du Castel, 2008-2013. All Rights Reserved.
Bertrand du Castel
Personal History of the Java Card
of the team; consequently, I mentally registered that I would have to carefully watch internal relations. Shortly after our return to the United States, I asked Ed Dolph, who had started working on the Basic part, about his progress. After that discussion, I concluded that we had no chance to finish this part of the effort in nine months. I went to the corridor with my decision in mind and met Scott ready to enter the toilets. As he had his hand on the door, I proposed to eliminate Basic and to put everything on Java. He said "OK," I left happy, and he could proceed with urgent affairs. Here, I need to explain that an interpreter, in ordinary life, is naturally somebody who translates, say from English to French. It's the same thing with computers. I will simplify a little bit in the following, but experts will pardon me while making necessary corrections. Our interpreter translates the Java language in another language that the smart card understands. You may want to say, why not speak directly in this latter language? In fact, that's what was done before (and is still actually done on some projects). However, by using a Java interpreter we had two advantages: the first is that numerous software engineers know Java, while few know smart cards; the second is that by using an interpreter, we control what gets into the smart card. If the interpreter thinks that the Java code that is fed to it presents security and other risks, it simply refuses to translate the program and to enter it into the smart card (reality is a little bit more complex but we'll stay at that). Finally, I need to indicate that the language that the smart card understands, that we'll call operating system for the sake of simplicity, is dependent from the electronics of the smart card: it cares about the peculiarities of its operations. The engineer who writes in Java doesn't need to bother about that. Now that we have the bases in place, I can indicate that Scott presented me with three external contracts, each of about 100,000 dollars. One to develop an automatic program translator that would allow going automatically from one operating system to another so that we could easily change the electronics under the interpreter. The second one to evaluate automatically the security of an operating system combined with Java. The third one to ask Tim Wilkinson, a British engineer who had developed a Java system in competition with that of the inventor of Java, Sun Microsystems, to evaluate how we could reduce Java to put it in a smart cards; you need to know that at the time, Java required 80 megabytes of memory. We only had 4 kilobytes of memory to play with on our smart card, 20,000 times less! I immediately thought that the first contract would not work, that the second one was doubtful, but that the third one was interesting. However, I have as a principle that one should never put brakes on creativity, so I proposed to Bill Preeg the three programs; he accepted them all, establishing a conduct of always supporting what we were doing, even in the worst moments. Without Bill, the Java Card would not exist. Of the three programs, the two first ones failed, but the third one was an unequivocal success, to be put at Scott's credit. Tim Wilkinson proposed a subset of Java instructions that turned out to be almost final for a smart card with very small memory. Thereafter, Ksheerabdhi Krishna would take charge of the interpreter, with an excellent personal relationship with Tim Wilkinson which allowed the project to progress very rapidly. Concerning the idea of automatic translation of the operating system, Marc Valderrama, who had anticipated its failure, had decided to write from scratch a new operating system fit for Java. In the making, he also avoided an obstacle that was the result of the slow progress that we discussed regarding internal relations; instead of using the experimental Texas Instruments microprocessor that was originally suggested to us for the interpreter, he told me that we would be better off with a Motorola component that was already installed in other smart cards. He was entirely right, and his decision was a critical success factor for us. Enough for technique. We now (April 1996) had a big problem. Java had been invented by Sun, which had no intention to make it available for anybody to tinker with. Worst, Sun had publicly announced that it would never let anybody subset Java. Therefore, we first had to convince Sun to let us make a reduction, and then to grant us a license. Merzad Mahdavi paid a visit to Sun, but was thrown out as soon as he said what we wanted to do. We were in a bind. However, Merzad was the son of an Iranian general whose family had to emigrate when the Shah lost power, coming to Houston. He knew difficulties, and he was not ready to accept "no" as an answer. He was thrown out by the door, he would come back by the window, which he did by contacting no longer the development group at Sun, but rather their sales and marketing arm. He ended up convincing a high-level executive of the financial value to be derived from our work. Thanks to this person we had a second meeting with Sun, this time with a business team as well as a technical team including James Gosling, the inventor of Java. We had our opportunity: we explained to James what we wanted to do, and he agreed on the condition that we change one of the Java instructions that we had proposed for the reduced form, by another one. This done, the business team was ready to negotiate a license, with the idea that we would make a public announcement October 29, 1996. Sun took the duty of contacting our competitors so that they take the same path, and therefore we would see a whole industry take a new direction. In my mind, the change proposed was so important that the disadvantages inherent in helping our © Bertrand du Castel, 2008-2013. All Rights Reserved.
Personal History of the Java Card
Bertrand du Castel
competitors progress technologically would be balanced by the impact that using a standard Java interpreter would have on the industry, propelling the smart card into the traditional computer world. Of course, this was opening a third front, our own organization, where some were thinking that our interpreter should be proprietary instead of being written following specifications written with our competitors. Fortunately, with the help of Jacques Cosnefroy, who could eliminate internal resistance, we were ready to sign ahead of the October 29 announcement. I won't mention the difficulties associated with the contract for two reasons: the first one is that Sun wanted the license to be confidential; the second one is that those difficulties are similar for all important contracts. However, I need to mention a central point in our history. The lawyer for our group, Danita Maseles, suggested to me in the summer of 1996 that we should patent our invention for reducing Java for a smart card. Mike Montgomery could enter into the play, and Danita had greatly helped the cause since, as we'll see, the patent would come to be very useful later on. October 29 then, an official announcement of the Java card was made conjointly by Sun and most of the big smart card players, including Gemplus. Simultaneously, Schlumberger announced it new Java card, Cyberflex, for 1997. The industry then underwent a tremendous change that affected all perspectives. Sun Microsystems announces Java Card API MOUNTAIN VIEW, Calif.--(BUSINESS WIRE)--Oct. 29, 1996-Sun Microsystems, Inc. today announced completion of the Java(TM) Card application programming interface (API) specification. The Java Card specification will bring the power of Java to hundreds of millions of smart cards worldwide. Quotes by Gemplus, IBM, Integrity Arts, OKI Electric Industry Co., NTT, Philips, Schlumberger, Texas Instruments, Toshiba, Visa International Java Card announcement Adolescence February 2, 1997, we received from the factory the first Java card, that I still own, signed by the members of the team. I'll give it to the museum that'll ask for it if they commit to give it the presence it deserves. Miraculously, and to our great surprise, it functioned immediately. To understand the rarity of such an event, you need to know that it then took us a full year to produce the second version, with two failures in between; smart cards are very delicate mechanisms because of the security measures they embed. One mistake, that can come from many horizons, and the card decides to stop functioning. Therefore, to succeed at the first attempt was surprising. We decided immediately to put it for sale with a development system in order to familiarize the computer community with the new technology. Meanwhile, Olivier Piou had started industrialization procedures and had launched an information campaign while proposing with his usual conviction the new card to the large users of smart cards, the mobile phone operators. The first volume sales was 500,000 Java cards to Swisscom, which validated the commercial proposal. However, clouds were gathering. Gemplus had no intention to abandon their first position. We had succeeded in leading them into an adventure that I believe they would have rather avoided; they were going to react. Also, the Sun team, entranced by a success that we had brought them on a silver platter, had started to announce to whomever would listen that they would be to the smart card industry what Microsoft was to the computer industry: a dominant force that would have reduced us to nil. You need to know that traditional computer manufacturers can provide added value thanks to numerous options; in contrast, on smart cards, it's mainly the very combination of secure hardware and software that constitutes the value proposition of the manufacturer, a manufacturer dependent from semiconductor manufacturers and serving as clients the big distributors. If Sun succeeded in its desire, the smart card manufacturers industry was in great danger to lose its role and would be reduced to subservient functions. Therefore, I called Vincent Rigal to ask him if he knew how to organize a consortium of all smart card manufacturers which would work on the definition of Java cards to counter-balance Sun. Naturally, I was also thinking that by working on the subject with Gemplus, I would have a better chance to understand their counterattack strategy. I am sure that Gemplus had the same thought and following the announcement of the creation of the Java Card Forum February 12, 1997, we had at the beginning of May in Brussels the first meeting of the Java Card Forum, with in particular Bull, Gemplus, Schlumberger and Sun in presence. -
© Bertrand du Castel, 2008-2013. All Rights Reserved.
Bertrand du Castel
Personal History of the Java Card
I didn't know Philippe Maes, a founder of Gemplus and a regular appearance on French television, and neither Christian Goire, a smart card veteran at Bull, and neither the about thirty other participants except the Schlumberger contingent including Olivier Piou. As far as I am concerned, the best moment was when everybody around the table was asked to spell out their priority. I proposed "Love and Happiness." Later on, Arthur Coleman, from Sun, tried to explain to us that we were facing a "paradigm change." I asked him what a paradigm was, and he answered: "That's simple; before, people were thinking that everything was revolving around earth; a paradigm change, that's when we discover that everything is revolving around the sun." Well, the idea of revolving around Sun was not to our taste; Philippe Maes had this superb expression: "Bertrand loves you, but he is not happy." The ice was broken. The day after, Christian Goire was president of the Java Card Forum, Michel Roux, a Gemplus executive in charge of their Silicon Valley center in California, took the chairmanship of the business committee, and I took that of the technical committee of the forum. The first action by Gemplus was to declare that the original Schlumberger specifications for Java, that Sun had adopted, had to be replaced by a new version, that they called version 2. With the power of their communication services, they succeeded at making the Java Card Forum spend one year in monthly meetings around the world to rewrite what we had defined, thereby giving them the time to catch up with their own developments. Thanks to Christian and Michel on the business side, the Java Card Forum became during that year the voice of the industry in terms of programming for smart card operating systems, with in particular an enormous meeting in Paris of all participants to the smart card industry in finance, telephony, and informatics. In Austin, we welcomed groups of visitors from all over the world. I was particularly surprised to see that many companies were sending delegations led by very high executives. While Christian and Michel were busy on the business side, I had to find with my committee what was this version 2 that would satisfy everybody, since I had established the rule that all technical propositions had to be adopted at unanimity, by consensus and not by vote. As it was clear that the engineers of the diverse companies involved were not yet ready to collaborate, be it by order of their bosses or be it simply because of the secretive nature of the industry, I had to find a way to seat everybody at the same table. I chose to define a common enemy: Microsoft. It was easy to make an enemy out of Microsoft, for the reasons explained above. If somebody took control of smart card software independently from the manufacturers, they would be reduced to nothingness. And the executives of Microsoft, who were seeing Sun take with Java their traditional role of operating system developer, were afraid that, if they would let them proceed, that would create a precedent and Java could extend its influence to the sacred core of Microsoft, portable and other computers. I knew that, because the chief of strategy for Microsoft regarding Java, Charles Fitzgerald, had visited us in Austin and told us that quite candidly. In fact, Microsoft would later create a "Smart Cards for Windows" program. The threat to the industry was real, and actually, Microsoft hired our Scott Guthery as chief architect of the project. It was therefore easy for me to create a common enemy for my technical committee, and they started working, with the top architects of each company in the room. Of course, I had diplomacy in front of me, because I was guessing (I never got definitive confirmation on the subject) that Michel Roux was the Gemplus negotiator with Microsoft. I was suspecting that a plan of Gemplus for reducing our influence with Java included a privileged alliance with Microsoft. Anyway, after one year version 2 of the Java card was well advanced, and Sun used their considerable influence to promote it. By 2007 more than 5 billion Java cards had been bought, making it the most sold computer in the world. I got out of it a nomination to the rank of Schlumberger Fellow, the most prestigious distinction for the company's engineers. The members of my team got also out of it, I hope, important benefits; in particular, Scott Guthery and Tim Jurgensen wrote several books. The team was officially applauded by several medals and trophies, and I know that everyone will keep from that adventure the excitement of having had the chance of a lifetime of participating to the history of computers.
© Bertrand du Castel, 2008-2013. All Rights Reserved.
Personal History of the Java Card
Bertrand du Castel
The patent Maturity Such an important change as the introduction of Java in the smart card couldn't happen without creating enormous tensions in the industry. Inside Schlumberger, it was necessary to change sales and marketing plans, development efforts had to be redirected, and we had to support the new expansion of the company that was suddenly finding itself again at the head of the manufacturers' pack. We now know that in other companies, the new directions were at least as harrowing. In some, like Bull, the resistance to Java was about total; for that, Bull ended up being sold to Schlumberger. Gemplus had created in California a development company directed by Patrice Peyret that had built its own interpreter, and that was suddenly in competition with Java; the company was finally acquired by Sun to expand their expertise in smart cards, meanwhile making Patrice a rich man. Some semiconductor manufacturers tried to benefit from the ongoing change by extending their business beyond electronic components, towards the actual manufacturing of smart cards, in direct competition with us, their clients. Motorola, in particular, publicly established a 100 million dollars program to that effect, mentioning Schlumberger nominally as competitor. That money was lost when the effort was totally abandoned. Some Japanese electronic companies attended assiduously the Java Card Forum and worked with Sun to establish themselves as Java card manufacturers. Their efforts were limited, as they were late in the game. In China, a similar effect was observed. Java card technology had become extremely sophisticated, and few were ready to invest the sums required. Finally, the smart card division of Schlumberger became an independent company with the name Axalto, and later on Axalto and Gemplus merged to create Gemalto. At this point, I left the industry to work again fully on oil and gas computing, while writing Computer Theology with Tim Jurgensen as an ode to an industry that I had loved and that loved me in return. The smart card, thanks to its portability, its power of connection to networks, its intrinsic security and its protected memory allows us to confide it with our deepest secrets, and represents us in the digital world. Whether it is in our mobile phone in the form of a SIM, in our wallet in the form of a credit card, on us as a company badge, or in our hand at the train station, it says to the computer network: "I represent my owner, who trusts me, and you can also trust me and give my owner access to your resources." In this role, it allows computers to create trust networks as they assemble in larger and larger communities. That is reminiscent of the expansion that started some 50,000 years ago, when human groups learned to establish enough reciprocal trust to congregate rather than annihilate and to build together defenses and benefits that nature requires and presents. As we know that at this stage all human groups established religions, it was just one more step to study the possible role of theology in computers. Because of my role in the development of the Java card, I had the honor to be invited in 2000 to present this new approach of computer networks and religion at the Association for the Advancement of Artificial Intelligence. The elite of artificial intelligence were thus introduced to the smart card, and I subsequently presented my story in universities © Bertrand du Castel, 2008-2013. All Rights Reserved.
Bertrand du Castel
Personal History of the Java Card
the world over, which led to the publication of my book. From Java to a better understanding of computers by the religious world and of the religious world by the scientific community, perhaps this industrial adventure has led to a more peaceful world.
The book And Microsoft in all of that? After a few years, they concluded from our patent and others that the smart card industry would maintain its independence towards Sun, and they didn't need to develop a different operating system in a domain that was not central to their activities; they preferred to work with smart card manufacturers to install smart cards in Windows in the most efficient way. A new computer was born. Bertrand du Castel is Schlumberger Fellow. Head of Research for the smart card division of Schlumberger, and then Axalto (now Gemalto) from 1996 to 2006, he received the 2005 Visionary Award of Card Technology Magazine for the Java card. Bertrand is author with Tim Jurgensen of Computer Theology: Intelligent Design of the World Wide Web (Midori Press, 2008, ISBN: 978-09801821-1-8). Bertrand has an engineer diploma from Ecole Polytechnique and a PhD in theoretical computer science from the University of Paris. A French version of this article was published in MISC Nov/Dec 2008. Post Scriptum, October 26, 2010: On October 22, 2010, Gemalto filed a suit against "HTC CORPORATION, HTC AMERICA, EXEDEA, INC., SAMSUNG ELECTRONICS CO., LTD., SAMSUNG TELECOMMUNICATIONS AMERICA LLC, MOTOROLA, INC., GOOGLE INC.", for infringement of the patent described in this article by Android products. Post Scriptum, September 25, 2013 In September 2013, I was invited to deliver a keynote (http://www.youtube.com/watch?v=Of6yHI8sygI) at the 2013 International Cryptographic Module Conference in Washington, DC, which gave me an opportunity to reflect on the industry's evolution.
© Bertrand du Castel, 2008-2013. All Rights Reserved.