MS - Farbergreenspun.com : LUSENET : MS-DOJ : One Thread
MS Farber Summary By Owen Cyrulnik
INTRODUCTION Farber is an expert in the fundamentals of computer science and software architecture and engineering. Curiously, he seems to know rather little about any Windows incarnation and his testimony is hampered by a rather superficial understanding of its structure. His testimony is, therefore, extremely general and vague presented at a very high level of abstraction and his inability to illustrate his general ideas with specific, relevant Windows-related examples, lessen the impact of his expert opinions.
What follows is first a summary of the highlights of the direct testimony and cross-examination, followed by some analysis and ideas.
DIRECT TESTIMONY Farbers basic point, and, presumably, the reason that he was called to testify, is a simple four-step argument.
Premise 1: Given the inherent malleability of software today, it is necessarily possible for Microsoft to separate Windows and IE. Premise 2: Since Windows and IE are separable, they should only be integrated if such integration generates some efficiency gain. Premise 3: There is no efficiency gain, and indeed there is an efficiency loss generated by binding together Windows and IE such that the end user cannot have Windows without IE. Conclusion: Microsoft should remove IE from Windows 98 and offer IE as a separate product to be installed either by the user or the OEM.
Farber speaks extensively of the prevalent programming method today which stresses modularity individual procedures are written and tested independently; only at the very end of the software development process are they combined into dynamic link libraries, or DLLs. It is this modularity which lies at the heart of Farbers claim that software is malleable. DLL composition is somewhat arbitrary and easily be changed by the software designer.
Farber seems to claim that Microsoft has created DLLs that contain both IE functions and ordinary Windows functions forcing users who do not plan to use IE to nevertheless load those procedures into memory every time the other features are needed which Farber believes to be dangerous and potentially destabilizing.
Much of Steven Holleys cross-examination was marked by Farber and Holley talking at cross-purposes. Holley was constantly asking Farber specific Windows-oriented questions, and Farber continually stressed his unfamiliarity with Windows 98 and its components. The sessions can be broken down across several different topics:
SEGMENT 1: REPRESENTATION
Farber claims to be analyzing the issue from the perspective of OEMs, developers and end users. Holley spends a good deal of time at the beginning of the cross examination grilling Farber on his expertise with respect to the preferences of these groups. Farber is familiar with certain developers and OEMs, and is, himself, an end user, but he has conducted no systematic study or survey of these groups in order to determine their true preferences.
SEGMENT 2: MALLEABILITY OF SOFTWARE
There are a few phrases and ideas that Farber came back to on a regular basis in answering nearly every question. The first is the malleability of software. For Farber, the specific composition of any DLL is virtually arbitrary and can easily be changed.
This area is of note because it highlights a breakdown in communications between witness and attorney. Holley spent a whole lot of time showing Farber that any DLL that had IE functionality was also used by the other Windows components, such that to remove the DLL would hamper the functioning of Windows, making life harder for the end user and the independent developer. And that makes a lot of sense. Farbers answer to that claim is not particularly brilliant; he essentially argues that he does not know enough about Windows to comment. But Farber has a much better answer which he never really spells out perhaps he was having too much fun in the witness box. His real answer is that the fact that removing a specific DLL that is accessed by IE might hamper Windows functioning might well be an accurate statement of the current Windows composition; but that need not be the case. If Microsoft were to choose it could, very easily, according to Farber, separate out those features and create a set of DLLs that are entirely specific to IE; those DLLs could then be removed and distributed separately for eventual end user integration.
SEGMENT 3: WHAT IS AN OS? AN OSE? A COS?
Farber has a very narrow definition of an OS. He limits it to the very bare minimum possible the set of functions that provides low level functionality, controls the execution of programs and exposes APIs to other, higher level middleware and applications. Farber does not include DLLs at the OS level those are middleware. Certainly, IE would not be a part of the OS it is an application. There is much confusion over Farbers distinction between an OS and an OSE an operating system environment. It seems that he has designated the OSE to include the middleware to include the DLLs and other higher level functions that do not rise to the level of applications.
Holly spends a lot of time showing Farber various OS packages that purport to be selling an OS and include such things and web browsers and function libraries. Farber dismisses these instances as marketing hype that simple obscures true technical reality; he seems to really resent those pesky, dim-witted consumers from getting in the way of his research.
Hollys point, however, is well taken: There is no particularly compelling reason that Farbers technical, counter-intuitive definition of an OS must govern perhaps the Court should look at an OS as just about every business customer does, rather than through the eyes of Professor Farber.
Farber seems to limit his conception of the Windows OS to the kernel which may or may not consist entirely of kernel32.dll file. There is some confusion with regard to file management although Tevanian had clearly included file management in the OS, Farber believes that the capability to interface with a file management system is a function of the OS but the actual functionality is outside the OS probably in middleware. There is also some confusion with regard to networking. Farber has touted MSs TCP/IP implementation in Windows as having forwarded the internet and networking in general. He is not entirely clear on what part of the network interface should be in the OS clearly the higher levels of the stack would not be e.g., telnet, FTP because a user might want to substitute his own versions; the lower levels of the stack might be within the OS definition.
Holly scores a minor victory by getting Farber to admit that he was in favor of having the TCP/IP stack in the Windows OS but that leads to the same inefficiency that Farber had criticized in other contexts. If Netscape creates its own stack, that still requires that the MS stack be present even though it is not necessary. Hollys point is that even Farber would admit that sometimes those perceived inefficiencies are justified by the other benefits that they provide.
One interesting point: In his deposition, Farber testified that an extremist would claim that it would be efficient to include within the OS any DLL that will be accessed by more than one application; at trial, he says that he is not in the mood to be an extremist.
GROCERY STORE: It is here that Farber introduces his favorite metaphor. An individual who goes to the grocery store would prefer to be able to buy the one item that he needs, rather than an entire, pre-packaged grocery bag that he would then have to carry around just for that one product. Farber loves that image and comes back to it several times throughout his testimony.
SEGMENT 4: IE FILES & LIBRARIES
Any DLL which is accessed by more than one file, Farber categorizes as middleware, included in the OSE. All of the files indicated by Pavorti during his deposition as those accessed while searching the web from Windows Explorer are accessed not only by IE but also by other Windows applications some, like kernel32.exe are essential to the OS itself.
SEGMENT 5: INTEGRATED FUNCTIONALITY THE RADIO & THE ROBOBT
Hollys last point here is rather interesting. Microsoft suggests here that given the fact that the DLLs used by IE -that represent the core of IE functionality are also used by Windows, IE is only a sort of invoking switch that runs them in a certain way to access the web. Holly analogizes the situation to a radio that has one circuit board for both AM and FM. He suggests that to delete iexplore.exe in order to separate IE from Windows, would be like breaking the AM/FM switch on the radio disabling AM access even though the radio is still perfectly capable of getting AM broadcasts. Alternatively, Holly analogizes it to a robot capable of performing riveting and welding where the switch is purposely broken in order to limit it only to welding.
Holly implies that there could not possibly be any efficiency in breaking the radio or the robot and thus there could not be any efficiency in deleting IE from Windows if its core functionality is included in Windows because it is essential to its functionality. Farber has no good answer to this claim, and appears flustered. He does suggest, perhaps, that one advantage to breaking the robot would be avoiding any danger that could arise out of an accidental switch into riveting mode. He mentions his own experience in attempting to install Netscape and running into some difficulty with IE constantly popping back into the picture and 'reminding him that it was there.
SEGMENT 6: THE APOCALYPSE HIGH SPEED NETWORKING
Holly makes the interesting point that Farber has written and spoken extensively about his vision of the future in which high speed networking gradually makes the current hardware and software obsolete, requiring a whole new architecture on both end. Holly suggests that given Farbers vision of the future, MSs current market share should mean very little given that its eventual success will depend upon its ability to adapt to the new computer world.
TO REMOVE OR NOT TO REMOVE
There is some interesting confusion with regard to what Faber wants MS to do. At some points it seems as if he actually wants MS to remove IE from Windows and offer it separately. Holly is puzzled by that suggestion wouldnt that mean that Windows would be missing some pretty important components? Farber responds that he would not remove anything that would also be referenced by other programs. But then what would he remove? Is there any such file? Farber cannot point to any. Apparently Professor Felton did succeed in some such project although Farber does not know exactly what he removed only that he did not remove any of the DLLs that might be shared. Farber stresses that he wants all of the libraries to remain within Windows they should just be more individually accessible, to prevent the shopping back or book stack problem. Holly argues that such a move would create much more work for Microsoft in designing and testing. Farber has no real answer to that, except to claim that most testing occurs at the module level before any modules are combined together into DLLs, and, therefore, additional testing would be minimal.
1. MS & Aspen: At first glance, it is not entirely clear what Holly was trying to do by continually pointing out that users want integration, users want simplicity, users do not want too much choice. Clearly Farber is not the ordinary user, nor an expert on user interest. But consider Hollys line of attack in the context of Aspen. Aspen has justifications for its decision to cut off dealings with its competitor; the other side has no technical justifications, but it has lots of evidence evidence of actual skiers who preferred the combined ticket. Aspen, on the other hand, had no skiers who were happy about its separation. Professor Kaplow suggested that the users the skiers are what persuaded a pro-business court to find for the plaintiff in a monopolization claim in which they were seeking to force the continued cooperation of a competitor in a cooperative practice that itself seemed like a possible Section 1 violation. In the same vein, it would be odd for the Court to order MS to separate IE and Windows if most customers would be upset by the change. Perhaps Holly is playing to the fact that often all the technical justifications in the world do not outweigh the simple desire of the consumer. 2. One thing that Farbers testimony does is to focus attention squarely on Professor Lessigs suggested reading of the Jefferson Parish case. The idea was that the Court would be willing to break up a tie or in this case force MS to separate the two products so long as the efficiency risk was relatively small and the two could be combined into virtually the same united entity by a consumer who chose to put them together. Farber presents exactly that case he claims that software, given its nature, is by definition easily separable. And not only is there no efficiency loss, but there is actually an efficiency gain in separating the two. Farber even touches on the idea of fixing the problem by simply unlocking the bolt by providing a DLL structure that can be easily separated, thus allowing a user to choose to have IE or not to have IE. Hollys broken radio analogy, despite Farbers cursory treatment, is a serious challenge to that conceptualization of this case, however. If it is really the case that removing IE specific files would still leave almost all IE functionality still in Windows, the efficiency loss might be greater a user would have to buy a whole separate product just in order to get the couple of lines of code that call the procedures that he already has on his machine. 3. Farbers testimony raises interesting questions about our original discussion of the Court of Appeals definition of integration. One key issue there had been the notion that when IE was installed it changed some of the preexisting DLLs, integrating itself into Windows such that removing everything installed by IE would cripple Windows. At the time a question lurking in the background was whether the current system was a necessary one. Farber suggests that it is not that MS could easily change the IE and Windows code in order to ensure that when IE installs it does not alter or change any Windows DLLs but just installs its own, separate DLLs.
-- Anonymous, January 13, 1999