Novell Home

D uring the past few years, Novell has been challenging the proprietary world to see if open source software can really be viable in the enterprise arena. Can open source be used on various platforms, keep my data secure, and will it really save company dollars? As the open source movement gains momentum and legitimacy, in concert with ever-increasing economic pressures, Novell has transformed its IT strategy into searching for open source options to solve its internal needs.

This change has come at the same time that Novell has itself become a company that markets both open and proprietary software, terming itself a "mixed-source" vendor. Obviously, Novell uses its own open source products internally, but it is using more and more externally developed open source products as well. From an IT perspective, take a look into some of the open source offerings we've deployed and our strategy to see if it might work in your business. We think you'll be pleasantly surprised; and so will your bottom line.

> Introduction of Open Source Code at Novell
IS&T Web Team experimented using the Apache and Tomcat Web and application servers. The Apache/Tomcat move proved to be highly successful. The extensive Web applications used by Novell, both for external customers (novell.com) and internal employees were moved to these open source offerings. Since then, we've successfully deployed many other open source offerings. In this article, we'll give you some helpful hints and things we have tried that you should consider when looking for open source code to solve your business needs.

At about the same time as the Apache/Tomcat transition, the Developer Services group needed a collaboration tool to interact with external developers who develop to Novell platforms. The Developer Services group chose an open source product called Xoops to build the Novell Forge site (forge.novell.com). Xoops is a content management system that is extensible, object oriented and written in PHP with a MySQL database.

Since then, Developer Services has transitioned to a product called MediaWiki (fronted by Novell iChain) for additional functionality. The Developer Services site hosts open source projects that are more or less related to Novell and its products. The Forge site allows for project administrators to implement CVS or Subversion (both are open source tools) for the users' source code control based on their preference.

Bugzilla was selected as an add-on option for tracking bugs. The Developer Services group has modified the checksetup.pl script that comes with Bugzilla so users can deploy their own copy of Bugzilla per project if they want to track bugs. Bugzilla is an open source bug tracking system written in Perl and uses MySQL for the database back end.

Internal engineers were clamoring for an easy way to increase productivity by sharing reusable code among groups in the same format used in the open source communities. The Xoops open source package was chosen to create an internal project collaboration application for Novell product development. The result? InnerForge was deployed in 2003.

We've integrated Xoops with other open source tools: Mailman (used for mailing lists) and Subversion or CVS, both of which are used for source code control. Xoops manages the access as well as project information and is implemented in a way that the user can create their own projects, manage their own project data and control user access. With this self-managed implementation, it alleviates ongoing support.

Currently, there are 569 InnerForge projects with 1,610 users and all with negligible manual administration. Use of these open source products proved to be highly successful. Fear of dependence on open source was reduced as users began to see the benefits in leveraging available code to solve business needs.

> Novell Transitioned to a Mixed Source Company
As the acceptance of open source was beginning to take hold, Novell was becoming a provider of open source software itself. Novell acquired both Ximian and SUSE Linux in late 2003 and overnight became a distributor of Linux, both on the server and the desktop.

As Novell developers and IT personnel became more familiar with the open source culture, they recognized more opportunities to use open source. Developers, both in the product development groups and in IT, became familiar with the differences between open source and proprietary strategies and actively sought out open source solutions.

Even before the SUSE Linux acquisition, Novell had put in place a plan to begin migrating servers in the data center to Linux. The migration has been moderately paced, mostly planned as servers go out of warranty and are replaced. Statistics show a steady migration during the past four years. As more and more application vendors certify their applications on SUSE Linux, the migration will accelerate.

With these migrations, the data center has seen a decrease in deployment costs for operating systems and an increase stability of server up time. There are several reasons for this. First, Linux is much less expensive to license than HP-UX, Solaris or Windows. Second, Linux rarely requires a reboot.

Novell's migration to the Linux desktop and switching to OpenOffice has been documented in other Novell Connection magazine articles:

  1. July 2004: novell.com/connectionmagazine/2004/07/tech_talk_1.html
  2. Sept 2004: novell.com/connectionmagazine/2004/09/tech_talk_5.html
  3. Nov 2004: novell.com/connectionmagazine/2004/11/tech_talk_1.html

When the employee base moved to the OpenOffice office suite and their desktop operating systems to Linux, we were able to cancel our support contract with Microsoft which saved us US$900,000 annually. With the recent release of SUSE Linux Enterprise Desktop 10 in July 2006, Novell employees are even more delighted about Linux desktop computing with the new functionality and the ease of use.

