The Lone Coder Reflections for the Unsung Linux Saviours
by Ken O. Burtch
OpenSuSE 10: Crippleware for Developers?
SuSE (pronounced "Zoo-sah") has always been a popular Linux
distribution. On our PegaSoft download poll, SuSE has usually ranks the
second or third most popular version of Linux. Before Novell purchased
SuSE, it was viewed as the major competitor to Red Hat Linux.
After my frustrations with Fedora, I opted for OpenSuSE 10 for my new
home server. Novell's SuSE distribution has been frustrating to develop
on because Novell didn't distribute a freely accessible version on the
Internet. If you wanted to install SuSE, you had to buy it or get the
purchased CD's from a friend. SuSE was conspicuously absents from
BitTorrent sites like LinuxTracker. Because there was no free version,
SuSE Linux included closed source software but open source developers
where hampered from testing on and supporting on SuSE.
Starting with version 10, SuSE now offers an open source only version of
their software called OpenSuSE. This version is free for download. For
the first time open source developers have easy access to this popular
version of Linux and can test their software for SuSE compatibility.
There's been a lot of praise for SuSE's ease of use and installation,
but this is of no value to many of the Lone Coders out there. Pretty
screens are fine, but what we want to know is: can we do our job?
Unlike Fedora, OpenSUSE is not released without debugging. The problem
with Fedora is that it is so unstable that it is very difficult to use
Fedora seriously and to test and contribute open source software to the
project. Fedora was supposedly for early adopters but really served to
alienate the Lone Coders who made and continue to make Red Hat Linux
possible. Since the Fedora project, many surveys have shown Red Hat
losing marketshare.
The first surprise was that OpenSuSE 10 has more that closed source
packages missing. SuSE was long noted as one of the most complete
versions of Linux with thousands of prepackaged programs, ready to be
installed and tried out. Some of the features missing are due to the
much-maligned U.S. Digital Millennium Copyright Act (DMCA), which has
all but failed to achieve its desired objectives. The act forces
commercial Linux to conform defensively to these American-specific
requirements.
Although missing MP3 music players, popular mail readers, and standard
Firefox plug-ins are annoying, it's easy enough to download the patches
or rebuild music players from sources. The frustrating part for
developers is the lack of standard development tools. We finally have
access to SuSE, but they throw way the tools to let us do what we wanted
to do on SuSE in the first place. For example, there is no Java included
with OpenSuSE, not even GCC's native Java compiler that comes standard
with most versions of Linux.
Ironically, some of the missing software is available as an optional
install through Yast (the SuSE setup tool) if you search with the right
keywords, or is available as source code through Yast.
More important to me, there is no GCC Ada, another language that is
included standard with most versions of Linux. Although Ada is not a
common language in business, it's built into GCC and it's important for
American military and scientific contracts. Making a decision to go out
of the way to exclude Ada is as if Novell is saying, "Hey, U.S.
government, you may be the largest software purchaser in the world but
we don't need your business."
Doubly frustrating with Ada, GCC Ada is built using...that's right, GCC
Ada. If you turn it off in your Linux distribution, it's difficult to
get it running again. In order to bootstrap an Ada-aware GCC onto my
OpenSuSE 10 server, I downloaded the GCC 4.0.2 sources onto my Fedora
Core 3 laptop and built a static version of GCC. Since Fedora has GCC
Ada, I was able to build a full version of GCC without problems. In
order to build the Ada run-time libraries, I had to do a "make install".
I copied the "adainclude" directory, the "adalib" directory and the
build directory all over to my OpenSuSE 10 server. Once I had the static
version of GCC and the Ada run-time libraries available, I was able to
use it to bootstrap GCC 4.0.2 on OpenSuSE build a OpenSuSE-specific
version of GCC with all the standard languages I wanted, including Ada
and Java.
With GCC upgraded, I tried building my Business Shell (BUSH) on
OpenSuSE. I soon discovered not one but many broken symlinks to key
libraries. For example, SuSE 9.3 had a missing symbolic link to libSDL,
the platform- independent hardware library developed by the former Linux
games maker, Loki. The problem was not corrected in version 10. It was a
simple matter to make "libSDL.so" an alias for the "libSDL-1.2.so.0.7.1"
library and then run ldconfig so that GCC could find it. Likewise
libSDL_image had a missing symlink, and I think libpq and libmysqlclient
as well.
After my adventures in the lands of missing links, I was able to get
BUSH built and running on OpenSuSE 10, but I couldn't reasonably
distribute it unless I included GCC 4.0.2 as well.
Is OpenSuSE Linux the Novell distribution that developers have been
hoping for? Unlike Fedora, OpenSuSE is stable enough to develop on...at
least from an install and configuration perspective. But why are their
missing development tools and broken libraries when Fedora, ironically,
doesn't have this problem?
OpenSuSE's web site states one goal is to "provide an environment for
open source collaboration". OpenSuSE 10 is an important first step but
I'll have to wait and see if they can fix these problems or to find out
if this is a misguided attempt to drive developers towards Novell
development tools like Mono.
January - Prioritizing Solutions on Difficult Projects
« Truth Humility Communication Nobility Freedom Purity
Excellence Right Support Courage Compassion Quality Honesty Trust
Cooperation Challenge Education »
PegaSoft Canada - A Linux Association Since 1994