As the CTO of a web development company I am raising my views
and concerns on tools (eclipse in particular) available in the open
source world and generally about the Linux movement with some ideas
for its future. If you are a developer, particularly from the open
source world - then you might find ideas for new projects that can
help the open source world. If you are working in a management responsibility
similar to mine then you might find how Linux and the open source
world tools could benefit your organization presently and in the
future. I look forward to learning your views on these subjects.
"First they ignore you, then they laugh at you, then they
fight you, then you win." - Mahatma Gandhi (1869-1948)
The open source world has come a long way in evolving from command
line based geeks operating systems to a powerful competitor for
the commercial giants of the industry. With its philosophy of openness
in quality and ownership it has won a huge following and has gathered
momentum to the size of more than 20,000+ developers around the
world participating in different aspects voluntarily. The greatest
advantages of the open source model are:
1. They have very high quality emphasis thanks to the peer review
and collaborative development methodologies
2. They have very low overheads due to the voluntary efforts of
the people, supporters, etc. No commercial entity can beat this
one.
3. Very high morale amongst developers because they are not just
coders but also owners (in a generic sense) of their work.
4. Very High peer support - the high levels of interaction and
open learning and passing of information (via mailing lists etc.)
all promote new converts who are quickly trained to develop acceptable
levels of code quality.
Most commercial companies have felt threatened by the efforts of
the open source community because they cannot compete with their
low overheads and high quality work. Some, on the other hand, have
started to see this as an opportunity to establish their competitive
edge. IBM announced in late 2000 that they would pour in US $ One
Billion into the Linux community. (http://news.com.com/2100-1001-249750.html?legacy=cnet).
Irving Wladawsky Berger, IBM's vice president
of technology and strategy at that time said " we
are supporting Linux across all of our hardware platforms, our middleware
and our services business". Later in 2001 they announced a
US $ 40 Million investment (http://news.com.com/2100-1001-275388.html?legacy=cnet)
into the Linux community through an organization called Eclipse
(http://www.eclipse.org). The
major contributions came in the form of software tools. The eclipse
consortium consists of companies like Borland, RedHat, SuSe, Merant
and Rational. Sun Microsystems, Oracle Corp. & HP have also
followed with announcements supporting and promoting Linux.
The main motive behind most of the commercial companies was to
become more competitive by tapping into the advantages of the open
source world (mentioned above). IBM probably saw that in the long
run that they could reduce costs of having to maintain the different
kinds of operating systems and application software's ranging from
the Intel platform to the S/390. They could stop having to support
multiple operating systems as Linux could replace them all ranging
from the laptops to the S/390. The costs of support could be further
reduced because many open source developers would support customers
directly as a result. The reliability and additions provided by
the community would further enhance their competitiveness. No wonder
then, that they have spearheaded the eclipse initiative.
Visual Development tools have not been the strength of the Linux
world. With the advent of eclipse the equation could change in favor
of the open source world, IBM and Sun Microsystems. Eclipse is a
platform that's designed for building integrated development environments.
It closely rivals the initiative from Sun Microsystems called NetBeans
(http://www.sdtimes.com/news/045/story2.htm).
Currently the product supports the Java Development Environment
but it's designed to support plug-ins by third party developers.
Rational's Suite could be integrated into Eclipse just as Borland's
Delphi or Kylix environments. Any tool provider can write their
specific tools as separate plug-ins that operates on files in the
workspace and brings up its tool-specific interface in the workbench.
When Eclipse is launched, the user
will be presented with an integrated development environment (IDE)
composed of the set of currently available plug-ins. With this initiative
IBM hopes to rival Microsoft with an open source IDE that is constantly
at the cutting edge in terms of features and popularity. It could
also easily become the future standard in the IDE's.
The Linux platform has come a long way with its GUI's - there are
so many out there with the popular ones being KDE and GNOME. Office
Suites like StarOffice and OpenOffice are compatible with Microsoft
Office and also being similar in their look and feel. Evolution
- an MS-Outlook compatible email client promises to be a solution
with even a similar look and feel. HTML editors like SCREAM
seek to rival tools like FrontPage and Dreamweaver; GIMP has long
been a powerful Image Manipulation tool.
Web Servers like Apache and Application
Servers like Zope promise a bright future for developers and Enterprise
Solutions. Java based Servers like Jboss and Tomcat bring the Java
platform to Linux. Friendly distributions like Mandrake have been
making it a breeze to install and run Linux. Databases like PostgreSQL
and mySQL help store your data reliably. For common users there
are accounting packages like GnuCash and many other applications
and games that make Linux a promising platform. Linux as a server
has become a very powerful and popular entity and without a doubt
can rival any Network operating system existing today both in terms
of its performance / reliability ratio's and its range of applications.
Its Mail Servers, Web Servers, Version Control Systems, etc., are
some of the most reliable systems known to the industry today. Its
known to scale across a small and medium sized office to even an
Enterprise networked across the world.
But there are still some gaps - I haven't seen any open source
tools for Application Design like those of from Rational - nor have
I heard about Rational supporting the Linux platform yet. The lack
of a standard GUI discourages the users who are not used to making
choices for their desktop's look and feel (they sometimes don't
even want one). The Linux platform has long been about choice but
how many users want to choose from 5 different GUI's or 10 different
office suites? They just want something that is compatible with
others and easy and intuitive to use. While some applications and
tools have come of age in terms of features most are yet to become
as mature as their windows counterparts.
HTML editors like FrontPage or Dreamweaver, Personal Accounting
packages like Quicken, Databases like Oracle or IBM's DB2 for advanced
transactions based applications at the enterprise level do not have
equivalents in Linux - PostgreSQL is the closest and as it gets
mature will advance the cause of Linux in that segment, Applications
like Visio or Project 2002 for Design and Project Management are
not yet there - Dia looks promising. I haven't yet seen a MS-Project
equivalent.
RAD tools like Delphi and Visual Basic have taken the Windows world
to very advanced levels of application development in a short span
of time, their equivalents in Linux are far from expectations -
Tools like Kylix seek to change
that and hopefully over time will do that. With the development
tools growing up and the focus shifting towards Enterprise Applications
and their Integration the Linux platform and the open source world
has much catching up to do. Applications of an Enterprise Level
are required - equivalents for the Microsoft .NET Servers - application
servers and development platforms especially supporting Web Services
and easily integrating cross platform with existing enterprise applications
is an important requirement. Visual Tools for manipulating and managing
the server as well as the desktop is an absolute essential. It's
also important that these have a common and intuitive interface
to help facilitate the transition over quickly. Interfaces like
Webmin have been playing a good
role in accomplishing this - but more is required here.
The future direction of enterprise applications
and integration is going to involve technologies like the SOAP and
registries like UDDI for creating integrated e-business's and building
integrated application interfaces using web services to interact
with multi location based servers accomplishing distributed transactions
transparently. Middleware technologies will become well defined
and popular and assembling applications will become the norm in
the development cycle. So applications will no longer be developed
from ground up but rather be assembled using well-known components
or services.
These components will be built to industry wide specifications and
their markets will be far bigger than the operating systems or hardware
market sizes known today. Where will Linux be to tackle these directions?
Can we have operating system level standards for registering components
- like the windows registry? Can we develop SOAP support into the
web servers as a default wrapper that can be used by any registered
component? Can we make our component specifications language neutral
and have a common platform that understands the components irrespective
of the language used to write them (the .NET CLR model)? Can we
have integrated application development
tools that span from design to coding and debugging (Eclipse
can help here)?
Eclipse chooses to answer one important part of this requirement.
If Eclipse gains the support of the commercial and the open source
community to the degree expected by IBM and the consortium then
we may be well on our way to getting Linux firmly entrenched into
the Enterprise. Plug-ins for design, development and debugging in
an integrated manner should be built quickly. Plug-ins to store
and retrieve from a standards based repository of components across
languages and platforms is the next step.
This will enable developers across the world using Eclipse to not
just use a standard IDE but rather to also develop components to
a common repository that can be reused, shared and supplemented
over time to act as a base for those bigger applications. This will
enable the community efforts to shift focus onto building bigger
applications targeting the enterprises - Content Management Systems,
Customer Relationship Management Systems, Knowledge Management Systems,
Enterprise Resource Planning Systems and many more - and what's
more - they can all be reused, enhanced or integrated into bigger
or new systems.
Another interesting aspect is that if this consortium behind Eclipse
today can integrate and contribute their tools to the open source
world then this group can single handedly pull down the monopolies
in the industry today. Then Open Source will truly become a work
philosophy for the future of the Information Technology Industry
and Eclipse may become the platform of
choice. But first Rational must give away its suites, Application
Servers like Zope must become more powerful and easy to use, PostgreSQL
must become more competitive with Oracle, and the tools (Eclipse)
for Enterprise Application Development must become reality. Well,
there's a long road ahead for the open source world to catch up
on but in the open source world all it takes is one person's determination
to fill the gap so it's really difficult to say how far away -tomorrow
may not be far away - The Application's out there!!!
Brand or product names are registered trademarks or trademarks
of their respective holders. IBM, WebSphere are trademarks of International
Business Machines Corporation in the United States, other countries,
or both. Java and all Java-based trademarks are trademarks or registered
trademarks of Sun Microsystems, Inc. in the United States and other
countries. Microsoft, Windows, Windows NT and the Windows logo are
trademarks of Microsoft Corporation in the United States, other
countries, or both.