"Art vs. Design" and Code
from the something-to-think-about dept.
This text is inspired by the title of Knuth's famous series: "The Art of Computer Programming".
I have done very little programming. I have, though, been involved in the Linux movement for about 4 years.
I am really playing devil's advocate here. At the same time I am presenting some of the problems with OSS (as I see it). I don't have time to read each and every OSS paper written, so many of my ideas have been probably been addressed.
This started out as an idea on a lazy afternoon near the pool (yes, it's SUMMER in the Southern hemisphere!) I haven't done any research as to the original author(s) of nc, Eric's papers (I haven't read the C&B paper, for example).
Anyway: enough with the disclaimers. Forward!
Commercial art is different to true art. True art is an expression of the artist's soul. Commercial art is aimed at customers: getting them to buy something.
A graphic-design house is not founded to produce true works of art. Sure, there is almost always a spark of genius at the core: if there wasn't, nobody would buy their products ("they can't draw - I don't know how they can call themselves graphic designers").
Graphic design companies will thus attempt to gain a balance: keep the artists happy, but make money too. You do not expect true art from an advertising/design company. The true art is done by their staff after hours, though staff may harness this creative energy and put it into one of their projects.
The same applies to software companies: doing something because you have to will never allow you to harness your creative energies (and believe me, programming requires creativity, as many of you know). Creativity doesn't only apply to lines, colours and sounds: to come up with a truly elegant solution to a problem almost always requires lateral thinking.
So, what does this have to do with free software? Just as an artist does their best work (or at least their most creative work) away from work, programmers do their best work in their free time.
The program may not be rigorously tested (there is no time), it may not be what the client wants, it may not obey any list of standard rules (since when do you regularly use gotos in C code?), but it's creative, it's elegant. It's true art.
The Linux Kernel is a bit like a huge mural: people notice flaws, patch them up (pun intended), other people correct these in turn. Occasionally a master painter will re-do a particularly flawed section. The cool thing about this is other people's changes can be reverted easily, so a punk with a bottle of spray paint cannot ruin years of work.
Like the analogy?
I thus submit the following ideas for consideration:
- Commercial code will never be really elegant. If it is, it's
because the core programmer(s) liked the idea, and treated the
project as a work of art (just off the top of my head:
consider the 'nc' program for DOS; I believe it was developed
by Norton staff after hours... I am quite likely wrong,
though: apologies if my facts are messed up).
The next version will be significantly more inhibited (once the core developers get bored or frustrated).
It's a bit like a re-draft of an artist's first sketch: remove the way-out ideas, clean it up, make it more conventional. Make it fit for general consumption.
If it's commercially developed, it's not the software that we love.
- Free software will never be really user friendly: it will never be
fit for general consumption. Why? Because the focus isn't on
making users happy: it's on making something that works
efficiently, or that has elegant code, or is simply damn
useful (perl).
A coder hired by someone like RedHat to make a nice front end will fit into section 1 unless they are REALLY into their project.
Quite often there is a conflict between elegant code and pretty output. The fancy boot-up graphics that you see in Windows don't really belong there: it does make Windows seem more friendly though (what's more relaxing than looking at clouds). To someone like Linus, putting the code into the boot loader to do that kind of stuff irks his sense of code aesthetics.
If code is user friendly it's because it's similar to some commercial app... consider KDE and StarOffice.
OSS will never be a viable alternative to windows... having users spend lots of time trying to learn a program is costly, more expensive than windows. IT people may use OSS on their core machines, but users will never have it on their desktop: if they do, it's because someone like Corel figured out that there is a demand.
- Artists feed on each other. In some ways it is mutual respect, in
others it is competition. There will always be infighting in
the open-source community. Just as some people's minds are
wired up to enjoy 'classic' art, and other's are wired for
impressionism, there will never be resolution of the Emacs
vs vi argument, nor the Linux vs FreeBSD argument.
On the other hand, perhaps more and more will see the beauty of the other's mural: but I cannot see one mural anywhere in the future.
- There are a limited number of artists. If the open-source
idea takes off, and thousands of companies release their
code as source, who is going to hack at all of it? Not Linus,
not Alan. (Sorry FreeBeasties: I don't keep track of your
gurus!)
I believe that Netscape is already falling foul of this: there are a lot less C++ coders than C coders. I know a bit of C, but since I have no experience of OO programming I can't really hack around the Netscape source.
In short: the overall number of eyes to discover bugs is actually quite small. Unless there is company involvement (like the support IBM is giving to the Apache people) then the movement will fail. I have already asked my company if they are willing to donate to OSS groups like li.org: they said no. On the other hand they are willing to buy hundreds of copies of Microsoft programs (because it's the LAW!)
I think that one of the only ways forward here is to create some sort of communal 'D' (as opposed to 'R&D') department, where people literally hack whatever they want to... I believe that Red Hat have been doing this to some extent already, but I believe that it will work best if large groups of people finance other large groups of people. Finding sources of income here is going to be the problem
- Linux is hard to use? by Skyshadow (Score:1) Monday February 15 1999, @05:54AM
- Yes, BUT... by John Campbell (Score:1) Monday February 15 1999, @06:06AM
- Frank Lloyd Wright? by Chris Johnson (Score:1) Monday February 15 1999, @10:39AM
- Philosophy of Programming/Unix etc Mailing list by gavinhall (Score:1) Monday February 15 1999, @05:58AM
- Wrong issue by sjames (Score:1) Monday February 15 1999, @07:32AM
- btw by Stu Charlton (Score:1) Monday February 15 1999, @09:05AM
- Right on by Stu Charlton (Score:1) Monday February 15 1999, @09:08AM
- Hmm. by Fastolfe (Score:1) Monday February 15 1999, @07:11AM
- Buddy, its all about economics. by Fastolfe (Score:1) Tuesday February 16 1999, @06:49AM
- Another load of tripe by Daniel (Score:1) Monday February 15 1999, @10:34AM
- Linux is hard to use? by Daniel (Score:1) Monday February 15 1999, @10:41AM
- gotos in MFC vs. Linux 2.2.1 by DK (Score:1) Monday February 15 1999, @10:53AM
- Developers are morons! by tony@work (Score:1) Monday February 15 1999, @10:40AM
- Linux is hard to use? by Millennium (Score:1) Monday February 15 1999, @09:39AM
- Professional Graphic Design by acb (Score:1) Monday February 15 1999, @10:08PM
- Recognition at last! Programming as art by evilandi (Score:1) Monday February 15 1999, @06:13AM
- Ease of use? Try consistency. by Squid (Score:1) Monday February 15 1999, @09:07AM
- Forced Analogy and C++ by Greg Newton (Score:1) Monday February 15 1999, @01:02PM
- agree by hany (Score:1) Monday February 15 1999, @07:23AM
- FLAME ON---- :) by hany (Score:1) Monday February 15 1999, @07:33AM
- What a great argument for avoiding Linux by yoz (Score:1) Monday February 15 1999, @11:22AM
- User friendliness can be aestetical! by Vitus Wagner (Score:1) Monday February 15 1999, @09:41PM
- true but too sweeping by will (Score:1) Monday February 15 1999, @06:28AM
- flawed analogy by gary.flake (Score:1) Monday February 15 1999, @06:55AM
- RE: flawed analogy by gary.flake (Score:1) Monday February 15 1999, @08:27AM
- FLAME ON---- by Signal 11 (Score:1) Monday February 15 1999, @05:35AM
- bleak outlook... by PsyKotyk (Score:1) Monday February 15 1999, @06:08AM
- Beware the Graphic Designers by Lemmy Caution (Score:1) Monday February 15 1999, @09:58AM
- Those secretaries... by cyberwench (Score:1) Friday February 26 1999, @03:22PM
- um... by cyberwench (Score:1) Friday February 26 1999, @03:30PM
- That's _not_ TWICE by cyberwench (Score:1) Friday February 26 1999, @03:46PM
- They should!!! by Ageless (Score:1) Monday February 15 1999, @06:33AM
- Comments in the wind... by Ageless (Score:1) Monday February 15 1999, @07:37AM
- Defense of "More C coders than C++ coders" by Conor6 (Score:1) Monday February 15 1999, @12:52PM
- Division of labor, anyone? by PMoonlite (Score:1) Monday February 15 1999, @09:17AM
- Counterexample by Omnifarious (Score:1) Monday February 15 1999, @11:11AM
- I disagree. by Lx (Score:1) Tuesday February 23 1999, @05:57PM
- That's TWICE my reply to this (sigh...) by Lx (Score:1) Tuesday February 23 1999, @06:08PM
- Commercial Soft CAN be creative, too by Seldon (Score:1) Monday February 15 1999, @06:43AM
- Alphonse Mucha, N. C. Wyeth . . . by Venomous Louse (Score:1) Monday February 15 1999, @06:21AM
- Linux is hard to use? by RichN (Score:1) Monday February 15 1999, @06:35AM
- How to help? by raistlinne (Score:1) Monday February 15 1999, @07:11AM
- So he isn't a tool. by raistlinne (Score:1) Monday February 15 1999, @07:17AM
- Another load of tripe by raistlinne (Score:1) Monday February 15 1999, @07:47AM
- Another load of tripe by raistlinne (Score:1) Monday February 15 1999, @04:59PM
- "Art vs. Design" thoughts by eirik (Score:1) Thursday February 18 1999, @06:37AM
- Stated simply by maphew (Score:1) Monday February 15 1999, @08:04AM
- Linux is easy to use by Master Switch (Score:1) Monday February 15 1999, @07:23AM
- The Point of open source? by Sensor (Score:1) Monday February 15 1999, @05:53AM
- So is a VCR by takshaka (Score:1) Monday February 15 1999, @08:28AM
- Objections and agreements by Todd Knarr (Score:1) Monday February 15 1999, @06:03AM
- They should!!! - Do you? Yes by Fvision (Score:1) Monday February 15 1999, @08:28AM
- No they shouldn't by BrownJ (Score:1) Tuesday February 16 1999, @01:56PM
- Commercial vs True Art by leandrod (Score:1) Monday February 15 1999, @08:45AM
- Linux is hard to use? by DeadmEAT42 (Score:1) Sunday February 21 1999, @03:19PM
- Ease of use? Try consistency. by Mike A. (Score:1) Thursday March 04 1999, @11:10AM
- How to help? by lls (Score:1) Monday February 15 1999, @09:09AM
- A two minute genius! by lgordon (Score:1) Monday February 15 1999, @03:03PM
- They should!!! by bitwize (Score:1) Monday February 15 1999, @06:57AM
- 61 replies beneath your current threshold.
