Welcome!

Linux Authors: Michael Sheehan, Lavenya Dilip, Ian Thain, Bruce Armstrong, Ellen Rubin

Related Topics: Linux

Linux: Article

A first look at Kylix 2 Open Edition

A clever peace offering, Kylix 2 Open Edition is also a well thought-out RAD (and marketing) tool.

(LinuxWorld) -- Earlier this month, Borland released Kylix 2, its popular RAD for Linux. Borland offers Kylix 2 in three flavors: Enterprise, Professional, and Open Edition. Pricing ranges from $1,999 for the Enterprise version to free for the Open Edition. The addition of new features -- Web services especially -- is the big news in Kylix 2 Enterprise. Kylix Open Edition interests me the most. In Kylix 2 OE, most of the improvements are under the hood.

I tried to download the Open Edition immediately following the November 6 announcement of Kylix 2, but it wasn't available on the Borland site until last week. I snagged a copy as soon as I learned it was there.

I installed Kylix in the home directory of my brand spanking new Mandrake 8.1 installation, after no better than a cursory examination of the license. Just as with the original version of Kylix OE, the single most important condition of the licensing for Kylix 2 Open Edition is that all code developed with it must be licensed under the GPL: no ifs, ands, or buts. Kylix 2 OE, just as in the original version, inserts a splash window in each application developed with it proclaiming that the application code is GPL.

The general hardware requirements for Kylix 2 Open Edition are a 166-MHz or faster CPU, 120 megabytes of free disk space, a CD-ROM drive, a mouse, and at least a VGA monitor.

One ominous note I read during the installation process warned, "Borland does not certify this product for use with Mandrake 8.1." That sounded so dire I thought maybe it wouldn't even install, or perhaps not run correctly if it did. It did install, and it seems to run just fine.

I saw on the Mandrake IRC support channel that the problem was hard-coded font pathing in Kylix. Since part of my Mandrake installation was to add specific font paths to replace the generic in the generated X configuration file, I thought perhaps I had dodged the bullet without realizing I was ducking. Borland tells me there are no known problems with Mandrake.

Kylix 2 has a slightly different look than the original version. It doesn't take up the entire desktop, but it seems to take a bit more than Kylix 1. This is not a problem for me in an IDE. Unlike my dislike for an office suite grabbing every available pixel, I am seldom multitasking when I code. A quick way to get to something else when I need to is all I ask.

The toolbar is placed across the top of the screen, the object inspector, form display, and editor windows open beneath it. If my memory serves, the toolbar was placed along the bottom of the screen originally. Whether I remember the original Kylix OE screen correctly, if you knew your way around the original Kylix, you won't have to think twice when using the new version.

I loaded a couple of projects I had worked on in version 1 (see Borland creates a RAD tool for the rest of us) and they compiled and ran without any signs of problems. The image below shows my Code Red Analysis tool, which I developed with the first Kylix OE. When I asked Borland if Kylix 2 OE was 100 percent backward compatible, a representative said no, there are some changes to the interface. Borland guesses version 2 is about 95 percent compatible with the original. If you plan to move existings apps, be sure to test them carefully so you don't get bit by the missing 5 percent.

CRANAL Beta 1.0

According to Borland, most of the changes for OE have to do with CLX, the Component Library Crossreference library. CLX is the glue that binds the two Borland platforms, Delphi for Windows and Kylix for Linux, together. It is the reason you can use the same source code for each platform. Not only is there an extensive list of bug fixes for the original CLX shipped in Kylix 1, there are additional CLX functions as well.

If you are currently using the original Kylix OE and don't want to upgrade to Kylix 2, you can get the same bug fixes that went into Kylix 2 by downloading FreeCLX from SourceForge. Just remember not to use FreeCLX with Kylix 2 OE. If you do, you will get all the fixes but lose what's new in CLX.

If you haven't used Kylix before, the OE comes with complete source code for a number of demo applications. Studying these can greatly reduce your learning time. There are demo apps for a basic text editor, clock, timer, sort, and even a demo illustrating the use of threads.

Quibbles & kudos

I used my existing Borland community account for the download and to request the registration serial number and authorization key. Borland insisted that I go through the entire registration questionnaire again. One of the questions doesn't even allow for a correct answer, at least in my case. It's slightly annoying to be forced to fill out a form twice, especially one that lacks good sense.

The license agreement is more than 5,000 words in length. If you don't click "I agree" the install aborts. Please, everyone who scrolled through and read all 5,000 words through the small view window before clicking "I agree" send me a note. I copied and pasted the agreement out of curiosity. Later -- while not handicapped by the tunnel vision view of the document provided during the install -- I read it. Evidently I've given Borland the right to come on to my premises and to search all my computers to ensure I am not cheating them out of any monies due for this free product.

If there weren't already an active revolution against bad law and bad licenses, this would certainly provide the impetus for one.

Why use and write enthusiastically about Kylix in spite of these minor annoyances? Easy. I like the product and I like what Borland is doing with it.

Obviously, Kylix OE is not a moneymaker for Borland. It is a gift to the open source community. That community does not even represent Borland's target developer market. Borland customers are, for the most part, programmers and IT shops firmly entrenched in the Windows world. It's aimed at Delphi users who are branching out from writing for the Windows platform to Linux. Not the other way around.

Further, it's a great product. Yes, it lacks some of the features of the commercial versions of Kylix, and in Kylix 2 the distance between Enterprise and Open Edition seems to have grown considerably. Nevertheless, for those in the Linux world who simply want to develop apps with the convenience of a RAD with a high degree of ease of use and the power of a real programming language, it simply can't be beat. Nor can its price.

Last, of course, is the license. Requiring that all code developed with Kylix OE is GPL is a great idea. It works wonderfully on both sides of the line between proprietary and free software development. Not only does it encourage the growth of free software, it protects Borland from losing sales of its Enterprise and Developer editions of Kylix through the commercial use of OE.

In short, Kylix 2 OE is a bridge between two different worlds. Instead of focusing on areas where the mix is slightly combustible, I am thankful it exists at all.

More Stories By Joe Barr

Joe Barr is a freelance journalist covering Linux, open source and network security. His 'Version Control' column has been a regular feature of Linux.SYS-CON.com since its inception. As far as we know, he is the only living journalist whose works have appeared both in phrack, the legendary underground zine, and IBM Personal Systems Magazine.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.