AbiWord: AbiSource's Open Source Word Processor
There is a growing number of quality open-source efforts for both word processors and office suites. Both GNOME and KDE are actively developing a variety of office applications. Although these efforts may end up with commercial-quality applications (and some of the developers are being paid to work full-time on them), they are not being developed by a for-profit company.
AbiSource is currently developing the open-source word processor, AbiWord. AbiSource is indeed a business, rather than a network of volunteer open-source developers: their goal is to be profitable using paid employees as the core team of developers.
Although the other open-source efforts are a great asset to Linux in general (as are commercial companies distributing free binaries), a company releasing source code for their only application deserves a closer look.
AbiSource began in January of 1997 as a contracting firm with no plans for creating products. The company decided to shift its focus toward product development, but it was not until early 1998 when the Open Source movement gained momentum that they developed a new business plan. By the end of 1998, they had already released the first developer version of AbiWord under the GNU General Public License (GPL).
AbiSource's mission is “to become the leading provider of open-source desktop productivity applications.” Their plan is to develop a cross-platform, open-source office suite called AbiSuite. Their first application under development is the word processor AbiWord.
AbiSource is betting 100% of their future on Open Source. One of the difficulties in open-source development is getting volunteer developers involved. (Netscape's Mozilla browser development is still almost entirely done by Netscape/AOL engineers.) Asked how to rate the success of AbiSource's open-source development model, AbiSource founder Eric W. Sink replied,
People tend to look at projects like Apache and Linux with the assumption that community development is a panacea. When you sit down to duplicate their experiences in the application space, the first thing you do is resolve to eliminate all obstacles which would prevent widespread community participation in the development. After that, you realize just how successful Apache and Linux are. It's not enough to let the community participate. You've got to create something cool enough that others find it attractive. We're just now getting to the point where our project has serious participants beyond the original core group.
Open-source development has already helped the progress of AbiWord. A volunteer developer provided a BeOS port. Others provided translations to allow AbiWord to be localized for four languages other than English.
What separates AbiWord (see Figure 1) from the other open-source word processors available for Linux? It is also available for Windows and is a WYSIWYG (what you see is what you get) editor.
Open Source software for Windows is uncommon. Sure, you can download plenty of free software for Windows, but source code for Windows applications is the exception rather than the rule. I suppose we can thank Microsoft for not bundling a free compiler with each version of Windows. What's an end user going to do with source code and no compiler? Even AbiWord requires Microsoft Visual C++ ($109 and up) to build.
AbiWord's source code is approximately 90% cross-platform and around 10% platform-specific. After evaluating the wxWindows cross-platform GUI toolkit (and nearly choosing it), they decided to implement their own cross-platform library. AbiWord is written in C++ and uses the GTK toolkit for its UNIX GUI (and the Win32 API for its Windows GUI). Ports are underway for both BeOS and Macintosh. In fact, you can see the directories “beos” and “mac” in the latest source code tree.
Windows users expect word processors to be WYSIWYG. This allows the user to see what the printed document will look like, as they edit it. In the UNIX world, this is more difficult to accomplish, and therefore less common. In order to achieve WYSIWYG under Linux, you need to use Type 1 PostScript fonts for both display and printing. (PostScript is a page description programming language for printers.) Many X servers (such as XFree86 for Linux) include PostScript fonts, but do not include the associated metric files needed to use the fonts for printing. AbiWord users are required to install a set of fonts taken from GhostScript (an Open Source PostScript interpreter) and update their X server configuration to recognize the new fonts. The PostScript fonts are used by the X server to display the text and by AbiWord to generate PostScript output to the printer. As of AbiWord 0.5.5, installing the PostScript fonts involves hand editing files, but this process will be automated in future releases.
Practical books for the most technical people on the planet. Newly available books include:
- Agile Product Development by Ted Schmidt
- Improve Business Processes with an Enterprise Job Scheduler by Mike Diehl
- Finding Your Way: Mapping Your Network to Improve Manageability by Bill Childers
- DIY Commerce Site by Reven Lerner
Plus many more.