[ The opinions expressed by authors on Linux Today are their
own. They speak only for themselves and not for Linux Today.
]
Contributed by Linux Today reader Bill Meahan.
Note: The bulk of what follows is from a talkback I posted to an
earlier article here on Linux Today. Having thought about it some
more, the topic probably needs wider circulation. Hence this
article.
Do you know the difference between a “Corporate developer” and a
“commercial developer?” No this isn’t part of a riddle or bad joke.
It’s a distinction that has great importance to the acceptance of
Linux in the corporate world.
This acceptance is about much more than whether or not Linux has
a good spreadsheet or whether one can do word processing, desktop
publishing or image manipulation. Having such “office productivity”
applications is certainly a prerequisite to full-blown acceptance
of Linux (at least on the desktop) but it is insufficient in and of
itself! The biggest value of that graphical shell from Redmond (at
least in larger corporations, not “Carol’s Typing and Resume
Service”) is the ability to easily develop and deploy applications
which support the corporate business practices. These applications
are not “products” in and of themselves (that is, not the ultimate
thing the corporation delivers to its customer base) but serve
the Corporations’s own internal business needs. According to
several surveys, there are far more “Corporate” developers than
there are “commercial” developers. At least outside of Redmond or
Silicon Valley 🙂
This difference between “Corporate” and “commercial” is
crucial because it impacts many of the recurring debates
within the Linux community:
- Whether or not “Corporate” applications themselves are
“Free/GPL/Open Source” is a moot point. These applications
will rarely, if ever, be distributed or sold outside the walls of
the corporation for which they were developed. Generally, they are
far too specialized or far too intertwined with a corporation’s own
“unique” business practices and procedures to be useful for anyone
else. Even if they might be useful elsewhere, they are likely to
embody a particular corporation’s “competitive advantage” and
there’s no way a corporation is going to help its competitors by
giving away its advantages. (Note: it is the business
practice that is the advantage, not the software.) Besides,
within most corporations, any application developed in house is
already free (“free speech” or “free beer” – take your choice) to
other entities within that corporation, regardless of the
development tools or deployment platform used. - In the “Corporate” world, speed of delivery is almost
always more important than program efficiency.
Implementing a better business practice (supported by technology)
sooner rather than later almost always saves more money than any
supposed lack of “efficiency” within the application itself will
cost, special applications controlling the speed of an assembly
line notwithstanding. Or in other words there is truly a “cost” to
deferred delivery with the cost rising as the time to delivery
increases. Hence the widespread use of RAD tools and things like
Delphi or Visual Basic, regardless of how unappealing they might be
to “commercial” developers. - Technology is usually cheaper than people.
When you have to hire folks to develop your “Corporate”
applications (as opposed to relying on programmers driven solely by
passion, interest or ideology) you are going to pay handsomely for
them, and few corporations are willing to wait until a passionate,
interested ideologue shows up to develop its “Corporate” apps.
Current agency bill rates in the Metro Detroit area, where I live
and work, average somewhere around $50-60/hour with specialist bill
rates often double or triple that amount. Thus, “throwing hardware”
at a problem is usally cheaper (overall) than paying a specialist
to tweak and twiddle an application until it’s highly efficient.
Remember the “speed of delivery” cost? And aside from the cost of
developers, the new application might allow the corporation to
downsize or to avoid hiring new employees or to re-deploy existing
people to more cost-effective pursuits. - “Good enough” really is good enough.
Hence a choice of development tools is driven more by familiarity,
installed base and availability of programming talent than by
considerations of pure technical merit. This may sound strange to
those for whom “performance” is the Holy Grail of computing but
that is the reality of corporate life. In the light of the above,
what does switching from “good enough” to the (technically) “best”
buy me, especially if I have to spend beaucoup bucks hiring other
developers or retraining my development staff?
Like it or not, for Linux to be fully successful in the
“Corporate” world, it will have to support the Delphi’s, Visual
Basics and Powerbuilders (or their exact equivalents) since these
are the tools of “Corporate” development. Even if they do offend
the ideological or those with an overdeveloped worship of pure
technical merit. And Linux will have to deliver real value
(in terms of supporting the business), not just a low (or
non-existent) price.
Now, “commercial” development of general-use applications, like
the 4,234,526th text editor this month or the 1,256,623rd ICQ
client this week, is a whole different story. For
that, debate on, O Linux community!
For the curious (or enraged), I am a software development
supervisor for a large Fortune 2 (no, I didn’t forget any zeroes)
company where I’ve done a lot of specialized programming and
development (from high-speed machinery control to help-desk
tracking systems) for most of the 27+ years I’ve worked there. I
started programming in 1965 and I’ve seen a lot of stuff
come and go in the computer world so I seldom get passionate about
computer-related topics any more. Though new to Linux, I’ve been
around Unix since Bell Labs Version 7 and on the Net since about
1979. Had an AT&T “Unix PC” (aka “3B1”) at home for several
years and taught my daughters to use GNU Emacs and TeX to do their
high-school papers. (Boy, were they pissed to be forced to use WP
4.2 for DOS in college 🙂 )
I love Free software and snuck Perl 3.0.44 (old numbering
system) into the company long before the Web caused it to become a
“strategic” platform. And I’ll never admit to being the guy who
built an entire test-stand calibration system in Perl using gnuplot
and TeX for reporting or ran a C-News UUCP node for several years.
Nope, not me. So please, send all flames about being a “newbie” or
“not getting Linux” to /dev/null. That’s where
procmail on my home Linux system will send them
anyway.