Update: Please read the article carefully before commenting. If you notice, most of the problems being described here is part of Eclipse, which is open source. So, usability issues are faced by open source programs as well, and not just proprietary programs on Linux. The reason I wrote that title was because this pain is usually felt by people who are making closed source packages that works on different Linux distributions. The real issue is about unneeded incompatibilities between different Linux distributions.

After working on the porting project to make Flex Builder run on
Linux
,
I am starting to see why closed source software on Linux is
hard.

There are just a handful of closed source products on Linux (counting
only the famous ones) – Opera, Skype, Nero, Acrobat Reader, and Flash
Player. Hmmm, I can think of just 5.

Why is that important at all? Because software developers who are not
initiated to the FOSS philosophy will be scared off the platform
because of its inherent complexities. For example, in this project,
getting the software to run on the various Linux distros was, to put
it lightly, troublesome.

There are a number of issues that we faced, which I’m certain is the
reason others don’t want to get into this as well.

Let’s start with Eclipse. Eclipse runs fairly well on different
platforms (let’s ignore the memory-hogging issue here), but on Linux,
it’s a different ballgame. Somehow, the polishing of the UI is
markedly lacking. Yes, we’ve filed
bugs
, but turns
out it’s not really Eclipse’s fault, it’s simply because different
window managers work differently on Linux, and handling all of this is
a nightmare.

Oh, and this gets better when it comes to distros. For example, the
latest released Eclipse 3.3 won’t run on the latest released Fedora
version. You have to wait till Fedora
8
! Because of this,
we had to drop support for Fedora, and instead concentrated on
other distros
such as Suse, Red Hat and Ubuntu.

That brings up another problem – the number of distros. The QA effort
required for the Flex Builder (FB) on Linux project was huge indeed.
And yes, we found problems that occurred only on Red Hat but not on
Ubuntu, and so on. For example, clicking on help links in Eclipse on
Red Hat opens a new window every time whereas it properly displays in
the same window on Ubuntu. Again, it’s not really Eclipse’s
fault
. Go
figure.

Then, there’s the issue of running Firefox. There’s nothing wrong with
Firefox itself, but what’s with each distro trying to customize the
Firefox startup script?! FB on Linux has to check whether the correct
version of the Flash Player plugin is installed in the browser, and
checking this is a long
procedure

– do we check in ~/.firefox/plugins/ directory or
~/.mozilla/plugins/ or $MOZ_PLUGIN_PATH or some
Suse-distro-specific directory such as
/usr/lib/browser-plugins/!

Life is simply too
hard

compared to other operating systems.

Isn’t it a wonder that nobody wants to develop a closed source product
for Linux? Even Microsoft is just handing over the audio video codecs
to Novell
and
letting them to do the hard work of creating Moonlight on Linux.
Microsoft is smart enough not to try to maintain a Linux version
of Silverlight on its own (I’m considering only technical issues,
let’s set aside philosophical issues on this one).

If we really want to make Linux a good platform, then we need to stop
messing around with the basics – at least please don’t muck up the
basic shell scripts and paths.

The way to get more people, in large numbers, to understand the open
source and free software philosophies is by making their first steps
easy. It cannot be an all-or-nothing approach. Closed source software
on Linux is not practical. And that’s a bad thing because if we can’t
convert software developers to use a different platform, how can we
expect mom and pop to switch
to Linux?

In spite of all this, I think we’ve done a good job of FB on Linux,
and happy to see all the great
response

we’ve seen so far, including reports of success on various distros
that we’ve never even heard before. So please keep the
feedback coming!

Standard disclaimer: The opinions expressed here are my own, not
Adobe’s.

I was at Yahoo! Open Hack Day at
Bangalore

on Friday and Saturday. 24 hours of hacking, meeting lots of old
friends, and sarcasm unlimited. It doesn’t get better than this.

  • 2007-10-05 Fri 02:30 PM
    • Arrived at Taj.
    • Registered myself, got the schwag
    • Met Raghu and discussed the presentation he’ll be making on Flex
    • Social networking, the offline kind

Hack Day India 01
Raghu and me checking out his Flex talk ppt
Hack Day India 03

  • 2007-10-05 Fri 03:30 PM
    • The presentations start.
    • Joe starts the ceremonies.
    • Chris starts the first talk on what Yahoo can do for you. Yahoo
      APIs, that is.

Hack Day India 06
Hack Day India 10

  • 2007-10-05 Fri 05:30 PM
    • On the fly, we three become a team
      : Pradeep,
      Raghu
      and myself.
    • Pradeep and myself know each other from Deep Root Linux
      projects, after college hours, in PESIT. Raghu and me are
      colleagues. Pradeep and Raghu met the first time today.
    • We start discussing ideas…
    • WiFi’s good

Hack Day India 11
Hack Day India 12

