Sunday, October 28, 2007

Amazing 3D view of linux kernels..


linux-1.2.0

linux-2.4.1

A guided tour of Linux-2.4.5: 9 MB MPEG (384x288, 2000 frames).

From 1.2.0 to 2.4.1: 12 MB MPEG (384x288, 1400 frames).
From 1.2.0 to 2.4.1: 4 MB MPEG (320x240, 1200 frames, low motion).

These are 3D renderings of dependencies in the Linux kernel source code.

Grey boxes are files.
The green tree is the directory structure. The two main hubs are "fs" and "net". The "drivers" tree is not rendered.
Blue lines are function dependencies.
Red lines are variable dependencies.
Yellow flashes show file size modifications.
Green flashes show files being moved across directories.
Red flashes show new files.


How this is done

For each kernel source tree, C files are preprocessed and parsed. Functions and static variables are cross-referenced. The resulting data structures (about 1MB each) are written to disk before rendering.
This takes up to 15 minutes for a recent kernel.
Some C files are excluded manually:
files which do not belong in the kernel (gentbl.c, skeleton.c, scripts, tools, ...)
arch/alpha, ... (only i386)
architecture-dependent drivers
C files which are #include'd (mmap_avl.c, ...).
Layout is done with trivial spring-based techniques. Links are weighted according to how often functions are used. This is why kernel/printk.c, kernel/sched.c etc get placed outside the core.
Color effects are computed by diff'ing successive versions.
The custom 3D renderer uses transparency effects rather than polygons and textures. It runs at interactive frame rates on small kernels.


Limitations

