AbiWord: AbiSource's Open Source Word Processor

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.

______________________

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState