Skip to main content

Moving to Linux

Posted by felipegaucho on November 17, 2005 at 11:28 AM PST

During a recent debate about Java, Linux and OSS I have observed that some old fears
are still alive and are still avoiding a collaboration between the OSS community
and the Java community. Underneath the traditional flames involved in such discussion,
there is an open question to be answered: Why the Java developers
don't use Linux as development platform ?
. I know Linux users could
think it is an odd assertion, but I perceive much more Java developers using
Windows than Linux.

I don´t have intention to promote another discussion about
Linux vs
Windows or Java vs Whatever
, but I´m looking for the reason that keep the Java users
away from the free plataform. More important, I´m looking for comfortable ways of attracting
more Java people to Linux. Believe me: it is not an easy task - to remove people from their
controlled environment and push them into the unknown environment - new tools, new commands
and even the simple task needing a reading of a book or a manual. These first frightful
steps avoid many of my friends to adopt linux and I think it is our duty to maintain an open
mind in order to facilitate this culture migration.

Some of the traditional issues about Java on Linux:

  1. Distros without Java environment: despite the usage of open source tools
    by the majority of the Java developers, almost no distro comes with an integrated Java
    development environment. From the point of view of the OSS community, an Open Source software
    should not depend on a proprietary software - and the
    JVM license is a
    proprietary one. Some initiatives such as the
    Apache Harmony
    are working around this eternal conflict trying to produce an entirely
    Open Source Java Virtual Machine.
  2. The legacy of the environment configuration: many Java developers are
    already using integration tools and configuration strategies on Windows, and many
    of these tools require a reconfiguration in order to run on Linux. One can argue the simplicity
    of such configuration but not all people are ready to spend days or weeks refactoring things
    that are working fine. Comfort is the key problem here.
  3. Dependency of proprietary tools: java development is not only Java programming.
    The processes adopted by the companies include comunication, continuous integration, tests, quality
    and reprts - every tools related to the management of a Java Project. MS Project is the most obvious
    example of a tool that few people are ready to abandon in the name of the Linux. There are several
    other examples, including some complex development environment that depend on a set of
    comercial products that could force the definition of new processes in some enterprises. Comfort, money
    and risk are concerns here.
  4. Fear, uncertainty and doubt (FUD)
    : several people comment about the comfort
    in using an operational system for more than ten years - they know almost every important command
    of Windows, and they are so accustomed to the windows environment that they simply give up to try
    other systems. A very common perception is about the lack of information - the recent versions
    of the Linux distros comes with an usability very similar to Windows and perhaps with much better
    functions in some cases. Installation process, an old nightmare, has been shaped in a dummy
    level and some distros like Suse and
    Fedora includes visual wizards that make
    installation very easy.

Moving on

Well, in order to brake the inertia caused by the discomfort of a complete
migration from Windows to Linux platform, I have created a checklist about how to
move to Linux:

  1. Choose the Open Source tools: almost every tool used by the Java community
    have a Linux distribution. The first step of the proposed migration is to find the tools
    you need in the Linux platform. A complete list is not reasonable because it depends on the particular
    needs of each user. Due to that I just recommend you to check the extensive list provided by the
    Java-Source.net. The most popular list should include the following
    items:

  2. Choose the flavor of your Linux: this is one of more delicious part.
    Different of Windows and other proprietary operational systems,
    Linux provide you a large number of possibilities, from the raw systems to the easy-to-use
    environments. There are several lists about Linux distributions
    on the web and I suggest you to choose the most popular ones in the beginning of your migration.
  3. Register yourself into a discussion list (optional): A powerful way to learn
    something is to discuss it with experienced persons. Linux has a large community, it should be easy
    to find a community in your country
    or in your language.
  4. Read some introduction books (optional): there are some online books in the
    Google Print and also a large number of
    publications about Linux and about Java Programming on Linux. Check it out.
  5. The installation phase: after downloading and installing some of the above tools,
    you are able to start working on Linux. The installation process could be messy and you should be
    patient in order to get all the things working togheter.

The VMWare and the bootable Live CDs

Some interesting tools that can be useful
if you are not sure about the Linux usage: the operational systems running on virtual machines
and the magician Linux CD which runs fully configured from a single machine reboot. Recently,
the VMWare released a free VMWare player
- it allows you to run the Linux into your Windows
system without installing anything unless the vmware player. There is some
pre-built virtual machines available on the web.

Other good alternative to evaluate Linux before installing a distribution into you HD is
to use a Live CD. There are a lot of
distributions based on live CD
, basically a CD you load into your CD-Rom - after that,
just reset the computer and the Linux will be alive on your machine. You can use these CDs to evaluate
what is the best Linux distribution for your needs, and also to test that strange distribution
just for fun.

Well, that´s it! I hope this long entry help you to think about the usage of Linux in your
day-by-day. I am working here in my community in order to help other developers to adopt
Linux because I believe the operational system is the last commercial software many people
are still using - there is a strange feeling in using a lot of Open Source tools on a
comercial plataform - why if we have free choices?. There is a lot of other choices, such as
Solaris or commercial platforms, but the majority of my friends are still imprisoned into Windows
and much of this scenario is caused by our comfortable inertia.

Let's produce more Open Source Software with Java and let's produce them on Linux.

Related Topics >>