[Navigation Bar]  
 
 

    

[OpenSUSE powered]
[BUSH powered]
[vi powered]
[XML] [RSS]
The Lone Coder
Reflections for the Unsung Linux Saviours
by Ken O. Burtch
 
[Lone Coder]

 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.

Talk back on the Linux Cafe.

November 16, 2005 

Read More:  In Mourning for Statftime --> 

  • July - Heores get the Blame
  • June - Visiting VMWare Virtualization 2010
  • May (late) - A Server by Any Other Name
  • May (early) - Innovative Techniques: The Draco Legacy
  • April - The Lone Coder with a Middle-class Dream
  • March - Welcome to Our Meeting
  • February - The Facebook Generation
  • 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