> Learn About Open Source Licensing
Generally speaking, open source software is made available under a license agreement. In contrast to proprietary software, obviously, the source code for open source software is made available under generous and royalty-free license terms. Users should understand and respect those license terms. Information on the most frequently used licenses may be found at opensource.org.

> Models of Open Source Use/Participation
Of course there are several ways to utilize open source software, as defined below. Novell has operated on all four of these levels. (For more information on these levels, see The Open Source Game: At What Level Should I Play?)

  1. User only
  2. Contributor
  3. Decision maker
  4. Owner

> How To Select
It's obviously good practice to do careful analysis before the vendor selection in the proprietary world, but also in the open source world. During this analysis, Novell looks at three categories:

  • Proprietary tools
  • Custom in-house development
  • Open source tools

Some of the selection criteria considered when making the decisions are:

  1. Platform availability
  2. Performance and Support
  3. Features available and gap analysis of how closely they match the requirements
  4. Cost of the tool out of the box
  5. How much customization is needed to meet the requirements
  6. Time to implement
  7. Quality
  8. Risks involved
  9. Vendor viability
  10. Total cost including developer costs, licenses, hardware, maintenance, outsource services, soft savings for users of the tool in time savings, and any additional on-going operational costs

Additionally for open source, we look at:

  • Size of the community
  • Activity of the community
  • Reputation
  • Other corporate users, their implementations and how closely that matches our implementation plan
  • Support and documentation availability

Usually for a proprietary tool, you have the benefit of analysts viewpoints, but for open source in general, you have to research and provide your own analysis. In the long run, it pays to do your homework up front before making the decision.


A good rule of thumb for finding open source options is looking at some of the established open source community sites such as sourceforge.net, freshmeat.net (Keep in mind for this site, it is more untried and untested code where you can find the latest bleeding-edge open source code.), tigris.org and any other big, open source repository.

> Examples of Mixed Source Success
One of the obvious places for Novell to use open source was in our data center. Novell has a unique set of IT infrastructure products that have made our integrations of open source software work smoothly. For example, Novell is migrating source code version control systems to an open source tool called Subversion. Our deployment of Subversion uses Apache mod_auth_ldap and Novell eDirectory and LDAP for authentication and authorization. We also use InnerForge (Xoops) for managing access control. The integrations are relatively easy to implement because of the open standards approach used by Novell products and by most open source offerings.

In our Subversion implementation, we use InnerForge (based on Xoops) to manage the Subversion project creations and user access to the code. This implementation relies on Novell eDirectory and LDAP for the user account information. This has been very successful and does not require involvement or on-going support from our developer team. Users around the globe can provision new projects and user access without delay.

Subversion is a great tool and has significantly less hardware and end-user support requirements than proprietary counterparts while still providing the same quality of source code control. We deployed Subversion on 15 July 2005 and to date we have 269 repositories active. The repositories are currently at 35 GB and the server has been running nonstop, except for a kernel upgrade on 04/08/06. Total accesses have been almost 10 million (9,875,246) with total traffic at more than 20 GB. We usually average 1.2 requests/sec at 2,732 Bytes/second or 2,271 Bytes/request. The servers are located in the data center in Provo, Utah, and are accessed from our offices around the world. Another infrastructure open source tool used at Novell is the JBoss messaging system for service-oriented architecture.

A popular open source database is MySQL. We are currently running MySQL on 21 servers with more than 75 Web applications using it as the back-end database. We have instances of 4.0, 4.1 and 5.0 in production currently. We have used MySQL since 2001 and our top six applications currently have over 21.4 million records. With the later versions, there are significant improvements well suited for large enterprise applications. If you look at the per processor cost model of some of the competing proprietary databases, you can easily see the incredible savings to your bottom line.

> Effect of Open Source on Your IT Organization
Using open source software requires traditional developers to learn new skills. Open source projects utilize a multiplicity of development languages and scripts that might or might not be the same as existing applications. It's not unusual to find open source projects with cutting edge, unproved technologies. Developers frequently find themselves needing to learn a new programming skill. Often it's not the developer's language of choice, so the developer must be flexible, open-minded and willing to learn new skills.

In addition to new programming skills, developers must learn how to use open source infrastructure and databases. Sometimes the open source offerings may not be as mature in their feature sets as the proprietary software they supplant. Developers may feel like they are stepping backwards, as they begin to use the open source products; however, large, active communities make up ground very quickly and often surpass the proprietary competition.

