John Carmack Answers
1. Inazuma asks:
I know that you and id are
doing simultaneous development of Q3 for
Windows, Mac and Linux. Which of those
is your favorite
OS to use, and which to program
for?
John Carmack
Answers:
I use WinNT, Win98, MacOS 8.x, and linux on a regular basis. I also spend
some time with MacOS X and irix.
There are individual pros and cons to each system, but if I had to choose only a single platform in its currently shipping state to work on for the next year, I would choose WinNT.
I'm going to risk my neck here and actually defend microsoft a bit:
There are plenty of reasons to have issues with MS, but to just make a blanket statement like "everything that comes from microsoft is crap" is just not rational. There are a lot of smart people at microsoft, and they sometimes produce some nice things. There are some damn useful features of MSDEV that I have not seen on any other platform - all the intellisense pop up information and edit-and-continue, for instance.
I chose NT as our development environment because, after evaluating all available platforms, I decided it was the best tool for the job. NT had the added advantage of running the native executables of our largest target market, but the important point is that it would have won on its own merits even without it.
It offered quality 3D acceleration on intergraph hardware, a stable platform, a good user environment, apps for basics like mail and document editing as well as high end media creation tools, and a good development environment.
I made that decision over three years ago, and I think it has proven to be the correct one. NT is definitely going to be the primary development platform for our next project, but I will be evaluating alternatives for a possible transition after that. The contenders will be linux and MacOS X. None of the other unix workstations would be competitive for our purposes, and I don't think BeOS will offer anything compelling enough (they can always prove me wrong?).
I haven't really been using Win2K, but from a cursory glance, it looks like a reasonable evolution over NT 4.0. The only real downsides to NT 4.0 for me are the bad sound latency and poor input fidelity, and these should be fixed in Win2K.
The current MacOS X server is a bit of a disappointment. I really enjoyed NEXTSTEP on a lot of levels, and if it had workstation quality 3D acceleration, I probably would have stayed there. Unfortunately, much of the development effort spent on it during its transformation to MacOS X seems to be steps sideways instead of forward. Macifying the user interface, porting to PPC, deprecating ObjC for java and C++, etc. They probably all had to be done, but it just hasn't brought anything new to the table. As a user environment, it still feels sluggish, and it still doesn't have 3D graphics.
Linux has progressed a lot in usability in the time since I made the last platform decision. Sure, the guts have always been good, but the user environments were very weak compared to windows or the mac. Some people may think six xterms and a few athena apps are all the UI that anyone should need, but I disagree. The Linux user environment still isn't as good as windows, but going from redhat 5.2 to redhat 6.0 was a whole lot more impressive than going from win95 to win98, or MacOS 7 to MacOS 8. If there is another jump like that, I wouldn't feel too bad inflicting another non-windows platform on everyone else in the company.
2. DanJose52
asks:
How'd you start, personally (I
mean on the inside, like emotionally and
morally), and how has Id software
changed you? for better
or worse?
John Carmack
Answers:
I knew I wanted to work with computers from a very early age, but there
were also a lot of other stereotypical geek aspects to my life growing up -
phreaking, hacking (nobody called it "cracking" back then), rockets, bombs,
and thermite (sometimes in not-so-smart combinations), sci-fi, comic books,
D&D, arcades, etc.
I was sort of an amoral little jerk when I was young. I was arrogant about being smarter than other people, but unhappy that I wasn't able to spend all my time doing what I wanted. I spent a year in a juvenile home for a first offence after an evaluation by a psychologist went very badly.
I went to a couple semesters of classes at the University of Missouri (UMKC), taking nothing but CS classes, but it just didn't seem all that worthwhile. In hindsight, I could have gotten more out of it than I did, but I hadn't acquired a really good attitude towards learning from all possible sources yet.
I dropped-out of college to start programming full time, but trying to do contract programming for the Apple II/IIGS post 1990 was not a good way to make money, and I only wound up with between $1k and $2k a month. Not having enough money is stressful, and I did some things I didn't want to. I wrote a numerology program for a couple hundred bucks one time...
Softdisk publishing finally convinced me to come down to Shreveport for an interview. I had been doing contract work for Jay Wilbur and Tom Hall, so I knew there were some pretty cool people there, but meeting John Romero and Lane Roath was what convinced me to take the job. Finally meeting a couple sharp programmers that did impressive things and had more experience than I did was great.
After I took the job at Softdisk, I was happy. I was programming, or reading about programming, or talking about programming, almost every waking hour. It turned out that a $27k salary was enough that I could buy all the books and pizza that I wanted, and I had nice enough computers at work that I didn't feel the need to own more myself (4mb 386-20!).
I learned a huge amount in a short period of time, and that was probably a turning point for my personality. I could still clearly remember my state of mind when I viewed other people as being ignorant about various things, but after basically doubling my programming skills in the space of six months, I realized how relative it all was. That has been reinforced several additional times over the seven years since then.
All the time from working at Softdisk, to founding Id and making the products we are know for has been pretty seamless for me. I have been learning as much as I can, working hard, and doing my best.
I know that most people won't believe it, but a 100x increase in income really didn't have that big of an impact on me as a person. It is certainly nice to be in a position where people can't exert any leverage on you, but it's definitely not the primary focus of my life. I get to drive a ferrari in to work, but my day to day life is almost exactly the same as it was eight years ago. I get up, go in to work, hopefully do some good stuff, then go home. I'm still happy.
3. by moonboy
asks:
I once read, in Wired, an
article that said you have an incredible
headstart on everyone else for making
"virtual worlds" on the Internet using your engine from
the Quake games. Do you have any
intention of doing this? Has anyone
approached you about it?
It would seem like a fantastic
use of the technology with online gaming
being so popular. Entire worlds online
could be created
virtually and very life-like
with many different purposes.
John Carmack
Answers:
Making Snow Crash into a reality feels like a sort of moral imperative to a
lot of programmers, but the efforts that have been made so far leave a lot
to be desired.
It is almost painful for me to watch some of the VRML initiatives. It just seems so obviously the wrong way to do something. All of this debating, committee forming, and spec writing, and in the end, there isn't anything to show for it. Make something really cool first, and worry about the spec after you are sure it's worth it!
I do think it is finally the right time for this to start happening for real. While a lot of people could envision the possibilities after seeing DOOM or Quake, it is really only now that we have general purpose hardware acceleration that things are actually flexible enough to be used as a creative medium without constantly being conscious of the technical limitations.
Two weeks ago, I pitched a proposal to develop some technology along these lines to the rest of the company. I may wind up working on some things like that in parallel with the next game project.
4. justin_saunders
asks:
Many people consider you to be
one of the best programmers in the
game/graphics scene, based on your
ability to keep pushing
the limits of current PC
hardware.
I was wondering what measures you use to gauge the skill of a programmer, and who, if anyone, you look up to and consider to be a "great" programmer.
John Carmack
Answers:
Like most things, it is difficult to come up with a single weighted sum of
the value of a programmer. I prefer to evaluate multiple axis independently.
Programming is really just the mundane aspect of expressing a solution to a problem. There are talents that are specifically related to actually coding, but the real issue is being able to grasp problems and devise solutions that are detailed enough to actually be coded.
Being able to clearly keep a lot of aspects of a complex system visualized is valuable.
Having a good feel for time and storage that is flexible enough to work over a range of ten orders of magnitude is valuable.
Experience is valuable.
Knowing the literature is valuable.
Being able to integrate methods and knowledge from different fields is valuable.
Being consistent is valuable.
Being creative is valuable.
Focus is extremely important. Being able to maintain focus for the length of a project gets harder and harder as schedules grow longer, but it is critical to doing great work. (Side note - every time "focus" is mentioned now, I think of Vernor Vinge's "A Deepness in the Sky", currently my favorite SF novel)
I certainly respect the abilities of my primary competitors. Back in the DOOM days, Ken Silverman was extremely impressive, and today Tim Sweeny is producing much of value.
5. ajs asks:
I read a sort-of-analysis that
you wrote way back comparing DirectX 3D
handling to Open GL (with Open GL being
far
preferable to you). Do you feel
that the tools that you and others will
need to create the next generation of games exist now under
Linux or other Open Source
operating systems, or is that still a
long way off? What would you recommend
that we developers and
developer wannabes dedicate our
time to?
John Carmack
Answers:
To develop a game, you need coding tools, pixel art tools, modeling and
texturing tools, sound tools, and usually music tools.
Coding tools are basically fine under linux, and there is already plenty of force behind their improvement.
Gimp looks serviceable for pixel editing, but I don't know of any professional game developers using it.
I assume there are some basic sound tools available, but I would be surprised if they are equal to the best windows or mac tools. That is probably the most approachable sector to work on improving.
Modeling and texturing tools are the biggest lack, but it is also the hardest to address. They really need to be built on top of solid 3D infrastructure, and that is still in its infancy right now. It would probably be possible to build a simple, focused modeling and texturing program that could get the job done, but full featured programs like MAX and maya have an immense amount of work invested in them. Maybe SGI will get maya ported to linux...
We are going to try to build our next level editor cross-platform, which will probably sort out a bunch of 3D content creation issues. I will be improving the matrox GLX driver as necessary to support the effort.
6. thebrit asks:
Is it possible ID may join Ion
Storm for a future project together , or
are the 'artistic' differences between
you too great ?
John Carmack
Answers:
Future technology licensing is certainly possible, but as for actually
working together, there is very little chance of that for a project that we considered important.
If I decided to spend a little discretionary time whipping up, say, a color gameboy port of Commander Keen (an idea I have sort of been toying with), then I might ask Tom and John if they wanted to make some levels for it.
7. Scott Francis[Mecham
asks:
Recently someone posted about
their experience in determining the file
structure of the Doom WADfile. How did
you feel when
people were discovering how to
modify Doom, from building new levels,
to changing the executable
itself(dhacked) originally
without any information from
id? In your opinion, is the modding
community a valuable place for creating
future game developers?
John Carmack
Answers:
The hacking that went on in wolfenstein was unexpected, but based on that,
DOOM was designed from the beginning to be modified by the user community.
The hacking that went on with the leaked alpha version was obviously not approved of, but after the official release I did start getting some specs and code out. I had sent some things out early on to a couple of the people that had done tools for wolfenstein, but in the end it was pretty much a completely different set of people that did the major work with DOOM.
The original source I released for the bsp tool was in objective-C, which wasn't the most helpful thing in the world, but it didn't take long for people to produce different tools.
Dhacked was a bit of a surprise to me, and I always looked at it as something that maybe shouldn't have been done. I'm not very fond of binary editing an executable. It clearly showed that people were interested in more control, so it probably argued for the greater freedom given with quake.
I still remember the first time I saw the original Star Wars DOOM mod. Seeing how someone had put the death star into our game felt so amazingly cool. I was so proud of what had been made possible, and I was completely sure that making games that could serve as a canvas for other people to work on was a valid direction.
A doom/quake add-on has become almost an industry standard resume component, which I think is a Very Good Thing. The best way to sell yourself is to show what you have produced, rather than tell people what you know, what you want to do, or what degrees you have.
In the modern gaming era, it is very difficult for a single person to produce a complete looking demonstration game from scratch. It does happen, but a much more reasonable scenario is to do an add-on that showcases your particular talents, whether they are in coding, design, or media. You want to be able to go to your prospective employer and say "There is a community of ten thousand people actively playing a mod that I wrote in my spare time. Give me a job and I will be able to devote all of my energy to gaming, and produce something vastly superior."
8. jflynn asks:
Many people think that the
extreme sucessfulness and longevity of
DOOM and Quake was partly due to the
internet communities
that sprung up around them, to
discuss playing them and write new
levels for them.
How important do you feel a viable gaming community is to the success of a new game today?
John Carmack
Answers:
I have always been a strong proponent of supporting the gaming community,
but arguments can be made that it isn't that important for success.
Most entertainment media is designed to be throw-away, where people buy something, have a good time with it, and move on. Myst, the most successful computer game of all time, has no community.
A lot of companies would prefer to look at their games like movie releases. Every couple years, you go see the latest by a director you like, then don't think about it too much until the next one.
The game-as-a-lifestyle type of community that has sprung up around a few games is an interesting phenomenon. The plus side is that there is a lot of wonderfully creative things going on, and it does attract more attention over the years than any single media blitz.
The downside is that it breeds a lot of zealotry, which can be a bit ugly. I get some fairly hateful email from people that are too wrapped up in it and disagree with some direction I am taking.
At this point, I think it is clear that the community has been a positive thing. I was very pleased when, earlier this year, Kevin Cloud came around and agreed that the community has indeed been good for us. For years, it felt like I was just being humored by the other owners at id when I pushed for all the code releases.
9. mpav asks:
This is a break from the usual
questions from this group, but I thought
it would be interesting to know.. You
have a couple of exotic
sports cars, one being a 1000
horsepower/750 ft-lbs of torque
(insane!) ferrari, and I was wondering
which one you generally
drive to work?
John Carmack
Answers:
I drive my twin-turbo F50 almost all of the time. It took a while to get
all the bugs sorted out, but it is almost a perfect combination right now.
It is light, nimble, and responsive, and 600 hp at the rear wheels is just
about perfect for a street car of that configuration.
I only drive my testarossa now when I am low on gas in the F50 or if I need to drive someplace where I think the extra inch or two of ground clearance is important. It is heavy and ponderous, but every time I do drive it, I am impressed again with the power. 1000 hp at the rear wheels is excessive. It takes a while to spin the turbos up to the full 24 psi of boost, but when it has a full head of steam going, it moves like nothing else on the road. It runs away from superbikes on the highway. However, when exercising it, you have a very clear sense that you are taking your life into your hands.
I will probably be getting rid of my TR when my next project car is completed. It is a custom carbon fiber bodied ferrari GTO with a one-of-a-kind billet aluminum twin turbo V12. It is going to make a bit more power than the TR, but only weigh about 2400 lbs. I have a suspicion that we will wind up detuning the engine, because 1 hp / 2 lbs is probably quite a bit past excessive and into the just-plain-stupid realm.
It was supposed to be done two years ago -- mechanics are worse than programmers.
I also have a little MGB that I am theoretically working on myself, but I haven't had time to touch it in six months?
10. Hobbex
asks:
Though it unlikely that games
will ever be free (ala beer), since so
much effort goes into them from all
angles (not just code, but
also art, music, design etc),
but that does not necessarily preclude
open source game engines.
Admittedly (and I don't mean this as a slam against you) game engines today do suffer from many of the same problems that Open Source activists attack in Operative systems and other software: bugs, instability and sometimes even bloat and vaporware.
Do you think that Open Source will play a part in the future of game development?
John Carmack
Answers:
I have spent a lot of time thinking about that.
I was trying hard to get an article together about game code licensing to go out with the interview questions, but I just didn't make it in time. I had written three pages of article and four pages of other stuff that I had ripped out because it was going off on various tangents.
First, it is interesting to examine how coding is similar or dissimilar to art, music, design, etc. Most GPL works don't have to face the issue, because the work is clearly dominated by code. A few little icons aren't enough to make people really think about it. The argument is significant for games, because coding is only about a third or less of the work in most cases. The arguments that RMS puts forth for the ethical rightness of free software also seem to apply to all digital media. If you take them seriously, the spirit of the GPL seems to want to say that all digital media should be free. That isn't a pragmatic battle to try and fight.
If you just focus on the code, I think there is indeed a viable business model for a line of titles based on open source code with proprietary data. It will take either a very small company, or a very gutsy big company to take the first step. The payoff won't be until the second product.
I think open source is at its best with games (and probably most other things) in a post-alpha model. Fixing, improving, and building upon an existing core is obviously extremely fruitful in an open source model.
Going open-source from development day one with a game probably doesn't make much sense. Design by committee doesn't work particularly well, and for something with as much popular appeal as games, the signal to noise ratio would probably be very low.
I tagged along at the beginning of a from-scratch open source gaming project (OGRE), and it more or less went how I feared it would - lots of discussion, no code.
While the mod communities may not be exactly OpenSource?, I think they work very well. There is some value in having focused areas to work in, rather than just having the entire thing dumped in your lap.
I am going to be releasing the majority of the code for Q3 soon, but there will still be proprietary bits that we reserve all rights to. We make a fairly good chunk of income from technology licensing, so it would take some damn good arguments to convince everyone that giving it all away would be a good idea.
Something that is often overlooked about Id is that Kevin and Adrian together own 60% of the company. They are artists, and most definitely do not "get" free software.
John Carmack
Oh that's nice, not a single AC question was submitted once again.
That's too bad, as there were some good ones.
Well, no, not really; NT4's DirectX support is not brilliant, and never will be. It's the quality of the developer tools that's so attractive. DevStudio is a bloody good piece of software for developing anything.
The most frustrating thing with NT is how installing one program seems to incur a 20% chance of breaking something
Linux is no more free of application interdependencies than NT is; this is something that can only get worse on Linux, IMO.
Kernel panics happen, too; crap hardware is still crap, even if it's running Linux; I've had my share of machine lockups (usually X-related) and kernel panics (usually SCSI-related). NT on the same hardware was rock-solid, BTW, because the drivers were that bit more mature. That's nothing to do with the OS.
Linux may or may not surpass NT in the future; BeOS might pip both of them, but what's important is the toolsets available and right now the big problem area for OSS development is native application support for file formats. IMO this is far more important than how big your uptime is.
Check out http://crystal.linuxgames.com
Here's a great list of 3d engines, some of which have source:
http://cg.cs.tu-berlin.de/~ki/engines.html
A good programming reference for your "How do I program Quake" questions is Michael Abrash's Black Book of Graphics Programming. It's a huge book which has a lot of cool stuff on BSP trees, Quake data structures, etc. at the back of the book. To be fair, it also has some outdated info on programming in DOS and assembly programming for outdated processors, but Abrash is one of those rare talents who can write and program extremely well. And he worked on Quake, so he knows what he's talking about.
jeff s.
While Linux kicks NT's behind on many, many things, it stands to reason that it - as a system still very much in development - that it can't beat NT in *everything* - yet.
The good Mr Carmack has just pointed out an area where Linux could be improved.
More importantly, he has just created the Mother Of All Opportunities for some hackers in search of some ego-boo. How'd you like to be the guy that wrote the game development environment that converted **Carmack**?!!
I expect we'll see a flurry of coding on this very problem, and NT will lose again.
Neat how this works, huh? The better our friends in Redmond do, the more they provide us with material to learn from. You cannot, in the long term, out-feature Open Source.
Okay, go find a mirror and look yourself in the eye. Now,say, "A computer is a tool, not a way of life or a religion" one hundred times. Repeat as needed.
What would be unethical in a case like this one would be for Carmack to not tell about his positive experiences using and developing with Windows NT. It would be unethical to sell your business on using Linux (or any OS) if you knew that there was a better option available that you can't stomach for purely philosophical reasons.
I notice a lot of people on /. recently who seem to think that Linux and OSS got to where it is today via either refusing to admit its faults or mindless advocacy. Sitting on your butt and yelling, "MS might be better, but they cheated and used buyouts and corporate sabotage to become so!" is a useless response. Refusing to admit your own weaknesses is a sure path to defeat. Victory, be it in war, software development or table tennis, comes from knowing your own strengths and weaknesses and being able to embrace them, to work on them.
Anyone being paid by a company to choose a platform for a specific task has a moral obligation to provide the best platform for that task. You need to accept that blind advocacy is not a Good Thing(tm).
Read my .sig for starters.
----
Every year during my review, I just pray the words "slashdot.org" aren't mentioned.
It's usually easy for people in the OSS community to bash Windows because the people who make the decision to use it generally do so because they're uninformed sheep, following whatever PC Week told them. Overall, I think this ease of attacking leads us past some of the actual advantages of using NT. We sit here and back Gartner or ZD, moan about how much Bill pulls down, and all the time we are blind to those certain places where MS still "ownz" Linux.
But you can't really argue with what Carmack said, and even if you do you've got to have the creds to stand up to frickin' John Carmack (I can think of a half dozen names at best who'd even get that sort of time of day, and they better have a damn good arguement).
Overall, I give Linus and Carmack the most points for being the most grounded hackers out there; whenever they take a stand on an issue, you generally realize (either then or later on when all the pieces have fallen into place) that they were right -- I remember Carmack talking about lack of an easy-to-use email program under Linux a few months back, and he is (or was, this new KDE email program looks pretty hip) 100% right.
One last thing that's a little off-subject: Why do we have to put up with people posting comments like "Right on!" just so they can be in the top few comments? I'm not sure what can be done about it, but it's really starting to cheese me off. Maybe just saying out loud that they're morons in enough, but I'd really rather that people started posting more intelligent, though-out and well reasoned comments that at least demonstrate that they've read the article. Rant mode off, sorry.
----
Every year during my review, I just pray the words "slashdot.org" aren't mentioned.
Feel free to moderate this down too if you want, but exactly why is the idea "total pragmatism does not define ethical, ethical is the consideration of broader social concerns", 'overrated'? I'm aware that's just a single moderator's opinion, but somebody must have felt very strongly about it to bother using a point on it. What is the deal and does that indicate a conscious decision to render social concerns irrelevant?
As for the _software_ specifically, again, look at Pro Tools. It's possible that you might go with a GIMP-like 'zillion add-ons' scenario, but there are certain things that must be there, and without them you're nowhere professionally but with them platform means nothing to a DAW:
- internal calculations at vastly higher bit depth than your output bit depth (which will be 16 or 24 bit- internal needs to be 32 or 64 or more)
- seriously great dithering to translate the final output to the desired bit depth, otherwise the added depth is wasted
- realtime. This is where the Mac shines, as you can starve the OS of cycles with trivial ease. To be professional there must _never_ be a dropout of even one sample in duration. To produce pro-quality DAW software, first work out how to make it realtime, even if you don't think it's necessary. You _have_ to treat it as necessary because eventually something will get tangled up and unless you have it running as realtime priority, able to starve _anything_ in the machine to play continuously, you'll get a hiccup- and have to do it over- at twenty thousand dollars an hour (not unreasonable for the total cost of having a superstar group in a really topflight recording studio).
That said, there's no reason why Linux couldn't seize this market, given a suitable understanding of its requirements. However, it's important to not make the mistake the GIMP made- to the best of my knowledge, the GIMP calculates internally in RGB color. (If it calculates internally in 128-bit RGB color, downplay this critique, but gamut is still an issue). Its pro-tool competition, Photoshop, calculates internally in LAB color, which exceeds the gamut of RGB color, and this causes every single operation it offers to be done with a broader palette of colors (not necessarily higher resolution! But a broader gamut).As far as I know, there _are_ no other pixel editing tools that calculate in LAB (Luminance, A and B) color, so the GIMP can basically beat everything else, but this core design decision is limiting. A comparable digital audio opensource project would be well advised to overdesign from the start. On the bright side, there's nothing quite the same as the gamut problem in digital audio, so the main thing would be to calculate in a high enough bit depth and make sure there are never dropouts or error-corrections- given that, future amazing dithering algorithms could be done as plugins, and the project could rival or beat anything commercial
yah, they've met, I don't know any details other than Carmack visited Transmeta and they talked about things like 3D on Linux (and things needed for the kernel)
I agree with Carmack, RMS's arguments naturally extend themselves to all other media. One can easily imagine RMS having gotten bent over not being allowed to record and distribute his own cover version of some song, instead of a printer driver.
If you believe in the philosophical underpinings of the GPL, then you believe that intellectual property is morally wrong.
I prefer a more pragmatic approach: intellectual property is a construct we invented for the betterment of society as a whole. Does it work? Which parts help more than they hurt? Which hurt more than they help? For example, I think the copyright system works pretty well, and (today's) patent system is a horrible botch.
I didn't see it that way at all. Keen was the franchise that got id off the ground, and porting it to the GBC could be a fun sentimental project for the 'original team'. I imagine that level design was what Tom and John did the first time.
In Windows, you have dozens of things conflicting with each others (something you notice yourself), and make things terribly fragile. I have yet to see a single such conflict in Linux, after having used lots of different distributions on lots of different machines.
It's not uncommon that I find incompatible libraries (especially in the early days of GTK/GDK). The transition to glibc was a painful one, and resulted in lots of broken apps. I've had more trouble in the past with Linux library incompatibilities than I've ever had with Windows DLL incompatibilities. Of course, since I started using RPM's exclusively and stopped compiling my own stuff when I didn't need to, those have largely been eliminated, since the RPM system keeps track of versions of things like that and knows when something needs to be upgraded and when not.
Second, using `mainstream hardware' isn't always feasible. Some PCs simply don't come with mainstream hardware, and you'll just have to live with it.
Oh, I agree, but if you're building an NT system, this needs to be a consideration. If you feel you need to cut corners, you do so at the potential expense of stability. Like I said, I'm mentioning this from the POV of a large corporate structure, where the resources exist to get lots of PC's with precisely the hardware we need.
BTW, a crashing module does _not_ crash the kernel.
Back when people were talking about the GPL and how Linus had made an exception re: the kernel that allowed vendors to supply binary-only kernel modules, I always heard one of the major arguments against this was the fact that, since there was no code/quality review of the modules, there was a good chance of inserting buggy code into the kernel and causing the system to crash. I've never personally had a module crash on me (but then I tend to stick with production kernels), but I was always told that the introduction of a buggy module meant the kernel could become unstable.
But if things work as you say they do, then I agree, this isn't so much of a problem. I guess I was misinformed. Though I do imagine that some of these binary/buggy modules could leave hardware in an unstable state, where simply re-loading the module won't bring the services back. Things like video cards and multimedia devices tend to be relatively tempermental like this.
Third, what's the point of a bugfix if you shouldn't install it?
The PC support folks treat service packs like any other new version of software. They wait until it can be thoroughally tested on reference machines and don't introduce instability (as has been the case on occasion). It's all about caution.
While it's important to have stable software, you should also keep in mind that the time spent recovering from a crashing program is much lower than that of a crashed machine.
In the "extreme" corporate setting like where I work, this isn't necessarily the case. A relatively small amount of testing and evaluation by a relatively select staff combined with the fact that all of our PC's are essentially homogenous when it comes to brands and type of hardware lets us do this rather effectively, since we have a lot of employees under this umbrella.
Second, in Linux, it's very uncommon to see programs installing their own libraries. This is quite common on NT.
:)
This is very true. I think the practice of applications shipping with their own hacked up versions of pretty standard DLL's is a horrible practice.
I rather like the method RPM uses, by versioning everything and using a list of dependencies to discover when something can/can't be installed or removed. Very effective, but potentially cumbersome for use in Windows where installations are typically pointy-clicky.
Mainly I was just pointing out that a poorly administered Linux system can be just as difficult as a poorly administered NT system. Fortunately for Linux, though, learning how to use the tools and how to run the system will get you ALL the way to stability (since you CAN prevent conflicts mentioned above), whereas the same under NT will only get you half-way there, since the applications themselves are responsible for the conflicts, and it's currently a pain in the ass for any administrator to track it down and repair it.
But the last NT machine I saw still needed reboots 4-5 times a day.
5 reboots a day, at, say, 5-10 minutes of lost time per reboot is 25-50 minutes/day of lost time. With a salary of $30k, that's upwards of $12/day in lost revenue, or about $4400/year. You'd think this would cover the cost of "more mainstream" hardware and perhaps, depending on the number of machines, the salary of an extra PC support guy specifically to test the reliability of software and fixes, yes?
You might at first think this is horribly inefficient and a sucky way to manage (or let others manage) their systems, but it does have one tremendous payoff:
Our NT systems are collectively as stable as any Windows-based PC I've ever seen. I am forced to reboot my PC on average once every month, sometimes longer. Usually this is due to a memory leak of some kind (source unknown) where I start getting messages about insufficient resources.
People constantly bitch and moan about daily reboots (it's frequent that they're exaggarating, but that's beside the point), but if you manage your system cautiously, things like this don't happen.
- Use mainstream hardware. Hardware that is popular and well-supported in the market will have the greatest chance of having bug-free device drivers under NT. It's usually the device drivers that cause blue-screens. This would be equivalent to using binary-only Linux modules. If these are the least bit buggy, your "stable" Linux kernel thus behaves buggy, and will crash.
- Don't install experimental, unreviewed software or bug fixes. The reason our PC's are "managed" by the PC support people is that they are constantly reviewing released fixes and the latest versions of major pieces of software (such as Internet Explorer, Office, etc.) to ensure stability. If a product in its current form causes problems and conflicts, it is not permitted to be installed on the PC's. To this day IE's Active Desktop and even Outlook 98 are on this list. Of course, you're free to install these things if you like (I have IE5 and Outlook98 on my PC), but it's generally a Good Idea to trust your PC support folks. If they say a particular application is causing problems, it probably is.
- If you don't have a PC support department of your own, just be cautious. Don't install a new release/version of an application immediately. Wait a few months to see what the reviews are like. Monitor the release of updates and bug fixes.
Under Linux, people are under the misconception that things like buggy software don't matter as much, since the Linux Kernel stays afloat.This isn't entirely the best way to look at things. Sure, the kernel is A-OK, but is your WORK ENVIRONMENT the same? If you tickle a bug that brings your KDE/Gnome desktop down, is this really all that different from a Win* crash? You've still lost your GUI applications' data. In all fairness, though, if a large application dies under NT, there's a pretty decent chance you're about to experience some more evilness from NT, whereas under Linux, if a non-critical application dies, you're usually pretty safe. This may change for the worst, though, as we start seeing more "core" applications running providing services to other user applications. If there's a bug in the core or a bug in an application that the core doesn't know how to handle, it could just as easily bring your environment down.
Certainly, hacking on a sound tools sounds a lot easier than creating a Maya clone.
I personally have never been able to maintain focus for long periods of time. Short is easy. I can study hard for finals and learn a lot in a short period of time, or read a textbook cover to cover, but a year seems impossible and a month is stretching it. And I don't know if it's possible to change.
The frustrating thing is that it's not a physical act that you can will yourself to do. I can push myself to run another mile, or swim another lap. But maintaining focus means being able to think clearly and imaginatively and all that (see, I'm already losing focus ;-).
Perhaps focus is like IQ, and can be improved upon but not conquered, although I certainly hope not.
There is a small movement among a few electronic musicians that has some parallels to the Open Source movement:
Musicians Against the Copyrighting Of Samples.
The Speed 12 is a monstrous V12 - hence the name. The Griffith and Chimera have the Buick based Rover V8, although to say it's been slightly modified is an understatement.
Chris Wareham
It would've been nice to know a bit about his personal life(besides cars). I know several of us asked questions centering on that.
To me, one of Carmack's greatest traits is his maturity. I've been reading his plan updates for years, along with all the interviews and writings I can find, and I've never felt like he was being a punk, or using his immense talent as a proof of his opinions (e.g. "I'm the best game programmer there is, so I must be right"). He's a person who is willing to stand up in front of a crowd with a different view (I admire that he was willing to say on /. that NT serves his needs better than Linux...others might have tried to "please the crowd"). He can see value in things even when they're not useful for him, and he takes the time to decide properly how valuable something really is for him. I could honestly sit for hours talking about all things I respect about him, and how much he has impressed me with his focus and honesty, etc. but my fingers are tired and I'm starting to sound like I want to have his kid.. :)
.plans of other game developers on PlanetQuake and *some* of the comments on places like Slashdot, I wish other technical people could look up to Carmack for more than just his programming skills...respect for that is certainly well-deserved, but there is so much more than that that people could learn from him.
From reading the
He isn't just a great programmer, he's grown into one heck of a complete person. Congratulations to him...I hope he enjoys continued success.
-- John Truong
It seems to me that the difference lies in the modification rather than distribution. What originally started RMS on the whole Free Software thing, was not being able to fix a program he needed to use.(A printer driver, I believe. And I know there are philosophical reasons. From accounts I've read this was the trigger) This argument doesn't really apply other digital media.
Software is demonstratably improved by allowing users to modify it. Does anyone really think that would be the case with art, books, music etc. You can make a change to a piece of software that increases speed, stops a crash, add functionality etc, and there can usually be a reasonable concensus that it is an improvement. There are no similar hard and fast improvements that can be made to the other categories.
The argument that the cost of copying is zero so the cost should be zero applies, but with software there is a return to the author in the form of improved code, with creators of art, music, books etc, I strongly doubt most would consider any changes an improvement.
(Documentation and technical/reference manuals are probably an exception to this. They could profitably be made free.)
thejeff
GPL would be great for art, and here's why:
Copywrite creates a contradiction between the creative and economic activities of an artist. Furthermore, copywrite favors the rich artists who can afford the lawyers. And finally, in general artists don't make money from copywrite: galleries, museums, record companies, film studios, etc. make money from copywrite.
Most people think artists create something. Being an artist, I think it is more accurate to say that artists combine things in unusual ways. They take this experience and that, and then get you to see both experiences. This combination is a new experience in many senses of "new", but it is always composed of a number of "borrowed" elements, along with maybe a few truely "new" ideas. All creative individuals must build upon other peoples contributions -- thus the "fair use" clause in copywrite law, which states that certain types of quotations are legal (parody, etc.)
However, "fair use" is a legal term. Let us use Disney as a main example. If I made a painting using the image of Mickey Mouse in a comprimising situation, Disney would do everything they could to bury me under a stack of lawsuits. Doesn't matter if it is "fair use", because I've got to got to court. And that fact means that Disney has already won -- I'm not making any art, I'm writing legal documents and going into debt.
Finally, let's do a rundown on a few different kinds of artists, and see if they really make money from intellectual property:
Musicians: they have the greatest potential to make money off of IP. They make the software that runs our walkman, stereos, etc. But the record companies eat most of that income -- most smashingly successful musicians make 1-2 dollars off of each each cd they sell (i think). The solid income seems to be touring -- playing clubs, doing shows, traveling around. No digital media will replace the live show (and if it does, yer either smart like kraftwork or formulaic like NKOTB / Backstreet Boys).
Gallery Artists (Painters, Sculpters, etc.): They don't make a cent off of IP. They make their money selling products, physical works of art. IP only serves to hinder them, as in the Disney example above.
Internet/Digital Media Artists: Well, since a copy is made everytime you download the piece, I don't see how copywrite would apply... But seriously, most successful internet projects (Slashdot) are ongoing projects which provide a service to their readers. Doesn't matter if I copy slashdot's stories, cause its the threaded comments that make the difference.
There are many other unmentioned types of artists, but I'm sure there is a way for them to make their bread without depending on IP. Also, I know any commercial artist would be very protective of his/her IP, but I would expect the same from any software company. They would have to change their business plans, just like a software company would.
Basically, I don't think any form of IP rewards the creater. It always seems like a way of indenturing the creater to some capitalist who happens to have money.
I'm particularly intrigued by Carmack's comments about open source game licensing, and his observation that RMS' comments on free (as in speech) software seem to apply equally to all digital media - art, music, sound effects, models, what-have-you. Personally, I don't think that's the case, because code has applications (no pun intended) that music and art don't, but I'm not sure I can articulate my point of view any better than that.
I'd like to hear what you guys think about it. (Particularly if you're RMS, for curiosity's sake. :) )
If I decided to spend a little discretionary time whipping up, say, a color gameboy port of Commander Keen (an idea I have sort of been toying with), then I might ask Tom and John if they wanted to make some levels for it.
WOW, is it just me or did anyone else catch this slap in the face! Whew, definately still some bad blood there huh?
(stolen from DaBum) I am dyslexia of borg - your ass will be laminated.
I've respected John Carmack for a while now. I've been a big fan of his games. I'm of the opinion that he has revolutionised the FPS genre. Sure, theres been notable games from other people [Half-Life albeit a Quake2 engine was kinda cool. Unreal was quite pretty. Unreal Tournament looks pretty nifty, etc] but it's been the Doom/Quake/Quake2's that have upped the ante.
:)] at the time.
:)
In 1998 myself and a few other nutballs organised a Quake/Quake2 comp down here in Australia. It was quite large [for us
We emailed John telling him about the event, and asked for a novelty-type prize. We [being nerds] had envisaged a signed page of Quake2 code or so.
He was quite nice about the whole thing, and ended up sending us a blown piston from his Testarossa [I think.. it might've been the F50]. An expensive lump of metal with a gaping hole through it. I thought it was impressive
There were two of these, one went to us, and the other went to some event in Canada, I believe. While the piston no doubt meant nothing to John, it was a remarkably nice gesture on his behalf to ship it half way across the world to some goons in Australia.
Anyway. Thats my 2c Carmack story.
For that you will have to look at unreal instead of quake. The unreal engine has been licensed to a wide variety of companies who did all sorts of stuff with it. One of the things I read about a few months back was using it in a tool for architects.
.pkx files. All of it seems so primitive.
The reason the unreal engine is chosen for these things is not so much its graphic superiority but more its superior flexibility. The unreal engine is highly customizable. From a software engineering perspective quake's customization capabilities are a bit clumsy. Clearly Carmack's talents are focused on the graphic side. I really hate the way you have to customize the game with the
Examples of cool unreal stuff: Unreal has some really cool scripting capabilities, a nice way of installing user mods & levels (basically fool proof), a nice way of varying game behavior (mutators are really cool). All these features make it easier to customize the unreal engine for other stuff than "point & shoot" style games.
Don't get me wrong, quake is great. Personally I prefer Quake II above Unreal since it has better gameplay. Unreal looks better though. I'm not sure about UT & Q3 yet. I played both of them a lot lately. I probably need better hardware to make a final decision (though UT is superior when it comes to visual quality).
Jilles
I will probably be getting rid of my TR when my next project car is completed.
So John's giving his car away in a Q3 contest this time too.. right??? hint hint nudge nudge (note: I'm trying to suggest he should.. the last one kicked ass) Maby thats what the Q3 arena is all about, its sposed to be a contect arena right?? so the whole point is to win john's car??? hehehe
"You will feel the need to upgrade your machine every 2 years...simply to play id's latest game"
/. and not get flamed to all hell is a special kind of coder. I was actually looking forward to this one. Good job /.
at least thats how it worked for me
Before id's FPS 386-16
Doom-486-25 => DoomII-486dx2-50 => Quake-p100(voodoo1) => QuakeII-p200 => Quake3-pII450(voodoo3)
Not that I'm compaining, JC should be getting kickbacks from every 3d card manufacturer for creating a market for them. Great interview. Anyone who can say NT is better, for game developement than linux, on
+&x
The best comment in this Q&A is when John described his TR as "heavy and ponderous". Amazing how driving an F50 every day can change your world view...
I have to agree completely with your assessment of John's integrity.
... before that, at times it was truly tormenting. I'm not saying such a situation is an excuse to act out, I'm just saying there is a common connection. (Here that kids? Being picked on is NOT an excuse for not using your brain when making decisions!)
... I think his perspective and surroundings have changed a great deal. No longer is he ostracized for doing what he loves, in fact he's highly paid and greatly respected for it. This sort of turn around in one's life can have a very big impact on that person's disposition and thought processes.
I am of the opinion that integrity of a person is not a locked constant set from birth. I think he, like many others in this industry of his age had a "rough" youth due to their interests. It's only recently that being geek was sheik
Now that he's older, wiser, richer, etc.
While I don't think the 6 months of programming made him come full circle, I do think it may have been what got him turning in the first place.
And yes, he does make seriously kick ass games!
... that I've been a big id fan since I first saw my girlfriend's brother playing Wolf3D on a 286-16.
I've been following the FPS/Action3D genre for many years now and Carmack is one of the only guys who has stayed consistent throughout. There are many egos and one-hit-wonders out there while Carmack just churns along producing unbelievable technology combined with an ultra-enjoyable gaming experience.
I honestly believe he is the biggest driving force behind PC games today, both directly and indirectly.
Thanks John.
God, I feel him on being disappointed with OS X. The first code I ever compiled was objC. I've gotten used to it, but no other platform/os I've worked was as simple and elegant. The UI was beautiful.
Of all the 20 or so people I know who used NeXT, one of them is excited about OS X and is planning on developing for it. I don't understand where apple is going, what would have been wrong with supporting NeXT as a development platform, or even opening up parts of it to open source.
Oh yeah, that was rhapsody...I got the rhapsody developer kit in my email one day. I really can't decide if I'm more pissed at mac users that were just terrified by the thought of losing that stupid smiley face and their windowshades and their GODAWFUL memory management, and....(do I sound bitter?), or Apple for listening to them and watering down rhapsody into rhapsody II then watering it down to OS X.
I find it fascinating that so many of the comments here have focused upon Carmack's ethics as a programmer. This is something that is difficult to maintain in a world that changes as quickly as ours does. Shortcuts and kludges are easy to do, and chances are they will frequently make our bosses happy. Standards, while they exist, sometimes get in the way more than they help.
But Carmack is a prime example of how to maintain the balance between ethics and slick code. Ethics in programming is not easily defined, but I think it goes hand-in-hand with the focus he spoke of. He is dedicated to making a superior game engine. And while Ayn Rand might say his motives are purely capitalistic, I'm not so sure this is the case. He just happened to make a crapload of money doing what he does, but that doesn't mean it's his motivation.
The ironic thing about it is that I doubt he plays Quake nearly as much as most people do. He doesn't seem to write good games because he enjoys playing them. He writes it because he simply likes to write good code.
> dominant company, but focussed on making his engine the best engine.
Carmack knows the difference between doing his business and doing his job. Consider the folks who ran the railroads 60 years ago - they saw their job as "building faster and better trains", but their business was "moving stuff from A to B". When someone came out with a better way to move cargo and people from A to B, they were bypassed completely and lost horrific sums of money.
Most technology firms, IMHO, are making the same mistake. The "portal" trend is a prime example of these kinds of mistakes - not "diversification", but "di-worse-ification".
Selling games is a job. Building technology is a business. By building the best engine he can, he ensures ongoing revenue from licensing, and keeps his firm in the running for the "if someone builds Snow Crash, or an immersive 3D environment to replace the desktop paradigm, it might run on our engine" prizes. The really kewl games are a wonderful bonus.
Contrast this with a lot of gaming firms whose idea is "to produce a hit game every year or so, we don't care if it's an ultra-wow-3D-thriller- with-gibs-flying-everywhere or another copy of Trivial Pursuit, in fact, we prefer Trivial Pursuit since it's cheaper to develop", and you'll see where the smart money is.
Making a hit game is fun, but it's hit-and-miss; it's only a job. Building a technology with broader application, and releasing really cool games (or licensing the technology) to showcase it, is a business. It's fun enough to be worth doing, and it also pays the bills that allow you to keep improving that technology, ad infinitum.
Far be it from me to speak for Carmack - but judging from the quality and consistency of his releases - he not only knows the difference between his business and his job, he's using that knowledge of the difference to make a difference. (And having a damn good time at it too!)
1. X servers don't hold up the "solid as a rock, no crashes" reputation that Linux has built for itself. Sometimes this is because of buggy servers or window managers, but more frequently it's because of driver problems. The common advice is "You can still recover. Just ssh in from another machine and skill the server processes." But what about the single machine home user?
2. There are beautiful window managers, but most X apps are still butt-ugly and inconsistent.
3. The new wave of desktop environments, like KDE, seem to be bent on being "like Windows, only better," which makes one wonder why he or she just isn't using Windows in the first place. Bad Windows user interfaces, like the reliance on multi-level pop-up menus--are being duplicated, despite the cries of human interface designers and sites like The User Interface Hall of Shame.
4. XWindows is becoming reliant on a good drivers, but the general driver philosophy in the Windows world is "get something that will hold together until the next generation product comes along, then who cares?"
Somehow we need to rewind and re-gain the rock solid reputation.
I'd be interested to see what Carmack thinks of tools like VMware: does he see it as bing useful to have NT and Linux on the same machine? Would it make his life easier?
Graphics acceleration isn't a primary focus of OS X Server, but it damned well better be at least a consideration when OS X itself ships next year. Apple needs to continue the (admittedly slight for now) momentum it's been building in the game community by pushing for better ATI drivers or working with companies like Nvidia or 3dfx to write drivers for their cards, and delivering on its promise of a system with the ease-of-use of a Mac and the ease-of-coding of NeXTSTEP. Hopefully John will revisit this issue when OS X is available--and hopefully he'll bend some ears at Apple to make sure they understand!
I use Macs for work, Linux for education, and Windows for cardplaying.
He's more like Wozniak. The guy who did the work and let other people worry about being flashy.
The cake is a pie
Actually, there was an OS/2 version of DOOM at one point. Unfortunately, the port wasn't all that great. It only ran in a little window.
Of course, you could always use "Dual Boot", which is pretty much what Win95 required you to do for all those old DOS games.
The real killer was that OS/2 never really got Win32 support.
The cake is a pie
Some of this could be accomplished by moving away from text editors, to "structure editors". The idea is that instead of editing the text, you edit the structure of the program directly. In other words, you are editing the symbol table/parse tree directly. So, for example, if you changed the name of a variable, all occurances of that variable would immediately change.
The idea has been around for a long time (I first heard about it in 1987) and Stroustrup talks about it briefly near the end of The Design and Evolution of C++. Unfortunately, no such project has ever gotten off the ground. I'd dearly like to do something like this myself, but I don't have the time, alas...
Anyway, to the particulars of your comments, I agree mostly with your negatives, however, I thought I'd let you know one thing: If you use the mouse to grab a pane, and drag it to the editor window, you can make it into a floating window. (It takes practice as it will keep trying to stick to an edge.) If you then right click on it, you can make it go away, temporarily, by choosing "hide". Selecting from the view menu then brings it back.
The cake is a pie
I hope other slashdotters are able to take this in the proper context. There seems to be a sense of 'Carmack says NT, therefore everybody should use that until Linux is better', and I don't consider that a sensible position.
You seem to be suggesting that everyone switch to a non-MS OS regardless of whether that is the best option for what they are doing. This is the highest degree of shortsided OS Religion. The man is using the OS as a TOOL, not as a lifestyle. If he said Hammer X is better for hitting big nails than Hammer Y, but hammer Y works better for small nails. Would you advocate he use hammer Y because it was non-MS, even though he was hammering big nails all the time? I hope not...
Kintanon
Check out JoshJitsu.info for Brazilian Ji
I am consistantly amazed at John's integrity every time I read something he's written. It seems like everything he says, he's thought about and has a good reason for it. If he's not sure, he says so. He doesn't walk into problems with a preconceived notion of "the best" solution, as exemplified by his choice of NT as their platform for development.
:) Was it really the six months of real programming that turned him around? I'm curious how exactly he had a change of heart, because I know many many people who just balk whenever someone tries to teach them anything.
:)
But hearing his description of his youth, he clearly wasn't always this ethical.
I guess what I'm asking is, "To what extent is John Carmack's integrity a natural extension of born love for the 'best solution'? To what extent did he learn integrity?"
Incidently, I think that John's ethics are one of the two main reasons he's *universally* beloved by gamers (unlike John Romero). The reason is that Carmack makes really kick ass games.
-Ted
That was the point I was trying to make. :) It's kind of a joke to call for accountability when you're nothing but a nick.
One thing about Carmack that impresses me most is how focussed he is. He doesn't seem (like many other companies) to be focussed on making his company the dominant company, but focussed on making his engine the best engine. If more top people at companies were focussed on that, the open source movement wouldn't be nearly as necessary as it is today.
I wouldn't be at all surprised to see a Quake engine be the basis of the first successful virtual reality engine. I think Carmack's legacy will not be the games, but something altogether more impressive.
"He was engaged in anarchistic activities when he was young (hacking, bombs, thermite etc). But he's bounced back from that, and made a success of his life."
This is a popular train of thought in this discussion and I figured I would address it. Everyone seems to be surprised when they find out brilliant people were 'not good kids', despite the fact that it seems to be a frequent occurance. Maybe this says something about societies view of good kids.
The things John did as a child that make him 'bad' seemed to have been his expressing himself as 'different'. Its tough to be a freethinker as an adult, imagine how much more difficult it is to be one as a child.
The point is;
If you look at John becoming a mature and well adjusted adult as him 'changing' you might be barking up the wrong tree here. The things he does now (thinking out of the box, and forming his own opinions on virtual every aspect of his life, as well as questioning anything put forth to him), those types of things, while hallmarks of a brilliant mind, are not valued at all in children. These same children aren't having things explained to them as much as they just being told what to do.
Its not all a fault of the parents (or authority figure) as allot of what parents pass on to their kids they can't explain themselves.
Given the fact that they are expected to just swallow everything as truth, It's a small wonder that brilliant children rebell against parents, school, and the community.
Think about that the next time you tell your child 'you have to because I said so..'
Sigs are awesome huh?
An interview with Todd Hollenshead, the id CEO was posted today at The World Gamer's Front. Stop by and check it out now that you have read some words from the mouth of god.
James Puckett
The supabeast
Editor In Chief, The World Gamer's Front
"Myst, the most successful computer game of all time, has no community. "
Actually we do. It's not quite as big as quake's (/understatement), but it's there. It basically revolves around a web site called RivenGuild (www.rivenguild.com), and especially the RivenLyst -- a mailing list devoted to "hardcore" M/R/D fans.
We actually have plenty to discuss -- Myst, Riven, the three Myst books, two soundtracks, lots of online fanfiction and art, the culture and language of the civilization invented as a backstory to myst and riven, stuff Cyan releases on 'secret' parts of their web page to humor us (information on upcoming products), and other random stuff.
-------------
The following sentence is true.
The following sentence is true. The preceding sentence was false.
How come that when we talk about Windows someone always complains that
Windows forces everyone to get faster and more powerful hardware?
It is actually games, like iD's, that makes it so.
And why should only games be limited to use new hardware and not new "features" for Windows?
Sure, I don't want, or need, those bloated features... or Windows for that matter,
but someone obviously do.
Just curious.
I'm interested to see what you all have to say about this subject.
"Last words are for fools who haven't said enough." - Karl Marx
But the spirit of GPL and even more the OSS is one of complicity and willing sharing of intellectual property, rather than just accepting the ability to rip off an original piece of work. And what's fascinating to me is that software and hardware, indeed most technology can be reverse engineered.
But how would one reverse engineer a song? Or a painting? Sure you can borrow/steal elements and style; you can sample bits from a song, or just sample the whole damn thing and rap over top of it. But have you actually accomplished the same overall effect that you'd have by reverse engineering Photoshop? I don't think so.
And so the other 2/3s of the iD packages that Carmack refers to really is vitally important to the outcome of DOOM, Quake, etc. and the impact that it has on the player. So allowing users to access those parts of code that control the artistic look and the sound of the game does not put iD in a weakened position, since those aspects can only be carried off by someone (i.e. artists and composers) who knows what they're doing through experience, talent, or both. Anything else would simply come off as cheap and tawdry.
I think I'm rambling now and don't know if I'm even still on topic...I think I am...