Te weinig ervaring met programmeren? Onder Windows?
Iedereen roept hier maar wat er jarenlang is ingestampt, zonder de feiten erbij te halen, zo lijkt het. Laten we eens met inhoud bezig gaan!
Op Groklaw zijn 3 000 originele, geverifieerde documenten gepubliceerd, die te maken hebben met deze zaak.
WordPerfect draaide op dat moment op zo ongeveer alle besturingssystemen die er bestonden. Inclusief 32 bits OS/2, Digital Vax VMS en UNIX. Er zullen weinig programmeurs in de wereld zijn geweest met zoveel ervaring.
Borland (de erfgenaam van Ashton Tate en dBase 3) programmeerde voor WordPerfect, later Novell, de onderdelen Quattro Pro en Paradox. Die van Borland waren de top van de technische programmeurs!
Novell was de koning van 'het netwerk is de computer'.
Novell begreep waar het om gaat: content en samenwerken.
Niet voor niets kocht Novell WordPerfect, maar vanwege Groupwise, dat nog zeker 10 jaar 'top of de bill' is gebleven.
De programmeurs van WP/Novell kwamen met foutrapportages, waar MS op reageerde met: "doen we niet". In de documenten kan je terugvinden dat MS intern afsprak: "We repareren deze fouten, die WP doen crashen, niet en we zeggen dat we geen tijd hebben"
Novell was bezig met een revolutionaire aanpak, die het besturingssysteem irrelevant maakte.
Novell had a plan to make the PerfectOffice suite available on multiple operating systems and wanted to eventually make everything cross-platform across the different available operating systems such as DOS, OS/2, Macintosh, UNIX and Linux. Tr. at 787:11-787:15 (Gibb); Tr. at 371:13-372:7 (Harral).
openbaar beschikbare code,
graphical and object-oriented application development tool
Novell/WordPerfect was toen al waar nu bijna weer zijn..
De vooruitgang is minstens 15 jaar tegen gehouden
In eerste instantie wilde MS wel WP op W95. Maar toen Novel WP kocht en liet merken wat er in het vat zat stopte MS domweg de medewerking.
Hieronder een fragment uit de gerechtelijke stukken, die je kunt vinden op Groklaw.
Dit behandelt de technologie achter WordPerfect, die niet achterhaald is zelfs nu nog
i. Novell's WordPerfect Shared Code Technologies
Since as early as 1991 WordPerfect had been working on shared code. Tr. at 210:24-211:3 (Harral). Shared code was a component of the WordPerfect word processor15 that was shared between the word processor and other WordPerfect Corp. products for efficiency purposes. Tr. at 206:3-207:5 (Harral). Each WordPerfect Corp. product had an application "engine" that was built on top of the shared code layer, which could then move between any operating system platform where shared code resided.16Tr. at 206:3-207:5 (Harral). Because multiple product engines shared a common layer of code, their behaviors would be the same and they would all operate in a similar integrated way. Tr. at 206:3-207:5 (Harral). Shared code eventually started to take on file handling
15 Shared code amounted to around one third of the WordPerfect word processing product. Tr. at 217:24-218:3 (Harral).
16 WordPerfect made efforts to isolate its engine, or program core from the underlying operating system, and to instead, make it dependent on a shared code layer sitting above the underlying operating system. Tr. at 216:22-217:16 (Harral). As a result, in order to port applications dependent on shared code such as WordPerfect to another operating system, only the shared code layer would have to be retooled and ported to the new platform. Tr. at 216:22-217:16 (Harral). The WordPerfect program engine itself, would not have to be rewritten. Tr. at 216:22-217:16 (Harral). While in some instances the program engine would talk to the underlying operating system, such instances were rare, and most of the features that dealt with the operating system were part of shared code. Tr. at 218:4-218:20 (Harral). This resulted in a very efficient way to move WordPerfect products across operating systems. Tr. at 216:22-217:16 (Harral).
and file management functionality, such as providing dialogs for opening and saving files. Tr. at 209:15-210:22 (Harral).
WordPerfect had traditionally published or provided to third parties portions of the shared code. Tr. at 218:23-219:16 (Harral). Over time, WordPerfect began to publish all of the shared code, and promoted it explicitly to ISVs as a resource that could be written to, that would enable them to utilize the same code base across different operating systems. Tr. at 218:23-219:16 (Harral). When Novell acquired WordPerfect, the company productized the shared code and then branded it PerfectFit. Tr. at 218:21-219:16 (Harral); Tr. at 786:16-787:2 (Gibb). PerfectFit became a part of the PerfectOffice suite and shipped with PerfectOffice. Tr. at 212:16-212:19; 390:24-391:2 (Harral).
All the functionality that shared code provided to WordPerfect was available to third-party developers as well, including WordPerfect interface elements, file viewers, file converters, button bars, status bars, menus, and a macro system. Tr. at 220:9-220:13; 226:8-226:19 (Harral). In fact, PerfectFit offered to applications in the suite and to third-party developers17 a (1) common look and feel (menus, icons, toolbars), (2) common dialogues (File Open, Save, Save As), (3) common tools (Speller, Thesaurus, Grammar Checker, File Manager), (4) common automation (QuickCorrect, QuickHelp, QuickMenus), (5) common scripting language (Record and play back across applications) and (6) common code (shared between applications). See PX0395 at NWP00008289.
17 WordPerfect offered "a PerfectFit Software Developers Kit (SDK) to third parties that included a broad range of developer tools including PerfectScript, shared programming code, and APIs." See PX0207 at NOV 00498183.
The common scripting language in shared code was called PerfectScript, which provided to third-party developers the ability to call scriptable components and to capture and replay tasks performed in WordPerfect. Tr. at 227:23-229:10; 228:21-229:10 (Harral). WordPerfect also contained a layer of APIs called the WordPerfect Open Applications Programming Interface ("WOAPI"), which allowed developers to intercept certain commands and insert new code to customize WordPerfect functionality. Tr. at 229:12-230:23 (Harral); see also PX0410 at NOV-B00656859. The Open Interface APIs were supported on Windows, DOS, and UNIX versions of WordPerfect and other applications. See PX0192 at MX 9037665. WordPerfect also exposed Writing Tools APIs that were supported on Windows and UNIX versions of WordPerfect. PX0192 at MX 9037665. PerfectFit, PerfectScript, and the Open Interface API were all technologies that were included in WordPerfect the word processor. Tr. at 230:24-231:3 (Harral). These technologies were also included within the PerfectOffice suite.18 Tr. at 231:4-231:6 (Harral).
In using these features, third-party developers would write their own applications with shared code using the shared code libraries, which contained the shared code APIs that could be called. Tr. at 226:20-227:13 (Harral). Third parties would simply write their applications against the shared code layer and associated APIs, and then compile their programs using the shared code libraries for use in their products. Tr. at 226:20-227:13 (Harral).
WordPerfect and its shared code foundation was indisputably middleware. Tr. at 233:13-234:19 (Harral); see also Tr. at 783:5-783:18 (Gibb). The software sat "in the middle"
18 Novell had a plan to make the PerfectOffice suite available on multiple operating systems and wanted to eventually make everything cross-platform across the different available operating systems such as DOS, OS/2, Macintosh, UNIX and Linux. Tr. at 787:11-787:15 (Gibb); Tr. at 371:13-372:7 (Harral).
between the application core and the operating system, and provided features that would help programs work through problems and achieve needed functionality. Tr. at 233:15-234:19. Developers would purchase or license the shared code as middleware so they could use certain features in their products, such as internationalization features, instead of having to hire the expertise to do these features themselves, which could in some cases take years. Tr. at 233:15- 234:19 (Harral). Even Microsoft thought of PerfectOffice as an emerging development platform. For example, Cameron Myhrvold wrote in 1994 in a slideshow presentation entitled "Recruiting Developers for Office," that "MS is in a platform war with Office just as we are with Windows" because "Lotus and Novell/WP are building competing application 'platforms'" See PX0201 at MS-PCA 1432262. Microsoft was particularly concerned about "PerfectFit Technology and WP 'SDKs' and WP 'Windows Open API,'" and Novell including "Visual App Builder [AppWare] in PerfectOffice." See PX0201 at MX 6046634.
Novell started a program called PerfectFit Partners to market shared code to developers outside the company who wished to license it. Tr. at 225:6-225:17 (Harral); Tr. at 784:9-784:24 (Gibb); PX0192 at MX 9037665. Membership of PerfectFit Partners was at least 1,000 companies. Id; PX0333 at MS-PCA 1985716 (noting 1,500 members). The shared code team at Novell understood that they were providing the shared code abstraction layer not only to people inside of WordPerfect and Novell, but to other entities outside the company, and as a result, a documentation team worked with the shared code team to create documentation so third parties could use the shared code. Tr. at 225:18-226:8 (Harral); Tr. at 784:9-784:24 (Gibb). Novell also provided support, similar to Microsoft's Premier Support, that developers utilizing shared code could use to get help with PerfectFit. Tr. at 225:18-226:8 (Harral).
Because shared code was the foundation for each of Novell/WordPerfect's individual applications, the shared code team would usually be scheduled out six months to a year in advance of the regular applications when developing to a new platform. Tr. at 221:25-222:18 (Harral). Because shared code typically starts development before the applications that depend on it, it was unusual for shared code to be the "critical path" in releasing a product. Tr. at 225:1-225:5 (Harral).
Microsoft's anticompetitive conduct in this case destroyed WordPerfect and its ability to ship with the shared code it relied on. It also substantially delayed and interfered with PerfectOffice, which also contained the shared code middleware layer. In sum, Microsoft's de-documentation of the namespace extension mechanism harmed the distribution of PerfectFit middleware, a component of WordPerfect with the potential to weaken the applications barrier to entry.