Timing currently reflects version numbers, not release dates.
Some structure information (e.g. macros) is lost through preprocessing.
Dependencies in __asm__ arguments are ignored.
Preprocessing errors and warnings are ignored.
CFLAGS in local Makefiles are ignored.
Some files in old kernels used to include headers from /usr/include (e.g. stdio.h). They are not processed correctly.
Some drivers won't compile without a proper combination of CONFIG_ #defines. They are not processed correctly.
The parser might be buggy because of unconventional side-effects and remaining reduce/reduce conflicts (i.e. I haven't tested it for any other application).


Interesting facts

There are files with CR/LF carriage returns in some old kernels.
Parsing C is fun. The following code demonstrates exciting features of GNU C used in old versions of Linux:
int a, b;
typedef int t, u;
void f1() { a * b; }
void f2() { t * u; }
void f3() { t * b; }
void f4() { int t; t * b; }
void f5(t u, unsigned t) {
switch ( t ) {
case 0: if ( u )
default: return;
}
}

source

The State of the Linux Gaming Industry

When I read reports on the Linux gaming industry, I can't help but wonder where the Linux gamers are at? Can we find them on the Nintendo Wii or perhaps the Playstation 3 (PS3)? After all, I have heard that PS3 actually works rather well with Yellow Dog Linux.


Now, I fear that if we plan to see the level of acceptance we are seeing with Ubuntu, the Linux gaming industry is going to have to make some tough choices. This will involve the licensing game developers choose, goals and profit models for those who remain open source, and of course, competing with the mega-giants like EA, who is happily working with Apple on the OS X platform .

Enter Loki: The One Best Hope At Porting Popular Windows Games to Linux. Even when considering the number of popular titles in Windows, it was nice to know that we had Loki pulling for the Linux users just a few years ago. Today, they are out of business due to bankruptcy. The remaining players in the non-open source Linux gaming world include " id " ( for now anyway ), Epic Games and others.

Some will argue that this is what these companies get for daring to bring forth a non-open source product to the Linux landscape. Personally, I find this attitude to be elitist and unfortunate as these games were not running on the slow moving mess laughingly called Cedega . No, they ran natively, and many of them ran quite well.

To be fair, it has been over a year since I've tried Cedega on a variety of different distros, but when Cross Over Office is providing me with better results than this option designed for gaming, something is seriously wrong. However, latest reports suggest that things are improving with Cadega.

A Fantastic Game for the Open Source At Heart. If you are tired of playing games like SuperTux and are ready to step up to something with 3D acceleration, great graphics and a gaming engine that offers everything you could want from a first person shooter, look no further. The 'Cube' gaming engine is the first thing to come out of the open source community that actually shows enough detail, a big enough fan base and interest in further development that it could quickly become a cult classic.

Offspring from the Cube Gaming Engine. Already, the Cube engine has generated enough interest to where three popular 'mods' (modifications from the original Cube) have taken shape.

Cube 2: Sauerbraten : This mod is a little less about glamor in gaming and more about a trip back to old-school gaming.

Cube 2: Eisenstern : To some limited degree, I see this as evolving into something even more than a basic single player game. With a little time, money and know-how, we might one day see this evolving into a World of Warcraft type clone. This would likely happen with another mod, though.

AssultCube : Perhaps the mod that will gain the most attention for gamers in the Linux world looking for the most realism in their first person shooter title. AssultCube is a very clean, well designed mod of Cube.


Finding Games, Open Source And Closed. For the uninitiated, locating great games to enjoy in Linux can be a bit troubling. I used to buy mine from Loki. Today, we continue to see two great resources that have weathered the pressures of the Windows gaming industry.

The Linux Game Tome : An old but valued resource that has stood the test of time. Despite the lack of clear gaming categories, this remains the king of gaming sources in my world.

Liberated Games : A resource that provides games for multiple platforms, some of which may already appear on the 'Tome' above. Liberated Games is still a good place to check out to see if anything has been released that is worth checking out.


All in all, the state of the Linux gaming industry is improving substantially, but it will take sometime before gaming giants, such as EA, focus on Linux and take it seriously as a platform. In the meantime, just like with everything in Linux, it's up to the community to band together and show enough demand for the heavyweights, or at least open source developers, to take notice.

Wednesday, October 24, 2007

FreeBSD 7.0-BETA1 Available

FreeBSD® is an advanced operating system for x86 compatible (including Pentium® and Athlon™), amd64 compatible (including Opteron™, Athlon™64, and EM64T), UltraSPARC®, IA-64, PC-98 and ARM architectures. It is derived from BSD, the version of UNIX® developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in various stages of development.

Download AMD64 version

Saturday, October 20, 2007

Top 10 Colleges for Gaming

The folks at Global Gaming League have compiled a very impressive list of the top 10 colleges that excel at gaming. They actually did a survey of students at many universities, so this is a real and factual list. We’re not talking about universities that teach gaming, rather ones with strong gaming culture among students with gaming clubs, frequent LAN tournaments, a fast campus Internet connection and other factors that embrace such tech trends.

But a growing number of students are choosing colleges based on their compatibility with video gaming. Super hi-speed connections and dedicated servers, big-screen TVs in lounges, gaming-related classes, social events centering around LAN parties and perks like free download licensing are increasingly part of the lure of certain schools.

That video gaming is now a consideration should not be surprising. These students grew up on video games and grew accustomed to a large part of their entertainment being delivered by multiplayer games instead of television, movies, books or other media They are an elusive, fickle and important demographic in today’s advertising markets, and choosey gamers are now an established subculture on U.S. campuses.

You can read the full list of details at GGL but here are the top 10.

1.University of Texas - Austin, Texas
2.Penn State University - State College, Pennsylvania
3.Rochester Institute of Technology - Rochester, New York
4.University of California at Los Angeles - Los Angeles, California
5.Digipen Institute of Technology - Redmond, Washington
6.University of Southern California, Los Angeles, California
7.Georgia Institute Of Technology - Atlanta, Georgia
8.University of Minnesota, Twin Cities campus - Minneapolis, Minnesota
9.University of Michigan, Dearborn Campus - Dearborn, Michigan
10.Full Sail Real World Education - Orlando, Florida

It’s no surprise that UT at Austin is on the list. Many of my friends from Houston attend UT and I know first hand what the gamer community is like there. With over 50,000 students, it’s impossible to avoid having a strong gaming environment. I was also pleased with the fact that Georgia Tech made it on the list. At the beginning of every year they hold a LAN party in the library for the freshmen. Many students at Georgia Tech are gamers as well, even the frat guys and sports jocks.

If that wasn’t enough to convince you that Tech is a top ten gaming school, consider its blazing Internet connection. Tech’s connection is so good that another local university piggybacks off its backbone. The reality is that the only thing keeping Tech out of the top five is its poor geographical location. The Atlanta gaming scene is fairly barren.

As far as a design curriculum, Tech has signed on as part of Microsoft’s new XNA development scheme, a new set of tools provided by the software giant to facilitate game design for its console and PC platforms. Tech will begin incorporating some of the development tools for the Xbox 360 into its classes this fall, but it did not have a very well-established game development program prior to this year.

Wednesday, October 17, 2007

Seven steps to increase Linux security

Ask a network administrator in any large organisation to compare Linux with network operating systems like Windows NT or Novell Open Enterprise Server, and chances are he'll admit that Linux is an inherently more stable and scalable solution. Chances are he'll also admit that when it comes to securing the system from outside attack, Linux is possibly the most difficult of the three to work with.

This perception is not an uncommon one -- many network administrators new to Linux find it hard to transition from a point-and-click security configuration interface to one based on editing complicated and hard-to-locate text files. Most administrators are well aware of the need to manually put in roadblocks and obstacles to trip up would-be hackers and ensure that your company's data stays secure; it's just that in the unfamiliar Linux world, they're not completely sure of their bearings or where to start.

That's where this document comes in. It outlines some easy things administrators can do to make their Linux server more secure and significantly reduce the risk they face. This tutorial lists seven such items.

1. Protect the root account
The root, or superuser, account on a Linux system is like a backstage pass at a Stones concert -- it allows you access to anything and everything. For this reason, it's well worth taking extra steps to protect it. Start by setting a hard-to-guess password for this account with the passwd command, change it on a regular basis, and restrict knowledge of the password to a few (ideally, only two) key people in the organisation.

Next, restrict the terminals that can be used for root access, by editing the file /etc/securetty. To avoid users leaving a root terminal "open", set a timeout for inactive root logins by setting the TMOUT local variable, and ensure that the root command history file (which might contain sensitive information) is disabled by setting the HISTFILESIZE local variable to 0. Finally, enforce a policy of using this account only to perform specific administrative tasks, and discourage users from logging in as root by default.

Tip: Once you've closed these holes, the next step is to require that every normal user account must have a password and ensure that passwords do not use easily-recognisable heuristics such as birthdays, user names or dictionary words.

2. Install a firewall
A firewall lets you filter data packets travelling in and out of your server and ensures that only those packets matching pre-defined rules are permitted to enter or exit. A number of excellent firewalls are available for Linux, and firewall code can even be compiled directly into the kernel. Begin by defining input, output and forwarding rules for packets leaving and entering your network, using the ipchains or iptables commands. Rules may be specified on the basis of IP addresses, network interfaces, ports, protocols or combinations of these attributes; these rules also specify what action (accept, reject, forward) to take when a match occurs. Once the rules are installed, test the firewall extensively to ensure that no holes exist in it. A good firewall is your first line of defence against common attacks like the distributed denial of service (DDoS) attack.

3. Use OpenSSH for network transactions
An important issue in client-server architecture involves the security of data being transmitted over the network. If network transactions take place in plaintext, it is possible for a hacker to "sniff" the data packets being transmitted and thus gain access to sensitive information. You can close this hole by using a secure shell utility like OpenSSH to create a secure encrypted "tunnel" for your data to pass through. Encrypting your connections in this manner makes it extremely hard for unauthorised users to read the data going back and forth between network hosts.

4. Disable unwanted services
Most Linux systems are installed with a wide variety of different services enabled, such as FTP, telnet, UUCP, ntalk and so on. In most cases, these services are rarely used and leaving them active is like leaving your windows open for a burglar to slip in. You can disable these services by commenting them out in the /etc/inetd.conf or /etc/xinetd.conf files and then restarting the inetd or xinetd daemon. Additionally, some services (for example, database servers) may start up by default during the boot process; you can disable these by editing the /etc/rc.d/* directory hierarchy. Many experienced administrators disable all system services, only leaving SSH communication ports open.

5. Use a spam and anti-virus filter
Junk e-mail and viruses annoy your users and can sometimes cause critical network failures. Linux is surprisingly resistant to viruses, but client machines running Windows may be more susceptible. Therefore, it's a good idea to install a spam and virus filter on your mail server itself, to "defang" suspicious messages and reduce the risk of a chain of collapses.

Begin by installing SpamAssassin, a leading open-source tool that uses a combination of different techniques to identify and flag spam; the program also supports user-based whitelisting and graylisting for greater accuracy. Next, install procmail for user-level filtering based on regular expressions; this tool allows automatic filtering of received email into mailboxes, at both a user and system level. Finally, install Clam Anti-Virus, a free anti-virus toolkit that integrates with sendmail and SpamAssassin and supports on-access scanning of email attachments.

6. Install an intrusion detection system
Intrusion detection systems (IDS) are early warning systems that let you know if changes occur on your network. They're a great way to identify (and prove) attempts to break into your system, although at the cost of increased resource consumption and potential red herrings. There are two fairly well-known IDS' you can try: tripwire, which tracks file signatures to detect modifications; and snort, which use rules-based directives to perform real-time packet analysis and search and identify attempts to probe or attack your system. Both packets can generate e-mail alerts (among other actions) and are useful when you suspect your network is being compromised but need definitive proof.

7. Perform regular security audits
When it comes to securing your network, this final step is possibly the most important. Here, you put on a black hat and do your best to circumvent the defences you erected in the previous steps. Doing this provides you with an immediate and objective assessment of how hard your system really is, and identifies potential vulnerabilities that you should fix.

A number of tools are available to help you in this audit: you can attempt to hack your password files using password crackers like Crack and John the Ripper; you can use nmap or netstat to look for open ports; you can sniff the network using tcpdump; and you can try exploiting publicised holes in your installed programs (Web server, firewall, Samba) to see if they offer a way in. If you do manage to find a way past your obstacles, rest assured that others will too; take immediate measures to close the openings.

Protecting your Linux system is an ongoing task, and so you shouldn't rest easy once you've done the steps above. Visit the Linux security forums for more security tips, and be proactive in monitoring and updating the security of your system. Good luck!

Tuesday, October 16, 2007

25 Reasons to Convert to Linux

Businesses, educational institutions, governmental agencies and other organizations around the world are converting1 their computer operating systems from Microsoft Windows to Linux at an increasing pace. They are likewise converting their application programs from commercial software to free software (also referred to as open source software). There are at least 25 reasons for this situation, including:

(1) Because it is licensed under a free software license2, Linux (as well as other free software) is available at no cost. It can be downloaded from the Internet for free, and it can be purchased in disk or box form at trivial cost. One copy can be used on as many computers as desired with no restrictions. This is in sharp contrast to Microsoft Windows, which can easily cost US$100 or more per computer.

(2) Because it is free software, Linux is also free in the sense that anybody is permitted to modify it, including its source code, in any way desired. If modified versions are not redistributed (i.e., given away or sold outside of an organization), they can be kept secret. This is also in sharp contrast to Microsoft Windows, for which modification of the software is generally not permitted. Source code is the original version of a program as it is written by a programmer using a programming language and before being converted by a compiler into a form such that its instructions can be understood directly by a computer's CPU (central processing unit); it is generally necessary to have the source code in order to be able to make changes to a program. This ability to freely experiment with and modify the source code, and to do so without disclosing the modifications to outsiders, has been a very important consideration for a number of large organizations3.

(3) High quality support for Linux is available for free on the Internet, including in newsgroups and other forums. Some people claim that this support is at least as good as that provided for proprietary (i.e., commercial) operating systems for a fee. Linux support can also be purchased on a commercial basis if desired. Among the types of support that can be required for operating systems are help with customization, assistance in installing new programs, patches to cope with new security threats and patches to fix newly discovered bugs (i.e., defects). Fortunately, the need for the last two types is relatively infrequent for Linux.

(4) There is little possibility that support for Linux will be discontinued at some future date due to planned obsolescence or for any other reason. This is because the source code will always be available to anyone who wants it, including individuals who provide support for free over the Internet and businesses which provide it for a fee. In contrast, with Microsoft Windows and other proprietary software for which the source code is usually kept secret, obtaining support becomes difficult (from both a technical and a legal point of view) if the developer decides to withdraw it (for example in order to try to force users to pay for upgrades to newer versions).

(5) There is little or no fear of major obsolescence, planned or otherwise, with Linux. This is because the UNIX architecture on which it is based has been exhaustively tested and refined for more than 35 years and has proven to be extremely efficient, robust and secure. Improvements continue at a rapid pace, but new versions remain basically compatible with the underlying UNIX architecture.

(6) There are no forced upgrades4 for Linux users. This because older versions continue to be supported (e.g., with the development of new security patches and device drivers) and because newer versions, if desired, are available for free (as is all free software) and are typically highly compatible with older versions. The developers of proprietary software, however, have strong financial incentives to engage in planned obsolescence, namely, in order to induce users of earlier versions to spend money to buy or lease new versions.

(7) Should a user decide to upgrade to a newer version of Linux, there are no licensing fees or other software costs if the user selects a free distribution (i.e., version). Moreover, the training, program modification/conversion, hardware acquisition and other costs associated with upgrading to a new version are also relatively low due to the compatibility with earlier versions.

(8) Linux has no onerous requirements for keeping track of licenses. In a company with hundreds or thousands of computers, a number of full time personnel can be required just to make sure that all of the computers in use are in compliance with the complex licensing terms of the EULAs (end user license agreements) for Microsoft Windows, Microsoft Office and other proprietary software. And for Linux users there is no fear of surprise audits by the BSA (Business Software Alliance)5, with possible severe penalties for minor license violations.

(9) Linux features superior security, including a very low rate of infection by viruses, trojans, worms, spyware and other malware. This is because UNIX and all of its descendants (including Linux) been designed from the ground up with security in mind, rather than having attempts at security tacked on as an afterthought. For example, users do not routinely use the system as the root (i.e., administrative) user, thereby protecting key system files even in the event of a break-in by a malicious intruder. Also, a robust firewall is included in major distributions and it is enabled by default. Another important factor is the free availability of the source code, which allows thousands of people around the globe to search for security vulnerabilities in it6.

(10) Linux is highly resistant to system crashes and rarely needs rebooting (i.e., restarting). This can be very important for large organizations for which even a few minutes of down time can result in a substantial cost. The reason is that Linux has been designed from the ground up to be an extremely stable and robust operating system, incorporating all that has been learned about attaining these goals from the more than 35 years of history of Unix-like operating systems.

(11) Although the number and variety of application programs for Linux are not yet as large as those available for the Microsoft Windows operating systems, an extensive selection already exists and it is continuing to increase rapidly as more and more developers start creating programs for Linux. Most Linux applications are also free software (including nearly all of the most popular ones), and many have features and performance equal or superior to those of comparable applications for use with Microsoft Windows. In fact, users often find that all the applications that they want are freely available on the Internet and that it is no longer necessary to purchase any commercial software.

(12) There is a choice of numerous distributions (several hundred) of Linux, each with its own unique set of characteristics but all basically compatible with each other. This allows users to select the versions which best meet their specific requirements. It also means that if one provider of Linux were to go out of business, there would still be many others from which to choose. Moreover, it fosters a healthy competition among them, thereby contributing to the continuous improvements in Linux's quality and performance. If the choice seems overwhelming, it is usually difficult to make a mistake by selecting one of the most popular distributions, such as Red Hat or SuSE.

(13) Linux features a high degree of flexibility of configuration, and a great deal of customization can be accomplished very easily and without having to modify the source code. For example, it is a simple matter to configure Linux during installation so that it will be optimized for use as a workstation, desktop computer, notebook computer, web server, database server or a router. Likewise, the appearance and behavior of the desktop, including icons and menus, can be configured in an almost infinite number of ways, according to user tastes or requirements. They can even be made to resemble Microsoft Windows. Should this not be enough, the ability to freely access, revise and recompile the source code allows virtually unlimited flexibility of configuration.

(14) Linux and other free software uses open format file formats. These are formats for word processing, spreadsheet and other file types that conform to industry-wide standards and which can be used by any developer of software to create compatible programs, in contrast to the closed formats commonly used by some proprietary software. This eliminates the problem of lock-in to proprietary standards, with the consequent difficulty and expense of switching to other software in the future. It allows the user to have complete control of its data, particularly in the event that at some future date the developer who originally created the software goes out of business or stops supporting its earlier software.

(15) Linux is generally faster for a given set of hardware specifications. This is due to greater optimization of the source code, including far less code bloat.

(16) Linux features a high degree of compatibility with other operating systems. For example, it can read, write, copy, erase and otherwise manipulate data that resides on Microsoft Windows partitions on the same hard disk drive (HDD), act as a Windows server for a network containing Windows clients, format disks for use with Windows, and even run Windows programs directly if necessary. In contrast, the Microsoft Windows operating systems cannot access HDD partitions that contain other operating systems, cannot format disks for other operating systems, etc.

(17) Very high ethical standards are maintained for Linux and other free software, in large part due to the very openness of their development process and the free availability of the source code. Linux has never been convicted in a Federal court of violation of U.S. antitrust laws or other crimes, nor has it had to pay penalties for the unauthorized copying of technology developed by other companies. Antitrust refers to government policy to regulate or break up monopolies in order to promote free competition and attain the benefits that such competition can provide to the economy and to society as a whole.

(18) Linux reduces the need to upgrade or replace hardware when upgrading to newer versions. This is because its code is very efficient and compact, thus allowing it to work effectively on older computers that are not suitable for the newest versions of Microsoft Windows.

(19) Linux is capable of operating on a wide variety of platforms (i.e., processor and system types), rather than just being limited to Intel-compatible processors and computers. It scales well and is well suited for use on a diverse array of equipment ranging from supercomputers to industrial robots to electronic medical equipment to cell phones (and can even run on a wristwatch).

(20) Linux is a superior choice for use in academic institutions for a number of reasons. Among them is the fact that there are no secrets (in sharp contrast to proprietary software), thereby providing students the opportunity to study how computers really work rather than to just learn how to use them. Many educators are convinced that it is far more important for students to study computer science fundamentals than to practice specific applications (such as Microsoft Word or Microsoft PowerPoint). One reason is that computer science fundamentals will still be valid many years from now, whereas the specific application programs, especially the proprietary ones that do not conform to industry-wide standards, are constantly changing and those currently in use will likely become obsolete in a few years7.

(21) For governmental agencies, Linux and other free software allows for transparency of data because it stores the data in formats consistent with industry-wide standards. This is in contrast to the proprietary, closed formats characteristic of commercial software. Such transparency is important for maintaining an effective democracy. Keeping non-secret data in standards-compliant formats allows anyone to access it without having to purchase expensive proprietary software. Also, storing secret data in standards-compliant formats is widely regarding as being more secure than keeping it in proprietary formats.

(22) With Linux and other free software there is little reason to fear the existence of backdoors, in large part because all of the source code is available for inspection. A backdoor is a secret method for obtaining remote access to a computer. There is a (not unjustified) concern by many foreign governments and corporations that back doors have been covertly inserted into proprietary software that could allow the software developer and agencies of other governments to snoop into their most confidential data.

(23) Using and advocating Linux helps foster a healthy diversity and increased competition throughout the software industry. Such competition can promote technological advance, improve performance and lower costs for open source software and proprietary software alike. Both economic theory and hundreds of years of real-world experience clearly show that monopolies have little incentive to innovate, tend to produce shoddy products, charge inflated prices and tend to corrupt the political system.

(24) Linux and other free software have not only caught up with, or some cases surpassed, their proprietary counterparts, but they are also developing at a faster pace8. This trend will accelerate as demand for such software continues to grow and more and more individuals and organizations become actively involved it its development.

(25) Linux and other free software provide the opportunity for users to contribute to the advance of software technology because the source code is freely available to study, improve, extend and redistribute. This has been fairly common, and the most notable corporate example has been IBM. In addition to giving back to the software community and being a virtue in itself, such contributions can have great public relations value.

(26) There are actually more than 25 reasons that organizations around the world are converting to Linux and other free software. A twenty-sixth reason is that with Linux, in contrast to the Microsoft Windows operating systems, there is no need to defragment HDDs. Fragmentation, which is the spreading of data into non-contiguous locations on a hard disk drive, can reduce the efficiency of data storage and slow down computer operation. Defragmentation is not difficult, but it can be an annoyance to have to do it periodically, and it is unnecessary with a well designed operating system.


There are also several situations in which businesses and other organizations might benefit from converting their operating systems from Linux to Microsoft Windows:

(1) An organization that is downsizing its operation and already has valid but unused licenses for Microsoft Windows might be able to reduce personnel costs by replacing its Linux experts with Windows administrators, as the latter can generally be hired for significantly less than Linux administrators.

(2) Were Microsoft to offer an organization an extremely low cost incentive package, including providing long-term licenses (and upgrades) at nominal cost, paying for new hardware and providing free training and support, this could be a very attractive proposition. In fact, it could be a win-win situation because of the great publicity value that could accrue to Microsoft from a company or other organization converting from Linux to Windows.

Sunday, October 7, 2007

Urchin Fans are Getting Impatient with Google

A major upgrade to Google Inc.'s Urchin Web analytics server software is almost three years late and customers who bought the product worry that Google's silence and inaction may mean it will be discontinued.

Google acquired Urchin Software two and a half years ago, and since then has focused mostly on its hosted software-as-a-service (SAAS) product and apparently little on its packaged server software, upsetting the latter's customers.

One concerned company is United Diamonds Inc., which spent about US$10,000 for the core Urchin software, additional modules and a support contract several months before Google acquired Urchin in March 2005.

For the Sun City, California, diamond vendor, which has about 25 employees, this was a significant expense, said United Diamonds principal Bruce Larsen.

Still, the company justified the purchase because its Web site is its primary sales channel and it needed a clear view into its usage by visitors and potential customers, Larsen said.

Companies use Web analytics software to track, measure and analyze their Web sites' traffic. This information can help a company decide how to modify its site's layout to increase sales, as well as evaluate the effectiveness of online advertising campaigns.

In addition to Urchin's technology, United Diamonds also liked that, as a vendor, Urchin seemed like a good partner, Larsen said. Unfortunately, things didn't turn out as Larsen expected.

A major upgrade to the software -- Version 6.0 -- due in late 2004 still hasn't been released. Even worse, Google won't say when, or even if, version 6.0 will ship.

"We are constantly looking at ways to improve our products and functionality, but we have nothing further to announce at this time," said Brett Crosby, Google Analytics senior manager, in a statement e-mailed by the company's public relations department.

Version 6.0 was the primary motivation behind United Diamonds' decision to spend extra on the support contract, which included upgrades at no extra charge. United Diamonds didn't renew that contract because it didn't receive the 6.0 upgrade.

Moreover, Larsen finds it very difficult to communicate with Google, particularly after his Urchin sales contact left. Google invariably addresses his queries about version 6.0 and product plans with vague answers.

"It was a major investment, and we were looking to establish a long-term relationship with Urchin. I didn't imagine [this would happen] only a few months after that purchase," Larsen said.

Shawn Lee, an applications support specialist in the University of Illinois' Administrative IT Services department, is also uneasy about Google's silence over the product road map. Lee's department also bought the Urchin software before Google's acquisition.

"I wish Google would disclose their plans instead of keeping their current customers in the dark," Lee said via e-mail. "They are completely mum about release timelines."

An assortment of complaints from customers about Urchin 6.0's delay can be found in blogs and forums, including this discussion thread.

Google prefers the SAAS hosted model over the traditional packaged software model. In the SAAS model, vendors host software, saving customers from having to install and maintain applications, a benefit Google often touts when promoting its hosted products.

This preference for the SAAS model probably explains why Google has done seemingly little with the Urchin packaged software, while releasing regular upgrades and improvements to the product's hosted version, which is now called Google Analytics and is free.

However, Larsen and Lee prefer the packaged software version, which they call a fantastic, solid product, although at version 5.7 it hasn't been upgraded since 2005. Urchin 5.0 shipped in mid-2003.

United Diamonds chose the packaged version because it allows the company to keep customer data in its own servers. "We feel more secure knowing the data is protected by us," Larsen said.

Moreover, having the software on the company's premises gives United Diamonds more control over it, like the ability to tweak it as needed, Larsen said.

In a September 2004 news release announcing version 6.0 of the hosted software, Urchin promised to deliver the 6.0 packaged version upgrade by "late 2004."

A Google spokeswoman said that, since the acquisition, Google itself has never given Urchin customers even a "ballpark" shipping date for the 6.0 upgrade.

Google declined to say how many businesses use the Urchin packaged software. Prior to the acquisition, Urchin, which was founded in 1995, claimed over 20 percent of Fortune 500 companies as clients.

Google's Crosby acknowledged that "there is still a lot of demand for Urchin in the marketplace," and the company markets Urchin 5.7 by offering a 30-day free trial license.

Google refers customers to its channel partners if they want to buy the software.