At last, Motif sources become freely available. The license covering
the release of "Open Motif" allows the sources and objects to be used free
on operating systems which are themselves open source systems (e.g.,
Linux and FreeBSD). The initial distribution is a standard Motif 2.1.30.
There are some restrictions: No title or ownership of the software is
transferred. A license is required from the Open Group to distribute on non
open source platforms. Modifications may be made to the Motif system, and
the rights to any such value-added changes belong to the modifier, who may
keep these or filter them back to the master sources. If the modifier wishes
to distribute a modified system, it must be in binary form. That is, Open
Motif's license is more like the
FreeBSD license
than GNU: There is no
absolute obligation to distribute changes in full source so long as the
original license is not violated.
What does this mean for Motif's future? First, technically, one of the
biggest problems associated with Motif is that writing Motif-derived
components has been something of a black art. There are plenty of
Motif-compatible components, but relatively few directly sub-classed from
Motif itself, despite the fact that Motif 2.X contained enhancements
specifically included to ease the task of the widget author.
This relative paucity is due largely to the fact that writing components by
referring only to the documentation leaves much to be desired: The
necessary understanding, which can only be gained by a thorough
inspection of the sources themselves, has in the past been reserved for the
select few who had the money to acquire them. This has, however, not
proved a significant drawback to the Motif application programming
community due to the very large range of compatible custom components
available. Whatever Motif itself has failed to provide (which in terms of
basic components is very little) could always be acquired in quality from
the likes of the KL group and others.
Second, like all software, Motif has its own practical programming quirks.
And documentation, Motif's included, has a habit of describing software as it
was intended and not as it was implemented. Notwithstanding the thorough
documentation provided by the Open Group, in the absence of reference
sources, devising workarounds for given situations can be extremely
difficult. Previously, the only remedies were experience and news groups.
Third, Motif has been largely locked out from the success of the Linux
operating system, which owes a great deal of its success to the open source
community.
Gnome and
KDE, together with the
supporting languages
GTK+ and
Qt, have flourished precisely because the reference sources can be
readily acquired at little or no cost. And the open source movement is not
going away.
Although common-desktop-environment (CDE) window management is not
included in the release, the announcement is very good news for the Motif
community and for the UNIX community as a whole. It is important that
UNIX preserves as consistent a programming interface at all levels of
programming as possible, whether in kernel, system, or application
domains.
Diversity is a strength, but we don't need the fragmentation that
results when each platform requires an alternative set of distinct APIs.
Linux is not UNIX; we all are. Now we can all share the same native windowing
system on terms which satisfy the open community, but which reserves
the necessary proprietary rights for commercial organisations.
The non-inclusion of CDE management under the terms of the
license is irrelevant: Motif applications should work with any ICCCM
compliant X desktop.
Before we all dive in and modify the Motif sources to suit our own tastes
and preferences, I'd like to issue a warning. Motif is mature, purified,
debugged, and robust. It runs in an extremely wide range of domains, from
the humble and mundane to the large and international. It ports across
every UNIX you might care to mention, and others like VMS.
However, I believe that there are certain things which a programmer should
not stick his fingers into unless he has precisely the necessary experience
and qualifications to do so. And a windowing toolkit which provides a
consistent look and feel across the entire component range in these
circumstances is one of them. Read, learn, inwardly digest: These are
valid uses of the Motif open source codes.
Don't hack: your new features might kill someone, or destroy critical
backwards compatibility, or prevent the system from scaling up, or debar
it from running seemlessly across the world's languages. You might ruin
the portability, or break the connection between Motif and the vast range
of compatible third party components, or prevent the toolkit from working
with some specific desktop. This is precisely why the Open Group is
ultimately in charge of maintaining the standard.
Just remember that there are things like space shuttles, aircraft
engines, or stock exchanges where the entire suite of test or main
programs have a Motif front end. Now that Motif is becoming more open,
we are all collectively responsible for this.
Open Motif is a good first step for the development community. Let's hope
the complicated history and licensing of Motif will soon allow Open Motif
to become a fully Open Source Product on all systems.
O'Reilly & Associates recently released
Volume 6B: Motif Reference Manual, 2nd Edition, by Antony Fountain.
Return to: www.oreilly.com