Mailing List Archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tlug] GPL vs. paid version and ethics



> My point is, that comercial software development as i know it sucks.
> And mind you, i've been in 5 companies already. Some of them with
> formal procedures, but hardly anything that i'd call even remotely
> sufficient to produce good code. At best, i've seen mediocre code
> from the better coders. Bad coders went usually unchecked as long
> as the stuff they wrote somehow worked.

While it's certainly true that commercial software has different (and
frequently changing) priorities, it's certainly a stretch to say that
commercial software development as a rule produces bad code and OSS
produces good (or better) code.  I've waded enough into the dark
depths of Spring, Hibernate, and Ivy to have aged a few extra years
(and Spring itself is quite uneven—some of it is easy to read, some of
it uses rather out-of-vogue ideas of object orientation, and some of
it is just a tremendous mess of spaghetti).  On the other hand,
there's very little commercial software I've worked on that I would
consider "worse" code than what I've encountered trying to
troubleshoot Ivy.

Commercial software built to last at least has the motivation of
knowing that many of the same people will have to live with the
software in the years to come, and as a result I've never worked on a
team that did not dedicate time to pay down technical debt.  If
anything, I think the main problems in commercial software are the
habit to over-architect.  I.e., building generalised frameworks to
solve unique problems, or implementing high-minded "best practices"
where a more pragmatic approach is called for.  Code quality can at
least be refactored (albeit painfully), but too much architecture is
usually a difficult and time-consuming problem to either fix or live
with.

If I'm going to invest a lot of time and money building software on
top of something and will frequently need to peer under the hood, I'll
pretty much always choose OSS (Rails, Spring, MyBatis, JQuery,
Camel+CXF, etc.).  Otherwise it's kind of up for grabs.  I don't
really care whether IntelliJ is written with better code, but it's
much easier to use and nicer to look at than Eclipse.  Before Git,
Perforce would be my SCM of choice.

As others have pointed out, there is a tendency within a given market
for commercial products (particularly professional ones) to have a
higher degree of usability and more polish to them.  On the other
hand, OSS generally does a better job of fulfilling needs for which
there is limited commercial incentive, and in areas where stability
and troubleshoot-ability are far more important than usability.
Exceptions abound, of course.

Yours,
   Jun-Dai Bates-Kobashigawa


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links