id On Linux: Bad News
Reality Master 101 writes: "Saw this on Voodoo Extreme: id Software's Todd Hollenshead made some very interesting posts on Quake 3 World about Quake 3 on Linux. Calling the sales "disappointing" and saying the support was a "nightmare" due to the "multiple versions and everchanging kernels", he said there will not be a retail version of Q3 Team Arena. One thing I found especially interesting was that he said "retailers don't want it". Not good news for the Linux shrink-wrap software movement."
SDL is a compatibility layer, and for 3D, it uses OpenGL. This person's looking for something that would replace OpenGL, too.
I recommend checking out the GGI project. It's essentially what you're looking for, short of the audio stuff. They've got input support through libGII, graphics through libGGI with specialized functions for advanced 2D in libGGI2D and 3D stuff in libGGI3D.
There's even a port of X to it, so you can run your X server "boxed off" so that X crashes don't take down the system. (Assuming you have a card that it supports; it really only supports about a half dozen chipsets--the ones the developers own.)
The GGI people had kernel-level drivers in KGI a year before the X people even started taking DRI seriously, and their monitor drivers auto-detect the hardware attached, no modelines or nothin'.
It's a shame, imo, that they never were more popular, but they were shunned at every turn. GGI never seems to make it into any of the commercial distros, and Linus apparently flipped over the idea of putting graphics logic in the kernel. (How quickly times change..)
In any event, the project link is http://www.ggi-project.org. Good luck..
Excellent point. All game development on the PC should cease and we should all be buying games for the consoles (and ONLY for the consoles). The N64, PS2, and Dreamcast are optimally designed for just such a purpose, therefore we should use nothing else. Anything else is a waste of hardware ($2000 for a gaming machine when you can get your work done on a $600 PC and your gaming done on a $200 console? Are we crazy?).
I used to actually believe this line of thought back when I sold computers retail (a disheartening experience to say the least). Then there was the one argument that changed it all for me: All work and no play makes Jack a dull boy. Without games on our PCs, many of us would get disinterested in computers altogether, and there would be little pushing the demand for faster systems anymore. Is that a good thing or a bad thing? I'm not sure, but I'm not going to quit wishing for a Linux port of everything possible.
"Time flies like an arrow; fruit flies like a banana." --Groucho Marx
Let's review:
- id releases Windows version, which you can get at Best Buy for $30 or so, depending on the retail rat race
- Loki, with its relatively minuscule distributor clout, releases the Linux tin a month later, which you (still) can't find for less than $50
- Linux executables hit the web at about the same time
Tell me again why Todd is surprised the Linux version didn't sell well?If Loki's profit was supposed to come from sales of the Linux tin, they got screwed. At least with UT, they got cash up front. That's why none of Loki's subsequent titles allow you to swap executables with the Windows version.
The problem with Loki is that they target a very price-sensitive market, but charge full retail for a port of an old game. Let's say the game is good, so it's worth, like $40. I submit that Loki's porting effort adds about $10 to the retail value. That is, a box with the Windows and Linux version should retail for $50. But to make it worse, the Windows version is already in the bargain bin by the time the Linux version hits the shelves (Q3A excepted).
Why hasn't anybody come up with an easy way to manage all this crap? Gosh, even Windows does it better! And I say this as a Linux supporter who wishes he had the time and expertise to do it himself...
Wait, wait, wait. Almost every time id have released a game it was a primer. Wolfenstein was the first pseudo-3d-fps, Followed by Doom with even better pseudo-3d, followed by Quake 1 (now with real 3d). Quake 3 is not really an exception to this rule... so far I haven't any seen any other game (not using the Q3 engine) with an engine that comes close to what id have developed; and NO, please do NOT mention Unreal (Tournament) now: Its engine sucks big time, as it doesn't really use any 3d hardware (Geforce 2 GTS bores itself to death, and it has bugs I've never seen in Q3 (or other engines). Sure, the kind of game (first person shooter) is getting old; but the Quake series still outperforms all other games, and I think id will always have the cutting edge when it comes to the appearance... (checked q3ta already? whoa...)
(In desperate search for a cool
But having said that, I think Q3 also was not well packaged for Linux. If you accidentally ran Q3 with software emulated 3D, it could take you minutes to get out of it because you just couldn't really talk to the UI, and if you tried to shortcut out of it, it would leave the video card in a bad state. Id should have provided a simple test program (rotating cube) and simple code to try different configurations. They could also have provided some additional software to help the user configure their X server; it's not that hard to figure out what to do even if the script doesn't know what distribution it's running on. Autoconf solves much harder configuration problems every day.
Also keep in mind that the beginnings of 3D hardware accelerated graphics on Windows were considerably more awful than what has been happening on Linux. On Windows, it was customary that games would conflict or trash the whole system.
So, yes, Linux 3D and game support in the year 2000 isn't as good yet as Windows. But for its brief existence, it is doing a whole lot better than Windows did in its beginnings. For the initial Windows releases of 3D accelerated games, vendors had a "can do" attitude. The variety of hardware and installation they had to deal with was much more complex than anything in the Linux world today. But it seems like they are losing their touch.
Agreed, I have spent more than $200 on Linux games and have only been disapointed with one (nothing technical, I just didn't enjoy it much)
:-(.
I HAVE been spending money on the games. I've just been outvoted by everyone who wants to buy the windows version and download binaries for Linux later
-- IANAEG - I am not an elder god.
Not good news for the Linux shrink-wrap software movement.
That's a load. This is great news for the Linux shrink-wrap software movement. The problem is that people in the community see this as "Oh, now, people aren't going to support Linux." What they should be seeing is that groups like id are giving very good feedback on why Linux isn't viable. The plethora of distros and kernel versions might give the people in charge of those distros the idea that maybe they should get together and standardize some of the basic parts of a Linux install, like the kernel or system configuration files or UI frontends. Obviously, Linux users will always have the choice and will maintain difference systems, but the people changing those things (and thus potentially causing headaches for support reps and developers) are not the people contacting id for tech support.
It's only a setback if you refuse to address it. Otherwise it's constructive criticism. id wants to market games to Linux users. They just want a more profitable experience doing it and they're letting the community know how to help them.
To those that complain that Quake's disappointing sales and tough support issues are a result of multiple distributions, you only have yourselves to blame. Had the Linux community adopted a less extreme stance that allowed for the concept of people being paid for their labors, you'd see a lot of commercial software (beyond the Tower of Babel set of distros out there).
As it stands now, the vast majority of the Linux community would never consider paying a single penny for something as non-mission critical as Quake 3. Sure, there are plenty of corporations using Linux that pay big bucks for enterprise software based on Linux. But these are companies in the business of business, not a bunch of hobbyists and hackers who are doing it for fun.
So don't pout when yet another commercial company wakes up to the failed promise of Linux as a viable market. If you care to correct this problem, then go BUY some software. If not, then you get what you pay for. In the meantime, don't expect Linux to mature as a viable, consumer-oriented operating system. The software will never materialize given the current market realities.
Shut up and eat your vegetables!!!
No, I don't want to say they have other reasons than technical ones.
Main problem ist the library chaos. How many remaining glibc-2.0-systems are there? How many libc5?
And which version of X11 should be supported. Both?
Reinvent the wheel or use some existing toolkit. Which one?
Making it DOS-like or integrate it into the desktop. Which one?
Choice is good. And Choice is bad. Find your way.
No! Targeting one distribution annoys all the other users more than it pleases the Red Hat users. Quake 3's problems had more to do with video drivers and X configuration than anything else. It would make more sense to sell the game only for one video card, but that era has come and gone, thankfully.
Retail is a rat race, but you can't live without it. People like to fondle pretty boxes in the store. How we do love retail, let me count the ways:
- mind share (quick, when did you last visit idsoftware.com, except to get a patch for a game you already own?)
- impulse buys (after working thirty days straight, I have a weekend; hey, look at the pretty box)
- return policy (at MicroCenter and some of the mall stores)
- sales (I've never found a game online cheaper than a Best Buy sale price)
- no shipping
- did I mention the pretty boxes?
One problem with retail Linux products is customer confusion. I bought Heroes III for Linux from the return bin at MicroCenter. When I checked out, the cashier said he had returned that very copy because he didn't realize it was for Linux. An employee! That's an easy problem to solve: put the Windows version in there, too. While you're at it, put in the Mac and Be version too.Out of all the games I own, the ones I like most are the ones that I get the most value out of. That means that if I can buy ONE copy of Unreal Tournament, and play it in TWO OS's, I get more value out of the price I paid compaired to having to potentially buy TWO copies of Quake III for the same OS value.
Stick a cute image of Tux on the box, with a star saying "With downloadable binaries" or just include Linux support on the Windows CD.
For the next few years at least, the gaming market will be Windows based. So, instead of making the situation worse for dual booters, make it better. Not buying Quake III Linux version, and instead petitioning id for binaries to get the Windows CD working under Linux is the better way to go.
1. the Q3A for linux wasn't available for nearly two weeks after the windows version. This made the difference between 'before XMas' and 'after XMas' sales, as far as I know.
2. I had to *hunt* hard to find the linux version. I finally found it in the fifth store I looked. They had one copy, and I have never, ever seen another copy in any computer store I've been to since.
3. Linux didn't have 3d support when they released a 3d-only game for it. No NVidia drivers, no ATi drivers, pre-beta G400 drivers (A year later there still hasn't been a release of these drivers), and voodoo drivers that required upgrading XFree to version 4, manually. Why would I buy a game for Linux when it doesn't work in Linux? Why would I risk wasting my money when I can just dual-boot and play in windows like normal?
Sure, sales were disappointing. But of course - being weeks late with the release, not having any hardware support whatsoever and not actually selling the software publically just *may* have attributed to this.
The basic line? I would have preferred to have never had a linux retail version. I had to wait until the point release due to a bug in the utah-glx G400 drivers. At least if they hadn't done this 'experiment' I would have been able to play in Windows before the point release. And we wouldn't have people taking iD's totally half-assed effort and thinking it applies to all shrink-wrapped software that exists or ever could exist for Linux.
To be honset I stil by my games at the local stores and THERE I have not yet seen ONE signle Linux game. As long as one have to look for where to find the games, no sells. It's easyer to dual boot. (That is also why Macgames sell more, there are some space in the store for the mac games).
I guess Loki has to work on there retailers arounf the world to get them display ALL Linux games i at least large store in every major city.
/ Balp
The illusion of multiple distributions having a future. Even when the differences are only small, for commercial software (binary, off the shelf software) the slightest difference mean a support nightmare. It is unacceptable for mainstream software (not for niche software meant only for power users).
:)
As some people on quake3world already commented: It really is a shame that FreeBSD (the *BSD with by far the largest user base; though OS X might change that in the future; luckily, the OS X core *is* FreeBSD) doesn't get more attention.
Obviously, at the moment FreeBSD sales would be even less, given the fact that Linux has 10x more users.
But at least there is only 1 "distribution", development is very orderly, one consistent operating system (not only a kernel) is produced. Also great care for backwards compatability is taken (5 year old binaries still run on FreeBSD-current), and progress was slower, but is so steady and well structured that FreeBSD's speed of progress has surpassed Linux's some time ago.
Linux userland and kernel must be united, that is only 1 distribution can remain. Only, I wonder how to reconcile that with todays (chaotic) development model. Other alternative is all Linux users switching to FreeBSD of course
Yes, I oversimplified the Mindcraft incident for the purposes of illustration. Microsoft, of course, did set up the test so that they knew they would win it. I'm sure they have their own benchmarking and polling facilities and whenever you see a Microsoft sponsored benchmark or poll that they won, you can be sure that they just paid to have some "independent" do the same thing that Microsoft already made sure they could win.
Nonetheless, the kernel developers (and of course, all the linux zealots) did at first believe that the problems were entirely due to the fact that the contest was rigged. It perhaps wasn't weeks of denial, but IIRC there were a few days.. until the Mindcraft retest, where the Linux machine was optimized as well.
IIRC, Linux 2.2.x would have had a difficult time beating NT on any similar 4-way SMP system with 4 ethernet cards, and the details of the hand optimization, RAID controllers and memory that people made a big deal about at the time turned out to be largely irrelevant.
Torrey Hoffman (Azog)
Torrey Hoffman (Azog)
"HTML needs a rant tag" - Alan Cox
You *can* use the Linux version of QuakeIII on other platforms.
I found a copy (at Media Play, of all places...) and tried to get it working under Linux, but
because of my poorly-supported nVidia card, I could never actually *play* it under Linux.
So, I installed the demo under windoze, replaced the data files with the ones from the CD, and
installed the point release. Works perfectly fine.
It also can be installed in a similar way on MacOS9/X.
The only thing you really *need* on the install CD is the data files...The client is freely available for all supported platforms.
--K
---
Gaming on Linux makes about as much sense as running a web server on windows 98. Especially since there are such easy alternatives available, such as dual booting. We all got a windows 9x licence with our PC when we bought it after all, even if we didn't want it, and all new games worth playing (afaik) have a w9x version.
Linux needs a lot of work to even come close to the support both for older and for the latest bleeding edge graphics and sound hardware. All this work isn't going to be done unless it becomes commercially viable, and it can't become commercially viable until all that work has been done.
Shrink-wrapped software that could have a chance on the linux platform would be scientific packages, professional compilers, perhaps server software if someone doesn't trust apache. And even in those cases, shrink-wrapper CD-roms don't make sense. With a T1 line or better, downloading a CD-image and documentation in PDF format is a so much more efficient distribution method.
...remember that the next DOOM will be developed on Windows 2000 using NVidia hardware. Sorry, Linux Quake fanatics, but this is the truth. Id wanted to develop their next game on a stable, standardized platform, and Windows 2000 was the one that fit the bill. However, they'll still port it to Linux, but be ready for the usual drill (copy the files from the CD or smbclient from a Windows machine, then install the binaries).
"Ancillary does not mean you get to rule the world." --U.S. Circuit Judge Harry Edwards, speaking to the FCC's lawyer
We are going to continue to support linux in future products, but unfortunately it doesn't look like a strong business case can be made for it. The mac version outsold the linux version by quite a bit, and even that didn't hit 5% of the windows sales. Mac versions are still valid business cases, because the support is way easier than on either windows or linux platforms, and the sales numbers amount to something noticeable.
There is no way that a linux box will hit the shelf at the same time and have the same price as a windows box, assuming the publisher is making a maximum effort for the windows box. If this is truly a gating factor, linux boxed games just won't succeed.
Loki wants to get away from making games "convertable" between platforms, to force linux players to buy the linux boxes. I have issues with this. Not making executable binaries available online sucks. I hate binary patches, and requiring either patches from different versions, or the installation of all previous patches. Just releasing a new executable is so much easier.
Our options from here are to move towards a hybrid CD and pay Loki for official support (which makes linux support look like an expense, rather than a benefit), make a hybrid CD but leave the linux version in an "unsupported" directory, or just make unsupported linux executables available online like we used to.
It is going to be quite some time before DOOM ships, so we can't say anything definitive at this point.
I will probably do the initial development work for DOOM on linux, but I'm not interested in tracking every change that goes on in the linux world. The initial work will probably be with the Nvidia driver, which already has all the features I need, then I will work with the Open Source mesa drivers to bring them up to par.
John Carmack
Compassion, people. It is difficult just to stay alive in the PC game industry. The complexity of games is higher, the competition is more intense, platforms are more varied, talent gets harder and harder to find, and sales are being eroded by consoles. Not to mention that your game is being hacked, modded, tweaked, and run on dangerously overclocked hardware that was assembled by a Dr Frankenstein. Support is a nightmare -- and having to support folks with their own custom compiled operating system is just too much to handle.
"One problem with retail Linux products is customer confusion. I bought Heroes III for Linux from the return bin at MicroCenter. When I checked out, the cashier said he had returned that very copy because he didn't realize it was for Linux. An employee!"
:-)
Well, letsee now. MicroCenter segregates the software by OS- MacOS in it's corner with the Macs, all the alternates other than MacOS on one asile, and all the Windows apps grouped together. Either he wasn't paying attention when he snagged the copy off the shipping dock or he's joshing you because the sections are VERY obviously labeled. I'd think the average person would have a lightbulb go off inside their heads when they see a lot of strange software and few games on an asile and games and software you recognize on another group of them.
Either that, or I'm giving my fellow man far, far too much credit.
I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
Carmack talked about this very same thing in an interview that was linked on /. nothing new here. What he said about it though is actually more promising in my opinion. I believe he said that in the future it is likely that the Linux binary would come on the Windows CD in a subdirectory called unsupported.
I suspect this is the best way for Linux to become more commercially viable for games. As companies like Id release their unsuported Linux binaries on the same CD as th Windows version. They can do so without any great risk. And as more people start to play the Linux version . And the distros get better at supporting the games. Then it will be comercially viable to start selling a Linux specific version. And Id and all the companies that follow their lead will do so.
I didn't buy the Windows version either.
Woz
'Nother little story:
My nVidia card has never done 3D in Linux - the only thing their 'detonator' drivers do is 'detonate' my system.
Hard freeze after about 5 seconds of video.
Sure the drivers might be great for the lucky, but I know I'll never buy an nVidia card for a Linux box.
The greatest thing is there's no chance of someone outside nVidia fixing the problem. Thanks nVidia!
--K
---
There needs to be some sort of a "standards commitee" set up concerning the linux desktop OS. Being the proud father of a four month old bouncing baby company, I have little or no time to take charge and head it up (or any other insane idea like that) but I would definately contribute what I could. So someone needs to stand up and take the initiative. I'll donate space on radicalmatter.com for whatever type of site is needed to get it together. What can you contribute? email me at zecho@radicalmatter.com and I'll somehow get a list going.
Are YOU listed?
Does Windows have some kind of secret-magic-gaming-goodness-fairy-dust that nobody else knows about?
An operating system as open and portable as linux will have great gaming support if enough people want it and work toward it... the situation today is already much better than a year ago.
"Free your mind and your ass will follow"
Well, the problem, mainly, is that there are no sales. Who's to blame for this? Loki? ID? No. Linux users. If we don't start paying for games, even the bad ones, we won't see any more come out, much less the good ones. Blizzard has said that they won't release anything for Linux until they can reasonably expect to see $1 million in sales. So the only way to fix this problem is to go out and actually buy the games. Go to Loki's homepage and order some games. Even the bad ones. Unless they start seeing some dollars here, they're going to abandon the platform entirely.
Untrue - I have spent over £100 ($150) on free software in the last two years (more than I have ever spent on propriatory software). I'll spend my money on things I actually want to. Why buy civ2 when you could have freeciv? (It runs on Windows, too, and allows you to play networked games)
perl -e 'fork||print for split//,"hahahaha"'
So why remove the author's credit from the image, if you're not ashamed of your crime ? You stole this image, and you stole it from a good site that publishes a lot of amusing content for free. Do it often enough, and they'll stop publishing by that route.
If it is on the internet it is free
Moron
Scrap the "real mode/standard mode" variants of each of those OSes, that's like putting down linux as being non-standard because developers would have to target ELKs.
Windows CE is not being targeted as a game platform (and please don't show the two exceptions)
Bob is not an OS.
Real games were not developed for Windows before Windows 95. Prior to that, they were all DOS games. Windows NT 3.x did not have games developed for it.
Win95 b is OSR2
You forgot OSR2.5 (win95c)
Let's run combinations on the Linux compile-time optinons for the kernel alone and see what developers have to target. Then think about video support, the init system, audio, and then think about things which are pretty experimental these days... Like 3d audio and video, truetype fonts(!)
A very good majority of the games which ran on Win95 -- any version -- will still run on any of those platforms you mention... like Windows NT, Win98, WinME, etc.
Then think about something so horribly simple as Netscape which has had to figure out what widget set to use... and Real Player, which before reaching v1.0 had the sound architecture pulled out from underneath them.
The latter is more akin to a badly designed Win95 game, but it just means Linux is at Least as bad as MS OSes for pulling undocumented APIs out from under developers, and breaking code.
Tack on poor hardware support, and there is no reason to run these games on Linux. OTOH, Quake server would be insane not to run on Linux.
Loki still hasn't released Alpha Centauri, four months after they claimed it went gold. Anyone who purchased SMAC along with another title(s) still hasn't received their other title(s) because of brain damaged policies with Loki's distributor, Digital River. They've never given an adequate explanation as to why, nor have they attempted to fix their web site to prevent those kinds of purchases in the future.
I bought ten games from Loki, partly because I like the idea of games on Linux, and partly because I wanted some games. But I won't ever buy a product from a company I believe has lied to me. Period.
Supporting 3D hardware under Linux will ease over the next year. The loadable driver modules in XFree 4 is a much better solution to XFree 3's separate X server binaries for various cards, and this will ease the support headaches distributors and games manufacturers have had over the last year. So, please, let's see some other porting companies and multiplatform content creators enter the market. I bought Terminus and have been happy with that game. I'll buy others if I like the demo. There's certainly a hard-core linux community that will buy games right now. Though it's true that the market won't open up until after XFree 4 and 3D support becomes a common component of every distribution.
J. Maynard Gelinas
What you describe seems to be in danger of becoming the official history of the Mindcraft incident, but it was never true. Those tests were bogus in many different ways: they tested a hugely unrealistic scenario, and initially only the NT box was optimised to handle that scenario. Oh, and they lied too.
However, the resulting publicity meant that parallelizing the part of the kernel hit moved up the priority queue from "might be nice someday" to "must be done soon". And so it was done, and well, and now we can kick the shit out of NT even under the bizarre circumstances Mindcraft set up.
There were no "weeks of denial". The objections raised against the tests were fair and accurate. The fact that we would now win this test doesn't change that.
--
Xenu loves you!
GameReady Level 1, or whatever it winds up actually being called, will be a standard, non-moving target. It doesn't matter much what the standard is: for example, I don't care if the 3D part is OpenGL, or some other API that can wrap around OpenGL. The standard will include everything needed to run cool games: a 3D part, a sound part, a 3D sound part, etc.
This is important because you want people to be able to look at the requirements for Linux Quake4 and say "Hey! My computer is GameReady 1!" You don't want to have a long list of 10 different libraries that are required to run the game.
DirectX was valuable because it helped games run more efficiently, but it was also valuable because it provides a unified standard the game companies can write to. We need something similar.
It's also important to get a number in there, so that someday when cool new stuff is invented, it can be standardized as GameReady Level 2.
I have nothing against Red Hat, but I hope never to see games saying "RedHat Compatible". I'd rather see a more open standard.
P.S. When I say "the front of the box", I also mean "on the download page" or anywhere else you get software. I by no means intend that this apply only to boxed retail sales.
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
The key problem here is support. If I write a game using the DirectX API I am going to have a hell of a time rewriting that program to use the myriad of different media systems in Linux. If Linux had a unified media architecture that everyone used it wouldn't be a problem. That is totaly besides the fact that Windows users outnumber Linux users by several orders of ten.
I'm a loner Dottie, a Rebel.
All fair points. All I'm saying is, don't confuse an environment that is hostile to traditional software sales to an environment that is hostile to business in general. Like ESR says, it is important to distinguish use value from sale value. The Linux community, businesses using Linux included, benefits from an enormous amount of use value from the available software.
And it's largely a matter of perceived value.. if a Lotus or a Corel can't bring something to the table that is substantially better than can be had for free, why is it a problem if they then fail to make a profit at it? I don't think it makes sense to say that the Linux market is too competitive for software companies to survive in it, but if so, don't we as customers/consumers still benefit from the competition? Folks like Oracle and SAP and Verilog and others who make truly world-class software that does things better than the free alternatives possibly can will be able to make money off of the swelling ranks of commercial Linux users. I myself own commercial, non-open source Linux software, and I'm quite pleased with it. It's just that the standards are higher in Linux-land.
And I agree with you about the UT beauracracy.. UT's office of general counsel approved the GPL for UT-published software under certain conditions, and the work we have done on Ganymede just wouldn't make sense without the ability to publish in that way. I'm much happier having the developer-to-lawyer ratio at infinity, thank you very much. ;-)
- jon
Ganymede, a GPL'ed metadirectory for UNIX
You could stick with a single kernel for a long time if one kernel worked equally with every system with all your components. I've found 2.2.14 to be pretty damn good on my machine while 2.0.something worked pretty shabbily. You've also got to take into account alot of people recompile their kernel to their specifications. You can drop alot of modules you don't ever use but once you do any software that wants to interface with those modules isn't going to work.
I'm a loner Dottie, a Rebel.
Todd doesn't remember the days of Dos VS Win95? Christ, it was when there was some games that were going to win95 that pissed all the people still using dos off. You think some of those early DirectX games hit it big? Nope!
-- dieman - Scott Dier
As Carmack mentioned in another post, supporting the Mac is significantly easier to some respects because the platform is standardized. When a developer says "we support a PowerMac G4" you can be pretty sure what that entails, and can test your software on a nearly identical machine as your customers will have. That's not necessarily the case with the infinite variety of wintel clones out there. Furthermore, Apple has solid OpenGL support at this point (don't know where Linux is in this respect). Plus, the Mac version did sell considerably better, which may have had something to do with the fact that most Linux users have Windows on their hard drive as well.
The situation should improve with OSX, because the APIs are far better than Mac OS 9, the environment is far more stable than Mac OS 9, and the development tools are free.
- Scott
------
Scott Stevenson
Scott Stevenson
Tree House Ideas
Home Depot announced that it would stop selling nails designed to be hit with bricks. Surveys indicated that most customers preferred hitting them with hammers, despite the fact that bricks were cheaper and that the process for making bricks was well documented and open.
Many people in the brick community expressed dissapointment. One of their leading spokesman took a break from mixing red clay and was quoted as saying that "bricks still have a promising future as nail pounding devices. We just have to educate users about how it isn't so bad if you have good nails with wide heads, and properly bake your bricks. This doesn't change the fact that bricks are a great building material either, but we think they have the potential for so much more".
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
One-ton tomato
We have already heard about Id's dissapointment with the sales of Q3 and the support issues.
One thing I found especially interesting was that he said "retailers don't want it". Not good news for the Linux shrink-wrap software movement."
You didn't know that? I knew this every time I went into Babbages in the mall, and noticed the Linux section of software consisting of about 3 titles.
Retailers don't want Quake 3 Linux unless it is going to sell. We have been knowing that Linux games do not sell well in stores (I'm not saying they sell like hotcakes on-line), and this isn't surprising (at least not to me.) I think most people who would buy for Linux realize that the selection is going to be MUCH better online, and disregard the idea of running to their local game shop to buy a linux version of game X. I bougth Heroes 3 without even considering that I could buy it local.
Retailers won't 'want' Linux games until Linux has a significant exclusive portion of the computer gaming market.
It is great, however, that Id is a supporter of Linux and believes in Linux enough to help 'kick-start' gaming.
Why do I keep typing pythong?
Let's not confuse slashdot with the linux community as a whole, or especially with the linux development community, ok? There are lots of people working with linux who *are* sensitive to the many ways in which linux falls short compared to the competition.
It seems for every centrist pointing out ways in which Linux needs to be improved, or ways in which the peculiar economics of the Linux community might be a disincentive to some commercial developers, there are 2 anonymous cowards trolling about how linux sucks and will never amount to anything and, yes, they may get modded down pretty quickly. I know that I have seen quite a lot of good, 'centrist' critiques modded up on slashdot, though, so it's not all one way.
I would, however, argue the point you make about 'why linux will never take off'. I believe linux has already taken off, and the more it does take off, the less important the fanatics will be. Keep in mind, OS/2, Amiga, and Macintosh all had legions of fanatics, and the reason they did is that each platform had something genuinely worthwhile to bring to the table, but every user those platforms attracted quickly realized that they were in the minority and that network effects would tend to extinguish their investments in time and money in those platforms. One natural result is zealotry to try and get the numbers up and achieve the critical mass required to have a sustainable community and economy around the platform.
Linux is still in the minority, but it is growing at a rate that the Mac, Amiga, and OS/2 never saw. We have plenty of people developing software for Linux, and we have big name vendors like IBM, HP, SGI, Dell, RedHat, and others who are investing in the platform in their corporate interest as a hedge against Microsoft. We have people around the world, speaking dozens of languages, all contributing to and developing fr Linux. As this proceeds, Linux will grow out of its fanatical stage, because the need for it will have dissipated.
- jon
Ganymede, a GPL'ed metadirectory for UNIX
Here are the things I can see wrong with Linux's in userspace.
/proc, and some in source is unacceptable.) Somebody on another discussion pointed out how Sun has a consistant config accessible from /proc that applies to everything on the system. If that works, then copy it. If it doesn't then invent one that does.
/etc and a non-standard script wrapper to the SysV initscripts), developers being non-standard for no good reason ("but I like TK better!") and it gives the users the freedom to just install "Linux" without dealing with the bloat, the headaches, and the incompatibilities that they have to deal with today.
1) The kernel development model is flawed. What they have right now, a major kernel release every two years or so is fine, two years isn't terribly bad in dealing with SW incompatiblity. However, there are scads of changes in the patch releases. That should not happen. The interfaces between minor versions should be set in stone. That's going to take some actual *architecturing*on the part of kernel developers, but hey, the BSD guys do it, so should the Linux guys. Several improvements I can see in this area:
a) Constant interface between patch releases. Even requiring a recompile is unacceptable. You're not in hacker-land anymore, deal with it.
b) Seperate the drivers *completely* from the kernel. Totally modularized, not even part of the same source tree. The kernel should have a well defined API for drivers (like the VFS layer, or a network driver layer) and stick to that API until the next x.y release comes along. The kernel already has these to some extent, but too many important things are dependant on the kernel source, and the interfaces are not written out and strictly enforced. Having the source can be a blessing, but it leads people to access stuff in ways that they shouldn't.
c) Prep the kernel for commercial space. That means a consistant way to configure EVERYTHING. (Seperate methods like some parameters in modules.conf and others via
2) Then there is the issue of distro. Standards are absolutely necessary. Standards != lack of choice. Take 3D cards. There are many different 3D architectures out there, but they all follow a standard API. The only person who should care about the specific distro is the user, who chooses that based on things he likes about it. The app maker should just code to "Linux" and be done with it. KDE and GNOME are only exacerbating the problem. At least when all you had was X and a window manager, you could use 99% of the features of the windowing system without caring what the user is running. KDE and GNOME aren't even source, much less binary, compatible. Sure you can install multiple libraries, but that leads to both bloat and support headaches. Same thing for extraneous libraries. I am furious that urpmi uses Python? Why the hell? You've already got Perl don't you? I don't care which scripting language the system uses (and stuff like urpmi is not an application, it is part of the overall OS) but pick ONE and stick with it. Then there are the miscellaneous libraries that people seem to like using. Don't. Release quality apps should not use TK, XForms, FLTK, or any other non-core API. I have already talked about how the LSB should publish a strict set of guidelines and distro makers should voluntarily adopt them, and about how GNOME and KDE should become binary compatible before their userbase gets too large (see my other posts.) None of this takes away freedom from anyone. Distro makers are free not to obey the standards, users are free to use neither GNOME nor KDE, and developers are free to use miscellaneous APIs. What it prevents however, are distro makers being non-standard for no good reason (like Mandrake and its idotic desicion to symlink the contents of rc.d to
A deep unwavering belief is a sure sign you're missing something...
Instead, the Linux community is too busy with their petty squabbles about whether KDE or Gnome is better. Either one is adequate and the Linux vendors should choose one by coin toss and then standardize on it. As long as getting Linux users together behind something is like herding cats, it will remain a cult OS with limited commercial product support.
few distros come set up for 3d acceleration out of the box, and getting it running requires too much manual configuration. Mesa libraries certainly don't make it easy. Not until XFree86 4 and mature drivers for every major card come standard on most distros will 3d games be easily set up. Stuff like Nvidia's binary only drivers aren't going to make that happen anytime soon.
Nice comment. But it ignores some things:
1) Not everyone is ready to open source their cutting edge software in a cut-throat market.
2) It would really suck to have to reboot to play a game.
I know a lot of dual-booters who bought the windows version the week it came out. They didn't want to wait. You really can't blame ID for releasing for their biggest revenue-generating platform first. That's just common sense business at work.
On to Linux, I think part of the problem is that it is having a massive identity crisis. You don't see the OpenBSD community up in arms about the lack of games there. That's because OpenBSD has established its purpose as a server OS. It does one thing very well, and the rest is not important. Sure, flexibility is nice, but do you really WANT the same basic kernel running both your wristwatch and your render farm? It looks to me like the folks at Be had the right idea. Unfortunately, their market space happens to be the same as that of consumer Windows versions, and those users tend to be the ones who don't want to rock the boat.
I suppose that the distros could solve this to a certain extent, but everyone here keeps getting their panties in a knot about the whole "Red Hat isn't an OS" thing and the "GNU/Linux" thing.
One more point for the "Don't buy it because it's not Free" folks: everything has its limits, even Free Software. One of the joys of entertainment is that someone else is doing the work. I'm happy with a binary if it means that the guy on the other end isn't using an aimbot.
WARNING: there is a trojan on your
Except those who bought a brand-spankin' new video card six months after the game shipped and realized that this bootable CD has no drivers for it.
What are you suggesting as a solution, then? The only things I can think of, assuming you are not willing to rework your build system to use autoconfigure, is to build for specific distros and get very particular about what rpm or deb dependencies are required.
MacOS X has a nice concept of 'software bundles', where an installed application is actually a directory that contains all of the resources and particular libraries that the application requires. I can imagine that something like that might help the situation out somewhat, but it sounds like you are really complaining about the rate of change in the Linux world, which isn't likely to settle down as soon as you would like.
Speaking as both a developer and as a consumer of software on Linux, I have to say that spending the time to make your build environment shippable and understandable by outsiders is a very worthwhile investment.. it may feel a bit funny to spend development time on something other than the actual code that the user will run, but treating such packaging issues with respect is the mark of a good development team and a good product.
Anyway, I'd say that if your product (which sounds quite complex and interesting.. what does it do, precisely?) is so finicky as you suggest and the burden of compiling binaries for various linux distros is so high, I'd imagine that you would have to decide if the revenue or attention you get from making it available is worth the effort, as it would seem unlikely you're going to be able to get much peer development with a closed source product.
- jon
Ganymede, a GPL'ed metadirectory for UNIX
Comment removed based on user account deletion
You know, when Doom 1, Episode 1 came out, almost everybody who used computers for games had to run out to upgrade their 386's and 486's RAM to just 4 MB. What else is new?
As for me, I waited for the Linux version to come out because Carmack said we should buy that version if we wanted to support Linux boxed games. Then it didn't come out, until I already played it long enough on my friend's Windows box. I held out because I didn't want to put my money into the Windows version instead of the Linux version (even though I do put lots of money into Windows games) like Carmack said. By the time the Linux version came out, and I looked through tons of stores, I just didn't want it that badly anymore. I ended up eventually buying U.T. instead... the Windows version even! It turned out it was a much better game anyway. And to think, I was big into Quake 2 (and I worshipped DOOM, but that is another story).
I bought a tin-boxed Q3A for Linux, and I have yet to play it under linux. Or windows for that matter. I ran it under IRIX on a 24 cpu Onyx2 (of course, only one CPU was used... sigh). And after that I played with it on a friend's mac.
Maybe I should have played online so my CD key would be registered... oh well, maybe the next generation of FPSes will offer a better chance for linux.
-Chris
...More Powerful than Otto Preminger...
ID claims that sails are disappointing. Quite right. Many users had to wait nearly a year to see normal X 3D support on Linux. And note this "X 3D" support. There is a "less noted" library called Mesa that ID programmers seem to have forgotten. Better to have suffered amnesia. Quake II worked with this library on Voodoo cards and preformed quite good. Yes, this stuff didn't work with other cards but one also has to note that, back then, few card vendors supported Linux. However ID made two big mistakes on this. First it dropped out Mesa support and ran straight to X. That was the MISTAKE. X didn't have normal 3D support back then. Only two months ago we started to see distros with NORMAL 3D support. And even most developers/testers have seen it not before July. So sorry ID. The sales are bad because you made an incorrect move.
Now about kernel changes and other stuff. I have Quake2 working for nearly two years. under those same binaries of version 3.20. Software mod AND 3D mode. Yes, on Voodoo. But they are working! I ran from 2.0.X through 2.4.0-test6 with it (the newest kernels were not tested because I had no time to play). I ran from glibc 2.0 through 2.2. I had TONS of Mesa and glide libraries running on this Quake2 stuff. Yes, sometimes something broke. But mostly because I wanted to test a new beta or to play a little with performance/quality. So I don't get the point. Even considering the dangers of closed source, their damn Quake2 3.20 is still alive.
Maybe the fact ID tried to play a pioneering role on Linux 3D games. provoked this? Very probable. They started when all here was damn green alpha. No drivers, no libraries, no architecture. And the risks were HUGE. So probably, due to this, Quake2 became unpopular. But there is one thing that ID can be proud of... Their push through linux gave the system a real 3D system. The one we have been waiting for nearly 3 years. It is fantastic how things run now. Their push forced everyone to think and do the engine. Before this there were only some adventurous attempts. After Quake3 we had a real combinated push through 3D support on X. And here I can only say - Thanks ID...
Why should games be any different? If the commercial developers won't make games, then we're going to have to do it ourselves, just like much of everything else in Linux.
As a blatant plug for my own project, this is exactly what we at WorldForge are shooting for. Good, free games targeted to Linux (with Windows ports being secondary.) If you want to see more Linux games, with the added benefit of being free and open, then lend a hand.
Bryce
Given the major linux distros like fighting for marketshare, none of them will agree on a format.
Rather than try to get all the Linux distros to play nice together, it would be eaiser to point to an outside source of Linux compatibility and declare that the standard. This is a BETTER solution than declaring one distro your 'standard'.
Lo and behold, such a platform exists. FreeBSD and the Linux compatibility layer.
Think of this: If your code works with the BSD compatibility layer (BTW, Quake runs FASTER {ok, not much faster} on FreeBSD's compatibility layer than it does on RedHat 7.0), and it doesn't work on a 'linux distro' or your configuration, exactly how compatible is said distro/your configuration?
The only other way is to ship a distro on the game disk and claim that is the SUPPORTED version. All others are unsupported.
RPM does NOT solve the issues with the 150 or more linux distros, nor the different kernels. RPM is a RedHat solution, and there are a whole bunch of other Linux distros that don't think RedHat *IS* linux, just *A* linux.
If it was said on slashdot, it MUST be true!
they'd like to do that, and Carmack has made Q3 to be very portable, but with Christmas approaching, they can't afford not to release the windows version as soon as they can, even if putting a linux binary on the same cd would only take a week more. The plan with Q3 was to release Linux, Mac, and Windows at the same time, but the holidays again forced them to release windows first, and then Linux a couple weeks later. Much quicker than most porting efforts, but not quick enough to stop the dual booting Linux users to get the windows version and wait for the linux binary to be posted for download
Remember, too, that Windows has, for Microsoft, no marginal cost: A hardware manufacturer makes copies from a master disk for each new PC it sells.
Marginal costs are not a true measure of costs to a company for developing software. Sure, the marginal cost is near zero (or closer to $3.00 if you buy it in a store). So what? What about the cost of R&D? Marketing? Sales departments? Legal departments? Designers, artists, foleys, etc. all still need to get paid.
They pay this cost up front, and amortize the rest over time. The average MS software package gives you 90 days of free tech support. This can cost MS anywhere upwards of $5 per call.
So it DOES cost a lot of money to produce windows. Just because the media doesn't cost much, that doesn't mean that it doesn't cost anything to create.
You might want to think about that.
Simon
Coming soon - pyrogyra
Microsoft have been in existence since 1979, and DirectX 1.0 came out in 1995, so therefore it was sixteen years before they had any kind of framework for gaming on any of their operating systems.
I hate to compare this to a hot-button political issue, because some people will be against the argument just because they're mad at the analogy (so I suppose that getting modded down for this part wouldn't be too unfair), but the situations are too similar, so here goes. Your post totally reminded me of Al Gore's speech on Monday where he stood smiling before the cameras and told America that his losing in front of the Supreme Court wasn't bad, and in his eyes, wasn't even a neutral thing, but actually a good thing, because it gave him a roadmap for his lawyers in future cases. I didn't even see one single person, not the shillingest of the shills, actually try to defend him on that one.
Yes, I wrote that article and I stand by what I wrote. Your characterization aside, Loki made a promise to me to resolve an issue I had with an order which they broke. Then they never fixed their web page, allowing others to make the same mistake again and again without even letting their customers know beforehand just what might happen. In a nutshell, if one purchases a pre-release title and in the same order purchases something else (even several titles), because of issues with their distributor whatever else was purchased will get back ordered along with the pre-release until that pre-release ships. This is right off of their web page, with no warning whatsoever. Months later, the problem with their web page still hasn't been fixed, nor has the game in question been released (though I admit that's a separate issue). I note that anyone who ordered other product along with Alpha Centauri five months ago would still not have receieved any product. This is no way to maintain customer friendly relations.
Have you ever experienced problems like this with L.L Bean or Amazon? Neither have I. Welcome to the world of business, where customer service matters.
Cheers,
--Maynard
Fair enough, but two points. First, GPL is not anti-business.. there are *tons* of companies producing and selling Linux and Linux accessories.. every PowerEdge server that Dell sells with Linux pre-loaded is real money. The support and service contracts that Red Hat has with Dell, IBM, etc., are real money. The $70 it costs you to pick up a box o' Red Hat at CompUSA is money. Signing up for automatic updates with the Red Hat network is money. TiVo is money.
Second, GPL is a particular license that is granted to J. Random User to download and use one's software, nothing more. If someone came to me and said, 'hey, i wanna use Ganymede on terms other than the GPL', I would say, 'take it up with The University of Texas at Austin's intellectual property licensing department, I'm sure they'd love to make a deal with you.'. Just because something is GPL'ed doesn't mean that commercial variants cannot be sold, provided that there was not significant contributions by others who would not be willing to see their contributions relicensed under a non-GPL license. TrollTech is doing this with their dual GPL/commercial licensing of Qt, and they are hardly alone in doing so.
- jon
Ganymede, a GPL'ed metadirectory for UNIX
The software is not free. They are planning to release Q3 in binary form only. Thus the number of compiles they can do is limited compared to the possible configurations of kernel, distro, & countless other things GNU/Linux users can have. I know id releases old versions in source form, but I doubt they will be selling GPL-liscenced new software any time soon.
:-)) would allow a lot more users to enter their market. Sure they would lose some users to sharing, but they would also gain people running obscure configurations, not to mention the *whole posix market*. Yeah, this is mostly server/workstation, too, but there are a lot of BSD home users, plus a number of people who would install it anyway. I took a tour of my school's CS lab the other day and they were running Solaris (with GNOME!) on a Sun network (with Sun Rays--DAMN that was some cool stuff) and they were running Doom, I think. Maybe it was Quake 1. I'm not sure. It was probably because they knew they were having perspective research assistants coming through on tour, but it is a market, especially considering the number of UNIX machines out there. Plus, people could port it to Be, Amiga, and any other OS they want and send it back to id. In the end, company's really do benefit from making their software free and so do customers.
The other problem is that they way they are marketing the game, GNU/Linux is not a huge market for gaming. Windows may seem to have the lion's share (and then some) of gamers as users. GNU/Linux may seem to be mostly a server platform, but lots of home users are installing it to toy around with a UNIX-like OS. This is the real market for games on GNU/Linux. id should think of it this way: making their apps free (as in freedom
-----
# cd /
I bought the aluminum box, and have been playing for months on my debian system.
I've done many, many "apt-get update ; ap-get dist-upgrades" over the same time period.
Absolutely no problem installing, and I consistently get 40-50 fps on a old K6-2 with a voodoo banshee.
The single issue I had was the game would slow to something like 1fps if the lighting was set to "lightmap" instead of "vertex", and I fixed that by experimenting with settings.
As far as slow sales, well, that's the "linux communitys'" fault. Freedom is not free, and you're gettig exactly what you pay for when you don't buy Linux products.
Treatment, not tyranny. End the drug war and free our American POWs.
See my user info for links.
He admits that it wasn't terribly successful, but chooses to keep pushing it anyway. They're planning on continuing to release versions for Linux, just not in boxes... for now. Darn, a Linux version of a game requiring end users to install additional drivers and shipping later than the Windows release didn't do so well. I feel so underwhelmed.
Linux still isn't a "plug it in and go" as Windows. 3D acceleration is pretty iffy. There is nothing as smooth as GLSetup. But it's getting there. And when I plug something in and it doesn't go, Linux is much better at recovering and helping me fix it.
Have a bit of patience. As XFree 4 stabilizes and 3D acceleration becomes easier to install and maintain, I definately expect to the see the situation improve.
I eagerly look forward to removing my Windows partition.
Search 2010 Gen Con events
And for all the naysayers who said Quake was better because "it's open source", I'd like to remind you of something. UT was not open source. Buy EpicGames released a *free* full version edition of UT off their website. Granted, the graphics weren't as optimized as the Windows version, but it was trivial to get a dedicated server up and running (one of the main things I saw many Linux boxes doing for Quake 3).
Think about it.
- I don't care if they globalize against free speech. All my best free thoughts are done in my head.
First off, I don't speak for Loki here; these are my personal observations.
Quake3 came out as a boxed product for Windows before it came out as a boxed product for Linux (speaking of the full commercial game, not the demos). Many of the hardcore Quake people went out and bought the Windows version, knowing that that Linux binaries could be downloaded for free. How many people are going to wait an unknown amount of time for a possible boxed Linux product when the Windows version is readily available with easily downloadable Linux support?
Multiple versions and ever-changing kernels? Please. Ever-changing GL drivers, perhaps, but that was hardly a problem since Quake3 was THE driver benchmarking tool (and Carmack was somewhat involved in their development). Support was a nightmare? I thought Loki was handling the support for the Linux version.
The Linux gaming community will get over it. There's more impressive stuff coming out (like Tribes 2). We'll get our gaming fix.
-John [badly in need of a faster 3D card for T2]
A common denominator in poorly written trolls such as this is the reference to "Windows". No discerning between 3.1 or 2000 Server; to the average Linux flameboy, it's all just "Windows". Sadly, ignorance of this type will be your downfall. Nonspecific xenophobia is characteristic of many violent, short-lived social movements. Nazism, for example. If you insist on criticizing my company's products, why not at least accurately specify which you are referring to? Even the difference between Windows® 2000 Professional and Server is significant. They are different operating systems intended for vastly different purposes. The differences are as clear as those between Linux and this ominous, uncertain "Windows" you describe.
Another flaw in your people's reasoning is your stubborn insistence that no other perspectives besides your own can possibly exist. From the perspective of a corporate executive, Linux is the "toy": it has a poor user interface; it does not support business standards (The fact that we are responsible for said paradigms becoming "standard" is irrelevant. Microsoft has gotten where it is by providing quality software and through smart business practice.); it has no real support; it is provided by at least a dozen "distributors" whose motivations are are often very different; it does not fit comfortably within existing enterprise computing environments. The closest thing Linux has to a business operating system is Red Hat's distribution, which, sadly, is bloated, buggy, and has an uncertain future.
Finally, I would like to say that you do have a choice. Any other belief is a delusion. Users have always had a choice, and Microsoft would not have survived the late Eighties (when Apple and IBM held marketshares comparable to our current so-called "monopoly") if this were not true. Linux has been a "hot topic" in the computing industry for over a year, and has received support from inummerable corporate juggernauts. The reason it has not succeeded is that it, at the moment, lacks what it takes to satisfy business computing needs both on the desktop and in the server room. It really is quite pathetic; if Linux's fifteen minutes of fame had come but two years later, it may have been mature enough to "make it". But Linux has proven itself to be yet another come-and-go, drop-in-the-bucket fad in the Dot-Com age. So the Enterprise returns to the tried and true solutions which have worked for as long as the modern business computing envirnonment has existed: Microsoft, Sun Microsystems, IBM, Hewlett Packard, et al. Even Apple has more of a place in this world than Linux does.
See you in hell,
Bill Fuckin' Gates®.
See you in hell,
Bill Fuckin' Gates®.
(This post is ©2001 Microsoft(TM) Corporation.)
And is it some kind of wonderful technology that no one could duplicate?
No. It's easy enough to come up with a similiar API.
"Free your mind and your ass will follow"
Id may be disappointed with sales of Q3A, but I have to give props to Loki software, who are doing amazing work at not only porting games to Linux (real, full-on games like Unreal Tournament, yum), but who is also developing and releasing libraries like SDL and OpenAL to give Linux something akin to DirectX.
I've bought SimCity 3000 from Loki and have been playing a ton of Unreal Tournament with their downloadable patch, and both games feel every bit as professional and polished as their Windows counterparts, right down to the graphical install.
Game after game, Loki continues to do what I would have sworn was impossible to do on Linux, and they really deserve the support of the Linux community.
- jon
Ganymede, a GPL'ed metadirectory for UNIX
that anon guy who copied my sig is not me.
Every OS has problems getting software onto it at first, so any panic is rather premature. Windows has a huge stranglehold at the moment, but as people move and as Linux improves, the apps will come. The corporate market is the one to aim at, as that's how DOS/Windows got acceptance, using the same thing at home as at work. Give it time. It took Microsoft 16 years to create a decent framework for games and Linux isn't even 10 years old yet. I doubt, though, that it will take more than a year to get this sorted. The Linux movement has gained serious momentum in the last 18 months - expect even more excellent things for the next 18.
I work for a research project that releases binaries of its product free to whoever wants to download it. Our source is closed(for reasons too nasty to get into, so don't bother asking) and this is the best solution we have right now. Supporting linux is a right bastard of a nightmare when you are releasing binaries. Sure, dynamic objects were supposed to solve the problem, but uh, ever use NIS? The totally braindead way of doing NIS completely kills any hope of releasing a statically linked binary that uses it(the nss libraries hard code dl_open, and use full library paths instead of the shortcut names like they are supposed to). If you supply -static on the gcc command line you'll get something static, that then mmaps and dl_opens a shared library manually. :(
Needless to say the backwards compatibility is a very scary concept concerning libraries in linux, especially libc!
Routinely hyperimportant symbols like _IO_stderr
get changed with a difference in the third revision number of a library! That is insane. This means if I used stderr in the compilation of a library with one version of libc, and then later link against it with the new libc while creating a static executable you get permanant, unfixable link errors. This is not happy for people who just shrink-wrap executables and sell them. Not everyone wants or is able to release thier source to be compiled on the target architecture before use. One of the reasons we don't is because our project is pretty old and the build system is a total house of cards nightmare and only the hard core developers truly understand it. Do you realize how many support problems we would have to waste time on just to get a user to compile our product when all they just want to do is use it?
The build system works just fine for us, and it would take too much effort to make it easier to do for the average person. Why break it if it works already?
Also, another killer for doing any type of code that depends on the libraries themselves is that people will partially upgrade thier distribution.
Say thier running a 2.4 kernel with a glibc-2.1.1 library. Sure this is fine, but a shrink-wrapped
binary is gonna flip out if you do anything even remotely system-code oriented. Since so much changes in linux so quickly and there can be so many permutations, it becomes impossible to produce executables that will run reliably on linux.
So enter the subject of the message. It is in linux's best interest that you actually compile the product you are about to use before using it.
Linux is trying to kill executable only distibution methods and promote open source. Frankly it is a bad idea to exclude precompiled binaries and here's why. Say you are in a situation where a group of people run a centralized file server, and other groups with different administrative domains all share from the centralized server. Now, install some packages on the file server and immediatly there are problems as now only SOME of the other groups can run your program. The solution? Recompile the program for every single type of linux there is in each group(yeah, just try to get them to do that all at once, they are seperately administered right?) and complicate the file structure of the server to accomodate everyone's variation. This is utter hell from an admin's point of view.
I am very happy that linux is evolving and getting new features, but I am sick and tired of yet again discovering the subtle problems every 6 months when we run our code on more up to date distros and then having to fix them(we do serious systems programming and even a small change of a symbol in libc, or an alternate path of execution in the core functions of say read(), matters to us greatly). There are a lot of distros and consequently it takes an increasingly large amount of time to deal with it all.