Mailing List Archive


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

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



Attila Kinali writes:

 > Hmm.. Ubuntu might be a comercial product, but beside the package
 > managment frontends and the distribution itself, they do not develop
 > much software (i completely disregard here the fact that a lot of package
 > maintainers are part of the upstream developers)

And what about Launchpad, bzr, and Unity?[1]

You're also completely disregarding the fact that it is Canonical that
provides the paid resources to polish up, make consistent, and system
test Ubuntu, package-by-package and for the distro as a whole.

In other words (and of course, somewhat exaggerated -- but only
somewhat), until Canonical gets through with it, it isn't really a
"product" at all.  It's just a hunk of code.

 > Maybe. I haven't heard of them. I know many Java and C++ shops.
 > C is already quite rare and only used in embedded systems.

Except of course in the core GNU and BSD system code, including user-
space utilities and most language implementations.  Hmm....

 > And the most important point all of them miss is that programming
 > is a craft, best taught from cratsman to cratsfman.

No, you're missing the point that some craftsmen never make it out of
the journeyman stage, while others are masters.  A rules-based process
is of course mechanical, and does not lead to truly excellent design
or code by itself.  What it is supposed to do is guarantee a minimum
quality by allocating team resources effectively, and ensuring that
certain unpleasant or unobvious activities (post-mortems, testing,
documentation) are consistently and effectively carried out.  High-
quality software can't be an individual effort for most developers,
they need to work in teams.  These "mechanical" processes have little
to do with "craftsmanship".  They are focused on communication.

It's well-known that process of developing a managed software
engineering process is multistage.  It should neither surprise nor
discourage you that many shops around you are like yours, in the
"process-unaware/process-resisting" stage 0, and most of the rest are
in the "ill-defined, even-if-there-are-rules-they-aren't-followed"
stage 1.[2]  There are now well-known techniques for improving your
processes.  There may be better references, but the works of Watts
Humphrey are a good start.[3]

Steve

Footnotes: 
[1]  The fact that many of us detest Unity doesn't mean that it wasn't
a substantial effort, and at the very least an interesting
experiment.  Ditto my own opinions about bzr (the last thing I wrote
about bzr was "God I hate bzr for not being git!" :-)

[2]  "Stage 0" is a phrase coined by Ed Yourdon, I believe, but I
don't have a cite for it off-hand -- the indexes to his books suck.
;-)  A readable and *short* account of the 5 stages of the Software
Engineering Institute's CMM (some combination of "capability",
"maturity", "management", and "model") is in Ed Yourdon's "Decline and
Fall of the American Programmer," Ch. 4.

[3]  "Managing the Software Process," "A Discipline for Software
Engineering," "Introduction to the Personal Software Process" among
others.




Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links