The Open Source Game: At What Level Should I Play?

User Only A company can download the open source code "as-is" for use with little or no involvement in the project community. This is a great option for developer tools or many personally used tools. Likewise, a company can download open source software for deployment "as is" or can customize it for its own use.

Although often not "showstoppers," there are certain drawbacks to consider when customizing open source software and deploying it within your company. Customizations you've made to the software can make it a bit harder, though not impossible, to upgrade to new releases; and the company might find itself relatively alone, responsible for support and new development. The initial advantage is that the first "purchase" is free. If you can't use the software without customizations, then possibly there are few ongoing advantages over in-house development except the initial project acceleration.

Contributor A company can download, customize and contribute back to the community. The company developers responsible for the application actively participate in the community and lobby for the customizations that are needed. The company minimizes its own customizations with the intent that they will always be able to accept a new release of the software without breaking what they already have. The company continues to benefit from the community's work throughout the life of the community. This option incurs an ongoing expense; however, the ROI tends to be worth the investment.

Decision-maker The company can play an even bigger role in the community by making signifi-cant contributions and becoming part of the controlling body of the community. This means that the company-needed enhancements and customizations are more likely to be considered for incorporation into the software. This requires a resource commitment from the company, and a proven track record in the community so the developers are trusted to become administrators or reviewers for the project.

Owner The company can leverage the open source momentum by starting an open source project, when none already exists, for something the company needs. This requires significant initial resource commitment. The project must have "appeal," and must be nurtured to a point of initial usefulness to get external adoption and support. Another key element is to get the project visibility within the community such as mozilla.org or similar sites. The company must continue to invest enough to make progress and to continue to attract contributors until the project is stable enough with a big enough community to help maintain it.

Developers must also become accustomed to participating in a culture in which there is constant scrutiny of their design and coding practices. In the open source world, fame and "stardom" are possible for "hackers" who impress the community with their ingenuity, innovation and rock-solid quality. At the same time, there is also a possibility of public loss of respect for those whose coding practices are not always the best. There is public pressure to code in quality as well as to thoroughly understand user needs. Many developers learn to thrive in this dynamic atmosphere.

Open source software also demands a different development methodology than the traditional waterfall model. Open source projects, in general, have much shorter periods of time between releases. They usually follow an iterative methodology. Open source projects usually depend on the user community to do much of the testing, rather than a dedicated Q/A testing team. This requires a change in the user and producer relationship. The user must understand that he is part of the test team, and that there are bugs in the candidate release. The user must be more tolerant of imperfections and view it at his duty to "wring out" the release candidate, rather than expect someone else to find all the bugs.

On large global tools like Bugzilla, Testopia or OpenOffice, we have deployed the new open source tool while leaving the existing tool(s) in place during the migration process. This allowed users to become familiar with the new tools and realign their processes to fit the new implementation.

> In Summary
There are many advantages to choosing an open source option. In short, here are some of the pros and cons we have found that you should consider:

Pros:

  1. leverage more resources (not limited to resources within your company)
  2. low cost
  3. responsive, agile
  4. simplicity
  5. ability to customize code to meet your specific requirements without consulting fees
  6. no upgrade or yearly maintenance costs
  7. intangibles such as sense of contributing to the betterment of society

Cons:

  1. possible lack of support
  2. general lack of documentation
  3. less ability to judge viability of community v. company
  4. not on analyst's radar for independent evaluations
  5. generally not as mature yet
  6. language and infrastructure consistency

Here are a few questions to ask yourself when considering an open source alternative:

  1. How far out on the open source limb am I willing to go?
  2. Is open source more vulnerable when it comes to potential security issues?
  3. Will the community thrive or disappear? Will I be left as the only user?
  4. Is there possible developer "contamination?"
  5. Should I look at "packagers" of open source, such as Novell, (lower cost than proprietary) for greater confidence in their longevity?

For Novell, use of open source software has provided inexpensive software that fits Novell's needs very well. We use open source offerings on various platforms with great success and contribute at all levels in the open source community. With the implementation of Novell iChain and eDirectory products, we have been also able to provide the high security user-based access Novell requires for diverse users.

Many of these tools allow us to get out from under huge annual support and maintenance contracts and better plan staffing based on the tool usage. In most caseswe reduced the cost of maintenance, support and customization.