(more…)

Now presenting the alpha of the Flex Builder IDE on
Linux
!
(this was announced at the Adobe MAX 2007 conference). You can now
create Flex projects, write code with intellisense-like hinting,
compile and debug all within an IDE based on Eclipse, on Linux. You
heard it right, it’s officially supported by Adobe. Download it
NOW
.

The future direction of Flex Builder on Linux depends mostly on
community feedback. Yes, seriously. So please do write in your
feedback

even if it is just “works well” or “it sucks”. Why is this important?
The more the feedback, the more thought will be given to the product.
This is how things work in Adobe (as far as I’ve seen). So again,
voice your opinion on what you think of Flex Builder on Linux, and
what you’d like to see and not see in it.

Disclosure: I am part of this project. I mostly handled the
Linuxisms in the IDE functionality.

Update : Lots of feedback and comments (good to see that it’s mostly positive) on Digg, Slashdot and ZDNet. There’s also a video of the actual announcement put online by Peter Elst.

Two days before the BMS College Information Science Department Fest
called “Genesis 2007”, I received an email from a couple of students
asking me to talk about “introduction to open source”. Apparently,
they were frantically looking for a speaker. Since I’m not the right
person for this, I agreed to come only if they didn’t find someone
else… and I ended up going there on Friday.

The talk was supposed to be an introduction for a day-long session on
Open Source
Hacking
which was
organized by few enthu students trying to get other students
interested.

I started making the
presentation
on the midnight before Friday, so I didn’t have a very polished
presentation, but I had something reasonable. The title of the talk
was “How to make money from coding (or Why Open Source)”. That should
get their attention.

15 minutes before the talk, there were 2 students in the hall.
I wanted to start the talk on time and decided to start without
much crowd anyway. My sore throat was troubling me and I was
coughing every two minutes. Anyway, I started off with a funny
anecdote. It flopped. Oh boy.

Then, I decided they’re not warmed up yet, and recovered quickly. 15
minutes later, the 225 seater hall was full. Phew.

Genesis 2007 at BMSCE

An hour later, they were still all there, they were asking lots of
questions and they seemed genuinely interested. I hope the students do
take FOSS software seriously, if not for the freedom and open source
aspects, at least for their own career aspects which I detailed out in
the talk. (And I’m sure once they’re hooked, they will later “get” the
freedom and open source aspects.)

Why do I say that? Well, it comes down to the first question in the
Q&A session – “How to get into Yahoo!?”, and I replied “Well, do
you want to know how I got into Yahoo!?”. A unanimous yes. I told them
the MySQL story,
the Python story
and few other tidbits. Now, they’re really listening. I pointed out
that I didn’t have any special skills, just the knowledge of these two
open source software got me the job at Y!, and it saved me from
a service industry job (no offense meant, just a personal preference).

Next question: “Any regrets in college life?”. It caused a flashback
in my mind on Atul’s words
: “There are two times you innovate in your life – one is when you are
a student, the other is when you retire.” Back then, I didn’t believe
him. Now, I do. So, I told them “I haven’t yet regretted not scoring
well in college. This is the only ‘free time’ you have, so use it
well.” I got lot of smirks and “oh, please, we have so much to study”
looks. I said “Two years later, I’ll see how many of you come back and
tell me I’m wrong.”

Genesis 2007 at BMSCE
Genesis 2007 at BMSCE

Then, after the session ended, a few electrical students said they
wanted to get into the software industry and don’t know where to
start. I told them that some of the best programmers I’ve known are
from a mechanical background, so that’s okay. You should prove your
skills, that’s all, your background shouldn’t matter, although it
may be difficult to get your first job because you’re not a computer
science student. Then, a telecom student. I was happy about this guy
because he said he wanted to remain in the telecom domain but learn
coding really well, I said that’s a very good decision he’s taken and
told him to see open source projects such as Asterisk and OpenMoko. He
said “I’m in my final year, just 8 months to go, am I too late?”
I said “8 months is a really long time, you’re not late, you just have
to start now.” (8 months is a long time when you think about it, but
it seems to fly away so soon).

After that, students headed towards the computer lab where I gave
a crash course in using subversion. I had to get back to work, so
I didn’t stay for the rest of the day, but I heard there was a “good
response” from the students.

In the end, I don’t know if anyone was inspired about FOSS or not,
but I did see that few students absorbed the fact that knowledge and
projects are going to get them good jobs, not just marks (of course,
you do have to have a decent score), and working on FOSS projects is
one way to achieve that.

P.S. If you’ve read this far, and you’re interested in learning how to
contribute to open source software, then you’re in luck, because the
foss.in community event is coming up soon. You
can start right now by reading Atul’s latest post on
foss.in
.

Update : A related must-read article is “How to Get a Job Like Mine” by Aaron Swartz.