By Jack M. Germain LinuxInsider Part of the ECT News Network
11/15/07 4:00 AM PT
"Frequent release cycles are both a curse and a blessing. Software developers are creating fixes and patches all the time. The downside is the developer doesn't want to do upgrades all the time," Barry Klawans, founding member of the Open Solutions Alliance and CTO at JasperSoft, told LinuxInsider. "Commercial vendors in open source are not always doing this process as frequently."
Is Your Website Killing Customer Confidence? Your Website's privacy policy can be a key factor in a customer's decision to do business with you, and it is vital to ensuring you don't run afoul of your online legal and regulatory responsibilities. Need more reasons? Read on.
When it comes time to upgrade to a new version of proprietary software -- take the Windows OS, for example -- many users are less than thrilled. Upgrades can mean an added expense for anything more extensive than a bug fix or minor feature upgrades.
Even free minor version upgrades of a software product can cost a considerable chunk of time backing up files, uninstalling the older version and then installing the newest version. Then there is the added joy of importing saved data and learning how the new features work.
Linux users, on the other hand, often look forward to upgrade time like they look forward to their birthday. With a new distribution of KDE (K Desktop Environment) or Gnome, for example, cool new features and functionality to the user interface are free. Unlike upgrading Windows programs, Linux program upgrades are handled by the operating system itself.
Linux users usually can sit back and watch the Update Manager handle the task. Upgrade time for Linux apps is a happy occasion. Open source software developers give their users a gift that keeps on giving.
"Most open source projects make new releases fairly rapidly. This process is community driven, even when there is a commercial entity involved. So users tend to look with anticipation for new features. But there tends to be less surprise. It is harder to keep new features secret if the developers are always talking to the user base. The process is very transparent," Dave Roberts, vice president of strategy and marketing at Vyatta, told LinuxInsider.
User Ties
The constant discourse between users and the development community for an open source project lets product users plan whether they want to do the upgrade or not. By contrast, proprietary companies are driven more by their own will than the direct input of users.
It takes at least 12 to 18 months for a new version of a proprietary product to reach market. Open source software may see several version upgrades every few months.
In the open source world, users are closer to development. The upgrades are more granular, according to Roberts. The cost of release is much smaller and often just involves posting the new release for download, not burning CDs for widespread distribution.
Despite the user expectations for frequent "presents" of new features in their favorite programs, software developers often have ambivalent views over the process.
"Frequent release cycles are both a curse and a blessing. Software developers are creating fixes and patches all the time. The downside is the developer doesn't want to do upgrades all the time," Barry Klawans, founding member of the Open Solutions Alliance and CTO at JasperSoft, told LinuxInsider. "Commercial vendors in open source are not always doing this process as frequently."
Potential Problems
The upgrade process in Linux is supposed to be fairly seamless. Upgrades to the OS happen automatically in many Linux distributions through an upgrade manager somewhat like that used by Microsoft (Nasdaq: MSFT). Software applications are also tracked through the upgrade manager, so the user usually has nothing to do but click the OK button and enter the password.
In most Linux distributions open source software, called "packages," are prepared into the required format for inclusion in repositories by the community. The installation scripts are automatically handled by the OS and added to the upgrade manager program list for automatic checks for upgrades whenever they are available.
However, the user has to manually start the installation script that came with an application package from sources outside the community repositories. The initial installation and future updates might only work via commands the user enters at a terminal window. This is somewhat reminiscent of the DOS boxes in earlier versions of the Windows OS known as the "DOS (Disk Operating System) prompt."
"Some software companies do a better job than others in handling upgrades. This is even more true with commercial companies," Klawans said.
Cycle Options
Sometimes the upgrade process can be disruptive to users. There are no definitive guidelines that open source developers follow in determining when an upgrade requires the user to remove the earlier version and reinstall the new version. For instance, Ubuntu 7.10 requires that the user already have the latest version installed. Missing an upgrade -- which is entirely possible when new versions pop up in such fast succession -- means the user has to perform two or more operations instead of just one -- or just reformat the hard drive and start from scratch.
"Some product upgrades are less friendly to install, so the user has to start over with a full reinstallation," Klawans explained.
When this happens, the cause is often the result of radical changes in the application, not a lack of sensitivity to user inconvenience. Often, this is not just an open source issue.
"The sometimes rapid pace of developing software, especially for Web 2.0 applications, results in incredibly complex components," Bdale Garbee, chief technologist for open source and Linux at HP (NYSE: HPQ), told LinuxInsider. "Having to deal with sometime inconvenient upgrades of a product motivates customers to analyze their needs and decide when and if to carry out the upgrade."
Approaches Vary
When OS and major software reinstallations are required, the end result is better performance. For example, with Linux, upgrades to the kernel and other parts of the basic OS are not always related to features. The goal is stability, robustness and scalability, so forward compatibility is in good shape, Garbee explained.
Software that has been around for a while is well behaved in the upgrade cycles, so the developer can make upgrades as seamless as possible, according to Garbee.
"You don't tend to run into DLL hell with Linux the way you do in Windows. Dependencies among programs in Linux are under better control," he noted.
For users, open source is a renewable gift, Garbee noted.
Developer's Choice
However, forced reinstallations do occur in some software cycles. Developers make decisions, for example, to change the interface. This requires reinstallation when upgrading. Open source programs are not uniquely free of hassles that their proprietary counterparts experience. Major transitions can occur, Garbee said.
JasperSoft releases new open source versions whenever necessary. The Pro version is done two or three times a year. This gives users the latest open source tested version, according to Klawans.
In the case of a major upgrade or feature shift, the product might need a full re-installation. A less-than-routine upgrade can happen when an open source company provides a user with an upgrade from the free version to the commercial version of the same application. The company handles this with installation scripts that it makes a part of the upgrade distribution.
"Application vendors really need to concentrate on providing install scripts or at least an easy export path to save and reload existing data. This is critical in CRM programs, etc.," he said.
Vyatta uses a time-based release cycle. The company releases major upgrades twice per year and may issue minor releases every eight to 12 weeks, according to Roberts.
"This process for us is self-imposed. We can be faster moving at a smaller scale," he said.
Google's Android: Separating the Sizzle From the Steak November 09, 2007
While Google and its Open Handset Alliance partners would have us believe that it's all about the customer, the Android open source mobile platform is as much about preventing Microsoft, Symbian and Palm from taking up the top position in the mobile operating system space. Good things are still likely to come from the alliance, but its real effect is yet to be seen.
Related Stories
Related News Alerts
More by Jack M. Germain
Microsoft FOSSifies .Net Micro Framework November 18, 2009
Microsoft has declared its .Net Micro framework open source under the Apace 2.0 license. Not all bits of .Net Micro are covered, however. Its TCP/IP stack has been stripped, as has its cryptography libraries. Rights to the TCP/IP stack aren't Redmond's to give, and the cryptography libraries are used outside of the scope of the .Net Micro framework, according to the company.
New Ubuntu OS Features Create Good Karma November 13, 2009
Amidst the OS upgrades from Apple and Microsoft over the last few months, the Linux OS Ubuntu got a version bump of its own. Ubuntu 9.10, or Karmic Koala, is well worth the effort to upgrade, and its developers have made the process easier -- if you're using the full-sized desktop/notebook version. The Remix version, intended for netbooks, caused quite a few headaches.
Samsung Chimes In With Bada Mobile OS November 11, 2009
With Android, iPhone, BlackBerry, WinMo, Symbian, WebOS and plenty other mobile platforms fighting for space, is there room for one more? Samsung believes there is, and it's announced a new open mobile platform called "Bada." The company, which already makes handsets for several existing platforms, says Bada will make app-making easy for developers. The first Bada handset should be out in the first half of 2010.