Editorial:Lesstif and Linux
Introduction
The LessTif project aims to provide a LGPL'd implementation of the Motif widget set for X11. This editorial/review will discuss the current state of affairs with the LessTif project, explain why it's important for linux users and developers, and call for assistance from both programmers and non-programmers on completing the project.Motif is a GUI toolkit based on Xt and Xlib. It provides a full set of widgets for application development, including menus, text entry areas, scrolled windows etc. Every major commercial version of unix ships with or has an available implementation of Motif. Motif(tm), a product of the Open Group, is a unix/X11 standard and plays heavily in the Common Desktop Environment (CDE). The LessTif project was started in 1994 by Chris Toshok and The Hungry Programmers to provide the free software community with a free (think beer and speech) implementation of this important standard library. LessTif aims to achieve source compatibility with commercial versions of Motif so that it can serve as a plug-in replacement for Motif. Binary compatibility may be an unachievable goal in all cases, but it may be possible in some cases.
Current status/Review
LessTif is now at version 0.85, and is currently quite usable. Many applications will compile out-of-the-box against LessTif, and run with few if any problems. Examples of working applications are Mozilla (Netscape), DDD (a gdb front end), Open Inventor (SGI's model building software), xmcd (a cd player), xmgr (a graphing tool), nedit (a text editor), and many others. Some of these applications still have a few behavioral problems, but for the most part a patch is available within hours of the problem being identified.Many people are perhaps familiar with LessTif, but haven't tried it in a while because of previous versions not working well. From personal experience I can state that LessTif is vastly improved over 6 months ago. At that time, a molecular graphics application I wrote wouldn't even compile under LessTif without extensive modification, and core dumps due to LessTif were common. With the current version of the LessTif library it works just as it does under Motif.
However, there is still Motif 1.2 functionality not implemented in the LessTif 1.2 library, Drag-n-Drop is only partially implemented, keyboard traversal of menus is not quite right (but mouse navigation is flawless), and there are other obscure minor problems relating to Motif features that are rarely used by applications. Some widgets do not have all the behavior of their Motif counterparts as of yet. There is partial support for Motif 2.0, MWM, and UIL, but development of those libraries/utilities rightly lags behind the main goal of Motif 1.2 compatibility. In the words of Rick Scott, core team member, "Functionality gets implemented as it is needed. Most of the framework is in place and the details are worked out in the places that applications commonly use. If no applications use a particular feature then chances are not much time has been spent on it. Drag and Drop comes to mind here, but I cannot think of any applications that use it, so it lingers in the background."
Why LessTif is important to the linux community
Many readers of slashdot are partisans of either KDE or GNOME, and some are likely to think that the presence of either of these toolkits renders LessTif unnecessary. This is simply not true. First KDE and GNOME are both desktop environments, whereas LessTif is a programmers toolkit, having more in common with GTK+ and Qt than KDE or GNOME. True, there is the MWM (Motif Window Manager) which is supplied as part of LessTif, but that is not necessary for use of the LessTif/Motif widgets. Finally, and most importantly, even users who have installed either KDE or GNOME will probably want to run some applications which are based on Motif, which is another argument for LessTif on linux.As many people agree, applications are currently the major missing element for linux world domination. Many, many existing unix applications use Motif. A free implementation of Motif makes it easier to port such applications to linux. It's highly unlikely that a major vendor is going to invest the time needed to port a Motif application to GTK+ or Qt. The existence of a good, free implementation of Motif would only encourage both commercial and open source development for linux. Further, until development of KDE and GNOME stabilizes, many corporate types would view it as a risk to write applications based on those toolkits, because they are moving targets --- not to mention the fact that some corporate types believe that "if it's free it can't be good". Even though LessTif is not yet complete, it's based on a well-established, well-known standard.
There are commercial versions of Motif available for linux. Commercial application vendors usually supply their product statically linked against one of these versions of Motif. This is the case with Netscape Navigator, and several other commercial packages for linux. A free implementation of Motif would allow dynamically-linked versions of these programs which would be preferable in terms of both aesthetics and disk space. And to many people, the fact that a complete LessTif would enable a completely free Mozilla makes the project worthwhile.
The large population of legacy Motif applications, the development of new applications based on Motif, and the fact that Motif is a well-established unix standard all argue the importance of LessTif for linux, and for its inclusion in some level of the Linux System Base which is currently being developed.
Call for assistance
As this editorial has hopefully showed, LessTif could be (and is) an important asset to the linux community. Unfortunately, LessTif development has slowed somewhat in recent months as some of the key players have changed situations and now have other heavy commitments on their time. The LessTif project is looking for volunteers, including non-programmers. Those who have been held back from contributing to linux because of lack of programming experience, here's your chance.
Specifically, the project could benefit from a web site designer to give the web pages a much-needed face lift. This would be an ideal project for someone looking to give back to linux while building up a portfolio of web pages they've designed. Other non-programmers could help by serving as dedicated testers (there's a large body of test programs that accompany LessTif). Someone (hopefully several someones!) with access to a commercial Motif implementation could help greatly by documenting the behavioral differences of these test programs under LessTif and Motif.
There are also several projects that Xt/Xlib hackers could assist with. The development model of LessTif is a bazaar with the core team members serving as coordinators when they're not implementing code themselves. Interested developers can use anonymous CVS to access the current sources.
Finally, everyone can help by compiling their favorite Motif(tm) applications under LessTif, and reporting and/or fixing any problems they find. If you can't fix the problem, the next best thing is to write the smallest possible test program which demonstrates the problem and send it to the list. Of course a written description of the problem sent to the list will not be ignored either.
Interested parties can contact the LessTif core team at lesstif@hungry.com. More information on LessTif, including source and binaries, is available at LessTif.org.
Editorial:Lesstif and Linux More Login
Editorial:Lesstif and Linux
Related Links Top of the: day, week, month.
Slashdot Top Deals