Originally Published: Sunday, 29 October 2000 Author: Tom Dominico, Jr.
Published to: daily_feature/Linux.com Feature Story Page: 1/1 - [Printable]

Linux: Growing Pains

Tom Dominico, Linux.com's Assistant Editor-in-Chief, takes Emmett's place for this week's Sunday editorial. Tom talks about how Linux keeps getting bigger, but new application development tools on the horizon have the 'old guard' Linux hackers in a tizzy. Read on for some great insight into the debate around Gnome Basic and the supposed 'dumbing-down' of Linux.

   Page 1 of 1  

The Linux user base grows larger, but not without its share of growing pains. No longer simply a "hacker's OS," Linux has begun to more effectively target the "average user." Invariably, this tends to disturb some members of the "old guard," as attempts to make the OS easier to use are interpreted as "dumbing things down"...and the flame war begins anew.

A recent example is the attempt by the Gnome group to provide Visual Basic for Applications (VBA) scripting support in its office suite, to be known as Gnome Basic. For those unfamiliar with it, VBA is the scripting language used for automation in the Microsoft Office suite of applications. All Microsoft Office macros are written in VBA. In an effort to make it easier for users to switch to Linux from Windows, Gnome decided to provide compatibility. A user could simply import their existing documents or spreadsheets and have them function properly with no need to make changes. Sounds like a nice feature, right? (Note: My understanding is that KDE plans to provide something similar, as well as possibly a full-blown VB-like IDE, but I'm going to discuss only Gnome Basic here to keep matters simple.)

Unfortunately, it has been met with the all-too-familiar cry of, "You're dumbing things down!" Of course, there are other reasons why people are against the idea. Some feel that the scripting security issues that have plagued Microsoft applications would become a threat on Linux. To avoid this, the entire API will not be exported and made available to embedded scripts. Rather, each entry point into a program such as Gnumeric would have to be manually registered and "blessed." Embedded scripts would be limited, and could use only "blessed" interfaces, meaning that they would have control only over non-dangerous operations. This should prevent doing damage to the system.

Another question raised is why automation is not being implemented via some other language, such as Python, and the VBScript converted to that language. While the decision has been made to not convert VBA to any other language for compatibility and export issues, there are "plugs" for using external scripting languages, implemented via CORBA. This means that you'll have your choice of languages when it comes to automation. Therefore, this becomes a non-issue. Really, the heart of the debate centers around the concept of "dumbing things down." It's the same phrase heard whenever anyone attempts to add ease of use to Linux, and it's getting a little tiresome.

Several distinct camps of users exist now in the Linux community. There's the old guard, who considers VB and the like "toy languages," and looks down upon attempts to make using Linux easier. There are new users who migrated from Windows. Many of them appreciate efforts to make Linux easier, and just might be able to stop using Microsoft Office if the macros were compatible with free office suites. As a former Windows user, I know it's possible to spend a lot of time and energy on complex macros. Most people wouldn't want to use the necessary time to convert them to a new scripting language. Without some sort of conversion tool, they would have no other choice.

If people have the choice of any scripting language they choose, what's the issue? This appears to have more to do with disdain for VB than with the concept of allowing people to use Gnome Basic for application automation. The purported concern is that since VB is such a bad language, it leads to bad programs, thus "clouding up" the Linux application space with poorly written code. There's also the notion that visual IDEs are inherently bad because they separate the programmer from the code. The fact is, however, that it's just as possible to write bad C code as it is to write good VB code.

Perhaps VB isn't the best language, but I don't believe that all VB applications are inherently bad because of the language in which they were created. I've used VB applications that were very stable and functional. Conversely, I've used C applications that were coded poorly. It's about using the right tool for the job. Sometimes, employing a visual tool makes more sense than constructing something from the ground up in C. Isn't Linux supposed to be about choice? The plethora of window managers, desktop environments, widget toolkits, etc. ought to supply a resounding answer of "Yes" to that question. We cannot offer choice in one breath, but then condemn choices that we do not agree with in the other. You don't want to use Gnome Basic? Fine, don't use it, but don't stop others from doing so.

Linux is moving in the direction of the average user, whether some people like it or not. Gnome Basic is one of the tools that will make it easier for people to make the transition from other operating systems to this one. That's what it's supposed to be all about, right? This isn't just a revolution for the elite. This is a revolution for everyone who wants to be free from the shackles imposed by proprietary operating systems such as Windows. Let's keep that in mind before we accuse the next ease-of-use proposal that comes along as an attempt to "dumb down" Linux.

   Page 1 of 1