Going Open Source Software in IT – Opportunities
and Challenges
Dave Thomas, Bedarra Research Labs
|
 |
COLUMN

PDF Version |
GOING OSS IN IT
In this article we look at the opportunities and challenges of using
Open Source Software (OSS) in IT. Since there has been a lot written
on the benefits, we focus specifically on the challenges which face
large IT organizations, most of which lack the latent technical talents
of the early adopter community.
While initially limited to the Linux operating system and associated
tools, open source solutions now include enterprise frameworks such
as J2EE, as well as complete applications. IT adoption is driven
by the enthusiasm of developers and increasingly by vendors seeking
to
challenge the closed source dominance of MS in particular and also,
to some extent, IBM and Sun. The mainstream support of IBM, HP and
Sun for open source Linux based solutions has made open source a
safe choice for IT executives.
THE BENEFITS OF GOING OPEN SOURCE
The benefits of open source have been widely published. Open Source
Software promises significant benefits for IT development and deployment.
The major benefit of using OSS is increased independence from a smaller
and smaller number of closed source suppliers. This independence is
seen to provide reduced expense, access to source code to reduce lock
in, and access to more suppliers.
OSS system and application software
is usually available at little or no cost from the Internet, although
serious IT buyers will almost
always acquire software through a trusted platform vendor or systems
integrator. In most cases there are several suppliers that provide
similar offerings with associated support.
The availability of source
code allows IT to assume responsibility for critical fixes, especially
those associated with stability or
security1 . These fixes can be provided using experts who are
independent from
the developer of the software. Recent concerns such as MS licensing
and security have made some larger companies focus on OSS solutions
such as Linux/Apache. The final benefit is the potential that smaller,
trusted and highly competent suppliers can be used to provide multi-sourced
development and support.
One beneficial side effect of OSS is the
increased adoption of the best OSS agile development practices such
as: test first unit
testing,
acceptance testing, and meritocracies for design and release
approvals; refactoring, continuous integration and integrated documentation.
USABILITY AND CLIENT APPLICATIONS
In general, open source software is similar to most UNIX software
and has the usability of UNIX application applications. This makes
it well suited to server-based operation, but the client side GUI applications
lack the polish, desktop integration and usability of commercial PC
client products. Further, X based GUIs are somewhat notorious for their
overhead and usability.
There are major efforts by vendors such as
Novell and IBM to change this, but few serious office users would
welcome a switch to Gnome
and Star Office at least at this time. Indeed the Mono project seems
determined to achieve compatibility. At this point Linux remains
a long way from the usability of the Mac or even Windows.
Some organizations have chosen a hybrid approach using web based
client applications on current MS Windows platforms to talk to
shared server
based apps and opting to defer upgrades to newer versions of MS
products for office functions.
It is more likely that MS will increasingly integrate its office
applications with Linux servers as has been announced recently
by Sun and MS2 . Further,
the increased openness of MS Office with XML likely will result
in most businesses migrating to this version over the coming
year.
THE ROLE OF GOVERNMENT PROCUREMENT
Increasingly governments, especially outside America, are mandating open source. Open source is chosen by governments and IT managers for essentially the same reasons: to reduce the expenses relative to closed source solutions; to obtain source code so that they may have the ability to maintain the software independent of the original supplier: and to encourage the increased opportunities3 and innovation4 for local companies.
In the case of developing economies such as Asia, open source provides the
opportunity to leverage their inexpensive highly educated labor pool with
open IP which enables them to quickly develop services and products which
are strong alternatives to established IT vendors especially for their rapidly
growing local markets. Recently Asian governments have opted to develop home
grown independent software and hardware IP for wireless, security and media
compression. These efforts have the benefit of a large body of OSS code to
seed their efforts. The global availability of expertise also reduces the
economics of commercial open source product development in developed countries
substantially.
THE CHALLENGES OF GOING OSS
Selection
Source code propagates bad practices as fast as or faster than good practice
so as one would expect there are a large number of unfinished or very poorly
coded OSS projects, making project selection a critical factor.
Online code
repositories such as www.freshmeat.net and www.newsforge.net provide
comprehensive catalogs and notification of new software releases. Ratings
include its OSS
license and some rough measure of the vitality of the software. However,
such voluntary catalogs and reviews are just a starting point in the
selection process and often contain information provided by the vendors or
enthusiastic
early adopters. More recently reviews of OSS software are now appearing
in mainstream sources along side those of their commercial counter parts.
While
sources like www.freshmeat.net are
often initially appealing due to their comprehensive nature, there
is still a huge amount of effort
required to sort through the information and determine which software
is actually
valuable.
The fact that software is OSS doesn’t make it intrinsically better, free, reliable
or easy to maintain. These characteristics can only be determined through careful
evaluation or more likely through obtaining proper references from users in the
same or similar applications. (In reality, trial and error, local testing etc.
are the only ways to be sure) In many cases, the selection of the supplier of
the OSS support and upgrades will be as important as the supplier of the initial
product.
TOTAL COST OF OWNERSHIP – WHO YOU GONNA CALL?
Open source is inexpensive to procure but the grim reality is that the major cost in IT organization is on going upgrades and support. The latter costs often far exceed the purchase price. Integrating complex applications which may require different versions of components is a challenging and difficult problem which demands expensive system integration. While Linux OS distributions have been greatly enhanced, there are still major challenges integrating associated middleware, applications and tools especially across Linux OS competitors who each have their own stack and install and update platforms. Clearly the closed source vendors such as MS have their own challenges with respect to release support, but OSS vendors will need to do better to ease the cost of ownership for large IT shops especially those using OSS components from different suppliers.
THE CHALLENGES OF GOING OSS
OSS Licenses – So Many to Choose From
Software licensing has become increasingly challenging as vendors seek
to find business models to maintain and increase revenues. This is best
seen as a transition from software as a packaged product to software as
a service or subscription. OSS licensing varies from public domain software
which can be freely modified and redistributed even commercially to that
which allows viewing of course code, but no modification or redistribution.
Often OSS suppliers will offer different licenses to meet the needs of
different customers ranging from personal user, IT or commercial software
provider. It is important to understand the various OSS license options
and to have a clear policy articulated for your organization. It is also
important to note that just because a license is OSS foundation www.oss.org approved
doesn’t imply the software may be freely used, modified, embedded or redistributed.
The
most common and infamous OSS licenses are the GPL and LGPL licenses
from the Free Software Foundation, which are designed to ensure that software
developed under GPL is always available to the community at large.
In particular
GPL requires that all code enhancements to GPL licensed code be available
for redistribution to others. This is a condition many commercial
organizations are unwilling or simply unable to comply with. Indeed some
organizations
forbid the use of use of GPL code due to the viral nature of the
license. Products such as Ghostscript and MySQL are provided free under
GPL, and
may be otherwise licensed on commercial terms. Some licenses such
as CPL and Eclipse for example cover software patents5 contained in the
software
others do not.
Many closed source vendors have responded to competitive
pressure from the OSS market by providing various forms of “community” licenses.
However, virtually all community licenses have strong limitations
of what can be done with derivative works, associated support and vest
many rights
with the vendors. They do provide access to source code which is
now demanded by governments and large IT firms for security concerns.
OSS licenses are
a particular challenge for companies that build products which embed
OSS elements since this saves them time and money, but unless carefully
managed
may require painstaking legal review of all components and their
licenses to ensure that the company has the rights to distribute
their product,
especially in binary form. Any organization which plans to redistribute
software should undertake a careful review of its practices. In
the worst case this requires all downloads to be vetted by the organization
and/or
comprehensive prerelease audits of the code base.
The world is subject to a creeping, and in some cases accidental, expansion
of © copyright
as governments attempt to deal with products of the mind. This is especially
true for creative works such as music, art and literature and may well spread
to some or all areas of software. One very constructive response to this challenge
is a new set of (cc) licenses from the http://creativecommons.org/. These licenses
allow creators to easily and clearly communicate the intended use of their work.
One of the benefits of OSS is the frequent release of patches, new versions
etc. in response to customer or developer enhancements or repairs. Unfortunately
most IT organizations have differing rates of change to OSS software and
the ability of the adopting organization to accommodate change is much
slower than they are typically available. So an adopting organization has
to make sure that it can either accommodate rapid change or that it can
accommodate the existing software with its existing bugs, features, etc,
and/or stage the changes appropriately.
OSS CODE MANAGEMENT
Source Code Can Harmful - A Brief History Lesson
The ideal use of source code is to understand where a component is failing or lacking functionality, so that one can work with the supplier or work around it. Modifying code owned by someone else makes it yours to maintain! Many years ago, it was common for IT to have full access to the source code for the operating system and many of the applications. IT organizations and their vendors developed enhancements in the form of source and object code patches. While IBM was blamed for the Y2K problem on mainframes, the reality was that many organizations were incapable of upgrading to the current IBM releases that fixed the problems due to these patches! Even though mainframe releases come out infrequently, many customers were 3-6 versions behind due to their own inability to move their changes forward.
There is a big lesson here for open source proponents that modify
the software to suit their needs without a very disciplined configuration
management and test process. You are implicitly digging your own legacy
grave!
OSS Demands Best Practices in Configuration Management
The combination of large amounts of C/C++ code, Java libraries and a plethora of different utilities and tools makes it imperative that IT have best practices for OSS code management.
There are substantial challenges ahead for those who seek to modify
and enhance open source frameworks from different suppliers. Open Source
projects vary widely with respect to their practices for documenting,
testing, release to release compatibility, and migration. Current frameworks
each have their own component models, support libraries etc. Hence
integration and support of different frameworks is challenging at best.
Most OS projects use RCS like CM tooling such as CVS, while adequate
for development they were not designed to build field upgradeable products.
The patch
tools again are effective but CM and patching a large number of IT
servers or desktops requires a lot of arcane Linux technical expertise.
In particular recompiling from source or rebuilding the system from
binaries isn’t a scalable solution. Modern Linux distributions provide excellent upgrade and package management tools though however they require the same source/binary tree as the vendor.
In order to embrace open source the organization must become proficient
with the various operating system and framework development and configuration
tools. A wise organization will invest in fine-grained comparison and
versioning tools to carefully track changes and compare new versions
of frameworks to determine the impact of upgrading to a future release.
Organizations that develop software for other parties will need to
be particularly stringent with respect to their use of OSS code.
They will need to have each developer authenticate the authorship of
their
code and its release under the appropriate license.
SUMMARY
The widely articulated benefits of OSS provide clear options for IT organization to achieve flexibility and cost reduction. However, like all good things in the real world there is no free lunch so one must put in the place the appropriate internal and supplier peopleware and tooling to obtain the substantial benefits of open source software.
Clearly the industry is maturing and with consolidation and standardization
the risks will continue to be reduced, but so will some of the opportunities
and benefits associated with diversity of suppliers. For most IT organizations
it seems ideally suited for infrastructure and tool areas supported through
traditional support agreements with either traditional of new OSS firm.
Footnotes
1 The benefits of open source and
a community of experts is clearly a major benefit for independent identification
and repair of defects. The challenge for large IT organizations is
to carefully select and apply the appropriate security patches for each
of the various OS components. In some cases the difficult of this process
is increased rather than reduced.
2 Given MS has a major investment
in BSD, it would not be surprising to see MS Office running natively
on Linux or BSD in the future should it make commercial sense for MS
to do so. Indeed MS Office is already available for Mac OS X which
is BSD based.
3 Some contend that for many
software sectors open source is a destructive commoditization that
in the end favors increased consolidation into the hands of major “distributors”.
Further, coupled with globalization and outsourcing, such government
copyright initiatives may move software development into the same category
as music. This is of course not what OSS zealots or government hoped
for but it seems to be what economic reality will dictate - witness
the current state of the music industry.
4 While this is the great promise
of open source there is as yet little evidence of truly innovative
applications. The lack of progress in an end user interface which addresses
the problems that people complain about with Windows really flies in
the face of innovation claims. One danger to the software industry
is that open source becomes a way to condone the mere cloning successful
of commercial products that will just accelerate increased software
protection through copyright (limit reverse engineering and clear reasonable
use) and patents (obvious and natural features) further limiting innovation.
5 It will be interesting to see
the impact of the European software patent legislation should they
reject software patents.
About the author

|
 |
Dave Thomas is CEO of Bedarra Corp.,
Adjunct Professor at Carleton University, Canada and University
of Queensland, Australia, founding Director of AgileAlliance.com,
and founder of Object Technology International. Bedarra works with
research labs and commercial partners to transition innovations
into products and practices. |
Cite this column as follows: Dave Thomas: “Going Open Source
Software in IT-Opportunities and Challenges",
in Journal of Object Technology,
vol. 4, no. 2, March - April 2005, pp. 7-13 http://www.jot.fm/issues/issue_2005_03/column1
|