Also, in general, hardware choices prove to be much less expensive than what is required for many proprietary solutions. Thus Novell has benefited not only in terms of significant reduced costs, but also in terms of flexibility and agility in meeting internal needs. Novell would answer a resounding "YES! You can use open source software on various platforms, save a significant amount of company dollars and keep your data safe and secure." We have been doing all of these for several years now and have demonstrated that you can use open source to run an enterprise business with great success.

Future articles in this series will use case studies to show, in detail, how we planned and implemented some of our world-wide deployments, what is needed for successful implementations and, viable open source tools for developers. Until then, check out So What Does Novell Use? to see many of the successful open source offerings Novell is using internally and where you can find more information about them. Just as before, you might not only be pleasantly surprised at the list, but you'll probably also be amazed. red N

Open Source Tools Used at Novell
Product Category Novell’s Role Where can I get the tool
AppArmor security tool Owner en.opensuse.org/Apparmor
Evolution integrated mail, address book, and calendaring Owner gnome.org/projects/evolution
Mono software development - Linux Owner mono-project.com/Main_Page
SUSE Linux Enterprise Server server operating system Owner novell.com/linux
SUSE Linux Enterprise Desktop desktop – operating system and services Owner novell.com/linux
Testopia 1.0 test case management tool Owner mozilla.org/projects/testopia
YaST OS setup and configuration tool Owner novell.com/yast
Apache 4.1.31 HTTP server Contributor tomcat.apache.org/index.html
Banshee music Contributor banshee-project.org/Main_Page
Beagle search tool Contributor beagle-project.org/Main_Page
Compiz visual effects Contributor en.opensuse.org/compiz
F-Spot photo management Contributor f-spot.org/Main_Page
Firefox Web browser Contributor mozilla.com/firefox
GNOME desktop environment Contributor gnome.org
Helix media Contributor https://helixcommunity.org
MySQL database Contributor mysql.com
OpenOffice.org 2.0 office suite Contributor openoffice.org
openSSH secure sockets Contributor openssh.com
openSSL secure shell Contributor openssl.org
Subversion 1.3.0 source code control - CVS on steroids, rapidly replacing CVS Contributor subversion.tigris.org
Tomcat 4.1.31 Java engine Contributor tomcat.apache.org/index.html
Xgl intricate graphical operations Contributor en.opensuse.org/Xgl
Bugzilla 2.22 defect tracking system * Decision-maker * bugzilla.org *
Big Brother network services monitoring User bb4.org
Bluefish Web authoring User bluefish.openoffice.nl/index.html
CVS 1.11.1p1-16.n1 source code control - concurrent versions system User nongnu.org/cvs
Dojo 0.3 Javascript toolkit User dojotoolkit.org
Eclipse 3.1 Integrated Development Environment and various plugins User eclipse.org
Gaim 1.5.0 multiprotocol instant messaging (IM) client User gaim.sourceforge.net
GCC programming language compiler User gcc.gnu.org
Gimp image editing User gimp.org
Google AJAX toolkits Web toolkit for building Java apps User code.google.com/webtoolkit
JBoss jms 4.0.3 SOA messaging and application server User jboss.org
Mailman 2.1.3 list server software User gnu.org/software/mailman/index.html
MediaWiki 1.5.8 most widely used Wiki engine User mediawiki.org/wiki/MediaWiki
Nvu Web authoring User nvu.com/index.php
OpenLDAP platform-independent LDAP protocol User openldap.org
Perl 5.8.3 programming language User dev.perl.org
PHP 4.3.4 programming language User php.net
Plone 2.1.3 content management system User plone.org
PostgreSQL database User postgresql.org
Prototype Javascript framework User prototype.conio.ne
Python programming language User python.org
Quanta+ Web authoring User quanta.kdewebdev.org
Reiser file system User namesys.com
Rsync incremental file and directory transfer and synchronizer User rsync.samba.org
Samba file and print services User samba.org
Saxon 8.7 XML parser User saxon.sourceforge.net
Squirrel 2.2 SQL front end User squirrel-sql.sourceforge.net
Synergy 1.3.1 mouse and keyboard sharing User synergy2.sourceforge.net
Twiki 20040902 Wiki engine that allows restricted subWebs User twiki.org
ViewVC 1.0-dev (pre-release) browser-based view into MySQL database tables User yolinux.com/TUTORIALS/VNC.html
VNC remote desktop User  
WireShark (previously Ethereal) network protocol analyzer User wireshark.org
WordPress 2.0.2 blog engine User wordpress.org
Xoops 1.0 RC 3.0.5 project collaboration User xoops.org


© 2014 Novell