AbiWord: AbiSource's Open Source Word Processor

Craig Knudsen

Issue #64, August 1999

A cross-platform commercial application is giving away their source—here's the story.

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

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.

AbiWord

Figure 1. AbiWord Screenshot

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.

The Business Model

Unlike Netscape, AbiSource does not have millions of dollars in other product sales to fund development. Until AbiWord 1.0 is ready, AbiSource will have to rely on a combination of revenue from their previous contracting work and funding from outside sources. AbiSource currently has some investors and is in the process of looking for more.

When AbiWord 1.0 ships to end users later this year, AbiSource will begin offering services and support to generate revenue. There is a large and always-growing demand for desktop office tools. Eric believes AbiWord will attract users “who value the advantages offered by community-developed Open Source software.”

Future Development

Although I found AbiWord 0.5.5 stable enough to write this article, it is still considered a developer release. AbiWord 1.0 should be available by the end of the year. AbiSource plans to continue development of its AbiSuite software. The next application will be AbiFile, a personal database manager and then a presentation manager called AbiShow. Gnumeric (the spreadsheet under development for the GNOME project) will serve as AbiCalc. AbiSource's role in Gnumeric development will be to make it cross-platform. Additionally, support for importing and exporting documents in formats like RTF, MS Word, Word Perfect and HTML will be a high priority. These tools will be developed as modules and will be ideal opportunities for outside developers to contribute to the project.

Asked where he sees the company in a few years, Eric replied,

We expect to succeed. The existence of a full-featured, cross-platform, open-source office suite will bring substantial change to the software industry. We expect to be the company that brings that change. It's going to be a fun ride.

Resources

Craig Knudsen (cknudsen@radix.net) lives in Fairfax, VA and telecommutes full-time as a web engineer for ePresence, Inc. of Red Bank, NJ. Craig has been using Linux for both work and play for three years. When he's not working, he and his wife Kim relax with their two Yorkies, Buster and Baloo.