Time for a Linux Bug-Fixing Cycle
AlanS2002 writes "As reported here on Slashdot last week, there are some people who are concerned that the Linux Kernel is slowly getting buggier with the new development cycle. Now, according to Linux.com (Also owned by VA) Linus Torvalds has thrown his two cents in, saying that while there are some concerns, it is not as bad as some might have thought from the various reporting. However he says that the 2.6 Kernel could probably do with a breather to get people to calm down a bit."
As a user, I preferred the old odd/even unstable/stable code split; I'd run .even at work and .odd at home.
I suppose if you buy your linux off the shelf you can complain to your vendor, but for home users looking to do some DIY kernel building the new way is a bit worse. However, I suspect we're a dying breed...
I guess today is a passable day to die.
I thought since it is open source the bug level should be more or less constant. More bugs, more people willing to fix the bug, more fix submissions - problem solved?
I understand that the kernel code grows, it is natural for any software code, so does it mean that open source community is lacking developers now to handle existing corpus of open source code?
I do not believe in karma. "Funny"=-6. Do good and forbid evil. Yours, Oft-Offtopic Flamebaiting Troll.
I have been using Linux since the early 1990's and I've been a software developer for almost 30 years. The one ting that concerns me, and I think this recent indictment is just a symptom of a larger problem.
The problem is that the drivers have to remain in constant flux because the kernel API is always changing. Now, when there are a limited number of drivers, this means that you can move quickly on the kernel. As you add more and more drivers, you add more and more work to keep the drivers updated. Eventually, there is more work needed to update the drivers than modify the kernel, and the drivers become your sticking point.
This is where I believe Linux is stuck. Linus and the kernel team has to look at the various kernel APIs and standardize them with the next release.
Sorry guys, time to grow up. Linux *is* mainstream!
It's funny that not so long ago Andrew thought 2.4 development was too slow. That was one of the reasons for the versioning scheme change (the other beeing getting more people to test new stuff).
I think all this means that the new versioning system is working too well.
"Kernel developers will need to reapportion their time and spend more time fixing bugs. We may possibly have a bug-fix-only kernel cycle, which is purely for fixing up long-standing bugs."
Sounds like this approach will benefit everyone in the long run, instead of constantly playing catch-up later?
He who knows best knows how little he knows. - Thomas Jefferson
Oh please, this is total BS. The only way you could have a dozen or more panics in a year is if you have a VERY BAD device and driver and have not looked at addressing the problem.
I've been running Linux since 1994, and exclusively since 1996. I have seen two panics, having to do with an old 3Com card and an old Promise IDE driver.
When you get any sort of prolem, in Linux, Mac, or what ever, you look for the updated driver and get it, or if there isn't one, troubleshoot the system. Unlike Windows, crashing on UNIX is not normal, and a sign of a problem that won't go away on a reboot.
For the record, I have a couple servers using 2.6.x that have been up for almost a year with no issues. The last reboot was because of a power failure at the colo.
and the wife hasn't been at the neighbors in a long while.
Is it because your 'panics' had scared them all away? Or is it that mobile tech support are doing her 'house calls' now?
>> Unlike Windows, crashing on UNIX is not normal
You're as bad as Microsoft! Windows (XP/2003) does not crash unless there is a buggy device driver. If you think it does state your verifiable, FUD free source please. Otherwise take your Windows FUD elsewhere. What's good for the goose....
While I'm not sure if he meant it this way, it sounds to me that he's saying that it's not considered terribly odd for Windows to crash; not that Windows constantly crashes.
;)) occurance.
If a desktop user sees a blue screen of death (device driver, bad hardware, what have you) it's nothing incredibly shocking; we've grown used to it over the years.
Linux has certainly crashed on me (mostly when trying out drivers that arn't exactly stable), and when it happens it is a much rarer (and stranger
Certainly you agree that Windows (he didn't specify XP/2003, remember, just Windows in general) is known for problems like that more than Linux is?
That's the entire reason a free kernel exists, some folk really should just stick with Windows. That said, every time I come to upgrade (and I do track releases) there's a bunch of new configuration options that are never going to be relevant to anything I'm going to be involved in. 2.6 has been reasonably stable for me but there's just too much crud bundled with the mainstream release that ought to be split off into patch-sets.
>Certainly you agree that Windows (he didn't specify XP/2003, remember, just
>Windows in general) is known for problems like that more than Linux is?
Maybe because Windows is just more well-known in general?
...so that we can have a buggier and slower operating system because writing efficient code is more challenging, due to intrinsic issues like message passing?
Splitting any software into external pieces is exactly the same as splitting the software into internal pieces. Microkernel is not the answer -- encapsulation is the answer.
Besides, converting the kernel will not get rid of the bugs; it will just make different ones. 2.5 million lines is a lot to rewrite, and any rewrite will lose all the bugfixes already in place.
(Davej is a long time kernel hacker and currently the Fedora kernel maintainer.)
The main problem with open source software is that the basis of its development is Because I feel like it, when someone gets bored of doing it they just leave it there. If there is something boring that needs to be done, then it won't be done (like documentation).
Some of the wonders of open source
Ubuntu is an African word meaning 'I can't configure Debian'
Any kernel with upwards of 2.5 million lines of code is going to be incredibly buggy
You mean that a microkernel is magically going to implement the same funcionality than linux, with all the thousand of driver, with its support for docens of hardware platforms, in less of 2.5 millions of lines of code?
Sure, a "microkernel" itself doesn't takes a lot of code. But BECAUSE it's a microkernel, drivers, filesystems, networks tacks etc. need to be implemented as servers. Implementing servers that implement the same funcionality than linux has today would take more of 2.5 milliones of lines, for sure. And those servers can have bugs, you know. And hardware bugs exist - it's completely possible (too easy, in fact) to hang your machine by touching the wrong registers no matter if you're using a microkernel or not.
Also, I don't understand why a microkernel would be magically more maintainable than a monolithic kernel. As far as I know, software design is something that doesn't depends in whether you pass messages or not. Sure, a server running in userspace can't take the system down. But that's completely unrelated to modularity and mainteinability. Microkernels were in fact invented because people though that hardware complexity wouldn't allow to continue running monolithic kernels, ignoring the fact that it's perfectly possible to write a mainteinable monolithic kernel with modular design - which is how Linux, Solaris internals etc. are today - just like it's completely possible to write a unmainteinable, non-modular microkernel. It all boils down to software design. And guess what: Current general-purpose monolithic kernels (linux, *BSD, Solaris, NT, Mac OS X - no, a operative system that implement drivers, filesystems and network stacks in kernel space it's not a microkernel) have had a lot of time and resources ($$$) to become mainteinable and modular, extensible, etc.
It's fun how when a monolithic kernel has a bug it means microkernels are better, like a microkernel model magically makes coders bug-free, or like it's not possible to write a microkernel server with a bad API that forces all driver developers to patch their drivers to fix a security bug. I'd love to hear what development model would use the Hurd/QNX/whatever guys to maintain six millions of lines of code, be it driver for a monolithic kernel or drivers implemented as microkernel servers.
Does this mean that everyone who has complained or criticised Slackware for sticking with the 2.4.* kernel for the sake of stability will apologise?
Not holding my breath or anything, but it might be nice.
Fantastic idea. Why don't you write one! Or somebody. Write a microkernel kernel! This is great. We are waiting. Yawn!
That will probably be the future. We are not there yet. The Message passing overhead is still large and makes coding difficult. eg. HURD is still not finished after 20 years.
Eventually with multi-core cpus with stupid amounts of threads the micro-kernel will make it's come back.
...and that is all I have to say about that.
http://jessta.id.au
OK, here's the difference between Windows (DOS and NT) coding and UNIX coding, and you may feel free to check out the various Windows DDK examples and the Linux drivers to verify.
In UNIX a driver does not nuke the system unless there are no alternatives, and a great deal of effort is made to make sure this doesn't happen. In Windows land all the DDK examples in both DOS Windows and NT, upon encountering a problem, they are encouraged to issue a stop. (similar to a kernel panic) rather than fail to operate.
This means that a printer driver, in kernel space, will kill a system rather than fail to print. So, with Windows, you will lose work, with Linux, you will be able to save your work.
This isn't to say Linux is perfect, it does have bugs, all software does, but it has fewer and is more tollerant of them.
>In UNIX a driver does not nuke the system unless there are no alternatives,
>and a great deal of effort is made to make sure this doesn't happen. In
>Windows land all the DDK examples in both DOS Windows and NT, upon
>encountering a problem, they are encouraged to issue a stop. (similar to a
>kernel panic) rather than fail to operate.
Uhm, it's not as if the Linux kernel won't PANIC (or was it BUG, there are multiple, IIRC) if there's a problem. Your statement has no base in reality, pure FUD.
>Microkernel is not the answer -- encapsulation is the answer.
But encapsulation means stable interfaces. Not acceptable for the Linux crowd (GPL binary drivers blablalba).
Of course you are right though. One main reason why so many things get broken is that all drivers need a rewrite on each interface change.
I hate to say it mate, but BULLSHIT. I work with Windows 2003 Terminal Servers. Let me tell you, those things crash for no apparant reason. Device drivers are good, can confirm that by looking at the manufacturers of the hardware alone.
/. is that stupid. The proof I give you is my word. Deal with that.
Verifiable information: Sure, the passwords to access my VPN are... fuck off. Noone on
M$ ISA Server = Crash from 200+ users. Reboot it maybe 8 times per week. Linux Proxy = (Squid) = 300+ users (we grew) 88 days and counting.
Meanwhile, we need to schedule reboots on a domain controller that is DEFAULT. If it didn't come with Server 2k3 Ent. it isn't on there. This thing will lock up, and randomly crash/reboot if we don't kick it once a week.
Love to be giving you logs, but unfortunately, I practice some form of security through obscurity...
Me failed English...
FreeBSD over Linux. If my comments seem odd, this may explain...
i keep slackware-10.2 with the stock kernel-2.4.31 as my main os and keep an extra partition for playing and testing out other Linux distros, and the slackware is more smoother and stable than any of the disktros i tried with 2.6.xx series kernels...
:)
i am sure the kernel dev people (Linus & co.) will iron any wrinkles out of the 2.6.xx series kernels soon
_i for one welcome our kernel hacking overlords...
Politics is Treachery, Religion is Brainwashing
If you read carefully and verify this yourself, it is not untrue. It may cause FUD about Windows, but unlike Microsoft's "Get The Facts" nonsense, this FUD is justified.
FUD -- Fear, Uncertainty, and Doubt, like paranoia, is sometimes the correct response to the facts. Like Kissinger said, "Just because you're paranoid, doesn't mean they're not out to get you." In this case, just because it causes FUD, doesn't mean its a lie.
Maybe Minix3 is an option.
Encapsulation is not the answer, that will just add more code, and therefor it will have more bugs (encapsulation needs an interface etc too).
I think a microkernel will indeed work better, be more reliable because it allows a limited group of people understand all relevant code of one component.
What you see happening in Linux is exactly Tanenbaum's point for a microkernel. But then again the man is often misunderstood and misquoted.
But if u set some standards there is plenty of room for "I don't feel like it nomore", simply because the next guy who will can easily pick things up again if he is familiar with the standards. It would seem that the only time certain ppl care about standards is when a company tries to set up and use an opensource license. Ofcourse then the only thing some ppl care about are their own standards, "nothing else matters" (ugh, I hated that song).
It's obvious that better developers should generate fewer bugs, but I think you don't get the point.
Open source has fewer bugs irregardless of overall developers quality, because it's the quality of the best developer that has access to the code that matters. It doesn't matter if 99.999% of the people who have access to the code are ignorant, or unwilling to debug it. It's enough that *one* competent developer gets motivated to fix that bug. The more people who have access to the code, the greater probability that among them will exist one competent and motivated programmer.
In the old days, when the kernel guys were working on an odd numbered kernel they would try out all kinds of stuff... Then, when they had a big batch of cool stuff they would go after an even numbered release and spend all their time solidifying what they had just done... So they used to operate with a built in (and regular) period that allowed them to focus on bugs...
Since 2.6, they've changed all this. I believe we will see the occasional "bug fix" only release as this is really what the developers are used to... and it just works... In the old days, this would be a 2.7 release...
td
hard core geek-ware
why are your drivers good? usually this is the cause of most crashes, I run 8 ISA servers wth just over 10,000 concurrent users, our uptime is counted in months not days, So you either have dodgy hardware or drivers or simply incompetant admins.
I was going to suggest that Minix 3 might be worth taking a look at now.
It is free now. Well documented and now has performance as it's primary goal.
Can you put convert BSD code into GPL code? I know you can not take GPL and make it BSD but I wondered about the other way around?
The current problem with Minix goes back to drivers.
I almost want to download it and give it a shot.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
I am amazed by the sheer number of morons who are unable to immediately recognize that piece as satire. The very first sentence is a dead giveaway. Yet the comments section is filled with outraged idiots. WTF!
"No one likes working in a hamster wheel, and your shop smells of cedar shavings from here." - TaleSpinner
Speaking of Bugs,
how's the state of the support for the sky2 / Yukon Ethernet card that is usually shipped inside Centrino Solo/Duo laptops? Suse 10.1 RC3 did not properly perform a DHCP on my laptop's internal sky2 LAN - it just hung.
Is there any patch available?
--- Eat my sig.
You should consider LXR (Linux Cross Reference), it's a very useful tool. You can navigate through kernel source up to 2.6.11 here.
Now, it's not perfect because function pointers still are requiring hard work, and the tool can't understand macro-defined 'nightmare' functions like this one (in kernel/spinlock.c)
I have discovered a truly marvelous proof of killer sig, which this margin is too narrow to contain.
But encapsulation means stable interfaces. Not acceptable for the Linux crowd (GPL binary drivers blablalba).
I think your perception of the Linux developers' point of view is skewed. You say that they consider stable interfaces to be unacceptable and then imply that it's in order to deter the use of binary drivers.
That's not correct. If they really wanted to deter the use of binary drivers, they could simply file lawsuits against the developers of those binary drivers (and it would be easy to find funding to back such a suit). Under a strict interpretation of the GPL, no one has permission to create derived works that are not also published under the terms of the GPL. In the case of the video card drivers, the makers could probably argue that the drivers themselves aren't derived works of Linux, but the glue code they distribute clearly is. Linus et al could easily shut down all binary driver development if they chose to.
It's not that the Linux kernel leadership considers stable interfaces to be evil, and they don't really even consider binary drivers to be evil. They find binary drivers to be irritating, because they can create bugs which the open source developers can't debug. Stable interfaces aren't bad either, aren't even annoying, and are even mildly nice when they reduce maintainers' workload. But the current Linux ABI isn't designed to be stable. To create a long-term, stable binary interface you have to plan for the future and put appropriate structures in place to support new development, and then you have to maintain those interfaces and verify that new work doesn't change them, which probably means new code has to build in backward-compatibility hacks. That's a lot of effort. If it were effort that would pay off in terms of easing future development or debugging, it would be a good idea, and someone would probably do it. But the effect would be to constrain development and hamstring debugging.
The Linux developers' position on stable internal interfaces is that it's a lot of work with a mildly negative payoff. Why would they want to do that?
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
Seems like consensus is that there is
1) lack of motivation to fix bugs (boring and/or difficult)
2) complexity of the Linux kernel code
Given this observation I wonder if refactoring is needed for the kernel code to make it more readble and if it is needed then how open source projects are approaching it?
I would assume that the project leader would have to make some kind of a team to do that. What I have mostly heard about OS projects is that they are started by a single person who codes something workable then depending on the prospects of the future use and general interest more developers are joining it in a very free, relaxed manner.
Refactoring seems to be a different issue: one needs to redo a whole bunch of functions without getting any intermediate working results. How is OS community is dealing with the problem of refactoring or how would it deal with it?
I do not believe in karma. "Funny"=-6. Do good and forbid evil. Yours, Oft-Offtopic Flamebaiting Troll.
I have a question here. What is it that needs so much change that the API can't even be solidified, let alone frozen? The hardware obviously isn't morphing. Are the kernel developers discovering new principles of CS and they need the flexability? 'X' has already shown us that if you chose wisely your design will have a long lifespan even if it doesn't cover every contingency.
"But really - that only affects close source kernel modules - and why should the linux kernel team care about people who want to leverage the linux kernel without contributing their source code back."*
Like Nvidia, or ATI, or Broadcom, or...
Sorry but your going to have to wait for GPL 3 before you'll have a stick big enough to make people give you the source code to their hard work.
*OH and did I mention the GPL loophole that allows Linux users to keep their source code hidden from the RMS police, while gaining it's benefits? Oh wait, I alluded to that already.
The Message passing overhead is still large and makes coding difficult. eg. HURD is still not finished after 20 years.
Speaking of Hurd, I had actually forgotten about the whole thing. You don't see it mentioned as often as you used to, even in jokes. Bad sign?
Save your wrists today - switch to Dvorak
Give me break. Everybody knows that BerkleyDB is an unstable, sorry excuse for a DB that makes MySQL 4 look like the god-sent of all DBs. And lack of standards and arrogance certainly isn't a thing of the OSS community. Especially not the Linux Kernel people. "My biggest Job is to say 'No.' to new features." Hits the nail on the head. And from what I can tell Linux is anything but a weedy mess maintained by daredevils who don't care about stability. Some commercial vendors would give their right arm to have a piece of software like the Linux Kernel in their stock. There are enough OSS projects out there that are very well maintained and offer the cream of software quality. Your rant is baseless.
We suffer more in our imagination than in reality. - Seneca
I get so tired of hearing MS fanboys running around yelling "it is too stable! is too, is too, is too!"
Quoting myself here:
I have four boxes here in my office, a six-month-old, high-end Dell Windows box, my Powerbook, a Dell 2800 running VMware ESX Server, and a Dell 2800 running Ubuntu (crazy, I know, but the 2800 was what was available).
* My servers only reboot when I need to document startup behavior. Since I'm doing work that involves explaining how to build drivers for ESX, which includes info on installing and starting ESX, that means an occasional reboot. Initiated by me. At this time, (after about six months) neither server has required a restart for any other reason.
* My Powerbook has been rebooted three times since I bought it. Each time was after installing a system update for OSX.
* The Windows XP box I reboot at least once a week. Sometimes this is because of an update. Usually it's because a progam locks up and refuses to be killed, and no, the Task Manager can't kill it either (sometime the application refuses to quit, sometime it's the process). When that happens, the only way to get the application to restart is to reboot, and since I can't do my job without email and publishing applications, I have to reboot. While this is obviously caused by the application, the OS should be able to kill any userland program completely.
Windows XP may have eliminated the BSOD that we all love to mock, but "stable" it isn't, IME.
Interested in a Flash-based MAME front end? Visit mame.danzbb.com
A few comments have flown already, but let's be sane here and examine microkernelism.
File system crashes. Microkernel is going to panic because there's no way in hell it can guarantee consistency with running processes now; the FS driver might log-replay or FSCK, but all open file handles become invalid (this can be reduced though...). A monolith is also going to panic; the driver may be in a kernel thread and get flushed and re-initialized, but same problem with file handles.
IDE driver crashes. Microkernel can block disk reads, bring it back up and hold the file system's state, re-flush buffers that weren't confirmed, unblock disk reads. Monolyth may do the same if the driver is in a separate kernel thread.
Sound driver crashes. Microkernel re-inits it. Monolyth re-inits the thread if it wants to (Linux just says it's broke and sound stops working).
Video crashes. Hardware needs a re-initing. Microkernel means X gets killed! Monolyth means X gets killed! Although the video driver CAN be re-initialized, Linux is likely to panic; MULTICS was easily 70% error recovery code, UNIX we just had this routine called panic() where you yell down the hall to reboot it...
Network crashes. Our entire TCP/IP stack is blown out. Microkernel re-inits it, monolyth can too, most likely we let it die and you reboot. We got tired of panic()ing for simple shit, we call this "Oops."
What a microkernel DOES have that's nice is the ability to quickly and easily ensure that drivers with fucked up code don't stomp all over other kernel memory. I suppose some MM hacks can be done to remove writability but..
What Linux really needs is the 2.6 model for odd series, as "Volatile," on a set even "Stable" series release cycle where "Volatile" is pinned as "Stable." That way the "Volatile" is always as usably stable as 2.6 is now, while "Stable" is concrete. Everybody happy and no silly 2.6.x.y running trees.
Support my political activism on Patreon.
The real advantage of a *good* microkernel is that normal people can write drivers and modules to extend it. If you compare the filesystems available for FUSE compared to what's available by compiling into the kernel you get a good idea:
...
Kernel: ext2/3, reiser3/4, jfs, xfs, minix, romfs, cdrom, fat, ntfs, proc, sysfs, adfs, ffs, hfs, BeFS, jffs (flash), cramfs, qnx4 fs, smb, cifs, andrew fs, plan 9
FUSE:
FunFS: network filesystem,
KIO Fuse Gateway: mount anything kde can talk to as a filesystem
Bluetooth FS: bluetooth functions as files
mcachefs: caches files locally from another filesystem ie nfs/smb
Fusedav: mounts WebDAV shares as fs
GmailFS: uses gmail for storage
CvsFS: view a version as fs
SshFS: mount sftp as fs
WikipediaFS: edit wikipedia articles as files
FuseCompres: transparent compression
FuseFTP: ftp filesystem (written in perl)
GnomeVFS2: mount anything nautilus can view
archivemount: mount tar, cpio, tar.gz archives read/write
Notice any difference? In the kernel, everything is pretty much either some long-standing standard or developed by some large corporation. The user-mode ie microkernel-style ones are developed by single people because they saw a need -- and so they actually do something useful like mounting ftp or zip files, or using gmail. These things are useful and different whereas once I've picked the fs for my drives I couldn't give a crap about any other fs in the kernel. None of them do anything even remotely interesting.
So that's the real advantage of a microkernel. Somebody wrote a useable filesystem in perl for heaven's sake. Yes, you can get some of the same benefits by turning a monolithic kernel like linux into basically a big/slow/ugly microkernel in certain areas like fs for instance. But with a good microkernel or safe kernel you get these same benefits everywhere with the advantage that your "archive filesystem" is much, much faster.
"1. Start regedit 2. go to: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\i8042prt\Parameters 3. Create a new DWORD value and name it CrashOnCtrlScroll 4. Right click on this newly created value and click "Modify" 5. Enter 1 in the Value data field and click on OK. 6. Close regedit and reboot the computer 7. hold the right CTRL key and press "Scroll Lock" twice to see the BSOD on demand."
8. Remember to put breaks after each line or preview your message =P
Time is an illusion. Lunchtime doubly so. - Douglas Adams
Notice any difference? In the kernel, everything is pretty much either some long-standing standard or developed by some large corporation
Yes I notice a difference: The filesystems in the kernel tree are general-purpose, performance-critical filesystems, meanwhile a fuseftp filesystem is quite the contrary.
Noticed how FUSE is a linux thing that allows people to write filesystems in userspace *despite of being a monolithic kernel*, giving users all the advantages of a microkernel without any of the disadvantages? Did you already noticed how this same approach is already used for some driver, like all the usb drivers implemented in userspace in top of libusb, X.org 2D drivers or CUPS printing drivers?
It is not that "commercial = bad", it is that proprietary = bad.
You mean the thundering herds of "must have the newest" videocard buyers, the gamers and graphics guys, would stop buying video cards because of the status of the drivers as regards an open source or not status? Or that the OEM vendors making new machines would stop buying video cards and installing them if tomorrow the code that ran the cards was GPL?
I doubt that for some reason. I think the vendors arguments are..well, quite dubious at best. Go back and look at what you are alleging, business suffering means selling less cards. Do you REALLY think they would sell less cards?? That is LUDICROUS. Really, that is your claim, that they would stop selling cards (that's the whole point of their business, selling cards) or that sales would somehow almost immediately "drop down" or something. THAT'S HILARIOUSLY LAME.
What WOULD happen is the first company that open sourced would get a TREMENDOUS influx of neat code, a tremendous amount of increased user enthusiasm beyond whatever they had now, they would get code and coding help designed to run on THEIR cards which would really quickly make them work better and they would sell MORE cards from it..not less. MORE. Their competition would be scrambling to keep up with it. The competiton would ALWAYS be one step behind in their efforts from that point forward, given the two "rivals" were very close in size when this transition occurred..
Open source works because *everyone* benefits from sharing..EVERYONE is the keyword there. Not just this or that guy, EVERYONE IN THE WHOLE FOOD CHAIN benefits from it. The vendors are scared they won't benefit..on the contrary, their efforts at building nice little cards will benefit as more people HELP them with coding to make them even better. I don't care how big your private company is, it is NOT larger than the global open source coding community and NEVER will be. MS is the largest software company arguable, one of the main components that people use on computers are browsers. Now which browser has been advancing faster in this market since open source really took off globally as a mindset and practice a few years ago?
Whether or not it is better cannot be proven UNLESS the code is open to have other people look at it and tweak it, so you can't argue one way or the other about it until you try it out. All we have to go by is past examples, so let us look around. Hmm, the operating system itself-linux and bsds are not doing too shabby, are they? Use and enthusiasm increasing daily, all over the planet. Sure, not dominant..yet. It'll happen.
In other areas where it has been opened up it has proven to be quite effective.
If nvidia is worried about ATI "getting their code", well, ATI would be "worried" about the same thing, so it's a *net wash*. If both of them got a lot of free code and help, guess what? They both would be..getting free code and help, back to the same exact *net wash*, except for the "more help" part, which would increase development at NO cost to either of them. If only one of them got the help, THAT one would get better/faster, a net INCREASE in the "desirability to purchase this card" factor, from individual end users to the bigbox manufacturers who would want the best video bang for the buck.
Their closed arguments simply fail to take into account that "open" is not partially restrictive to "your" company, they are basing their decisions on not really understandinhg the concept fully, honest, they really don't "get it" yet, and past inertia in the industry, and fear.
Here's the bottom line, when you open something, it can no longer be stolen away from you, you eliminate that whole "stolen" concept completely, you can then STOP WORRYING ABOUT IT and get back to business, which in this example is selling cards, all that happens is that you still have what you had previously, you lose nothing, but now you get a lot more free help.
That's why the larger companies are going more and more to opene
I prefer the current development model over the old one, upgrading from 2.4 to 2.6 was much more difficult then it should have been, mostly due to the learning curve though I think.
.x releases, so even those don't get a chance to stabilize much. I haven't NOTICED a new kernel feature in quite some time, so I would rather get the additional stability until I realize there are features available that I could make use of.
However the current development model does "seem" to have introduced more instability into the kernel then I remember. (My box at home seems to crash every 17days like clockwork.) Even with the 2.6.x.y releases, they are only maintained for a couple
Why not something like every kernel that is evenly divisible by 5, (or 10?) is considered a "stable" kernel. 2.6.20, 2.6.25, 2.6.30, and commit to supporting 2.6.x.y releases on those versions for a minimum set of time, perhaps 6months. 6 months seems to be about the average cycle of distro releases, so that may work pretty well.
This should give the best of both worlds, longer "stable" kernel releases then we have now, and still the fast developement/test cycle that the current development model offers.
Open Source Time and Attendance, Job Costing a
So long as you don't care about performance or usability, OpenBSD is a fine OS.
If Linus and the rest of the kernel developers decide at some point to provide an ABI that proprietary companies can use to build their drivers, all the while clinging to their dated business methodologies and obsession with "IP", then great, that's their choice.
Here's what you guys are overlooking. There is a stable kernel ABI. It's called "RedHat Enterprise". Look at high-end storage drivers and the like and they only come in binary and only "certified" for certain distributions. If you want stability, you pay RedHat and the hardware vendor pays RedHat.
So, this isn't all about Free Software lovey-dovey. Much of the mainline kernel's instability is directly motivated by the fact that "stability" where the revenue comes from.
Whenever I hear the word 'Innovation', I reach for my pistol.
The OS community is committed to refactoring... usually because some developer can't figure out how the previous developer wrote some unintelligible function, and decides the best way to "fix" it is to rewrite it in his own unintelligible style.
Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
I was skeptical when 2.6 changed its development model and ignored "stable" series, but I've now convinced it's a better model than before. It's simply more productive. Yes it destablizes stuff more, but the real benefit is what has brought Linux to success: motivation of highly talented developers around the world. It's human nature that people like to work on new stuff, especially for open source developers. You get fame, recognicion, and employment opportunity by working on high-profile code instead of bug fixing. For the old "stable"/"development" model, nobody really cares about stable anymore. This left an embarrassing situation there, and vendors would have to do a lot of feature back-porting work. Now the vendors just need to fix bugs, and bug fixes are generally far easier to port to mainline.
Every /.er knows the Linux kernel is without bugs, as bugs and poor
code are only found in the evil mind controlling applications of The
Beast, or Mr. Gates as we lesser-nerds still refer to him, or His
Legions, or Microsoft as we lesser-nerds still refer to it.
Linux cannot have bugs. Just like hippies can't have ill feelings.
Anything else contradicts my carefully insulated hyperbolic assumptions
of the world and the Dark Forces raging against it.
Duh.
In fact, you have strayed into the compounded strawman argument fused with completely false assumptions, and gone from there somehow conviced that is "fact".
Google WOULDN'T EXIST without open source. They wouldn't have a single dollar. There would not be a google as you see it now. That they only open some of their stuff means even there they still don't fully "get it", yet, besides that, they still managed to garner huge market share, PRECISELY BECAUSE OPEN SOURCE CODE WAS THERE FOR THEM TO USE. They kicked the shit out of MSN precisely because they came in on open source and that is the primary advantage they had.
You also make some utterly and arrogantly *lame* assumption (getting to be a habit with you, you might want to get that checked at the shrinks) that the open source community doesn't have MIT grads or EEs or Phds working in it. OMG OUR COMPANY HAS REAL SMART GUYS!!! NOBODY ELSE DOES THAT MAKES US THE BESTUS AUTOMAGICALLY!!ONE
Ya, SO WHAT? You lose,you lose BIG TIME right there, demonstrably false directly on this board, there are TONS of high level superior brains working on open source code, you can see that readily.
Now, back to a video card, PROVE that their hardware wouldn't get better with major contributions from the community, and come in faster than what the "closed source" community would provide for "the other brand". Prove it, that's your claim, so prove with some real world examples, give us the list of other type hardware vendors who lost major sales because their hardware runs on open source code. Give us THE BIG LIST, where is it? Can you point to serious LOST SALES?
Try again, PROVE some hardware vendor lost a sale-that's you ENTIRE POINT, LOST SALES OR NO SALE BASED ON OPEN SOURCE DRIVERS, because the hardware was running on open source and the competition wasn't, or could run on open source just as well as closed source and that open source was readily available. Give an example of lost sales, go ahead.
I like nvidia cards, I purchased a what to me was an expensive video card. Not top of the line, I can only afford a couple of generations back, but certainly good enough for my purposes now. If nvidia had a truly open source driver, does that mean automatically I would NOT buy a card from them because of that, that I would just flee overnight to ATI because for some reason they just "must" be better now? Any "advantage' that ATI might have would STILL BE IN THE NVIDIA CARD DRIVER, now wouldn't it?
This is why you don't get it on open source, you flat out refuse to see this, you think by opening the code you are THROWING IT AWAY, you AREN'T, you STILL GET TO KEEP IT, no one has "stolen" anything from you. You are selling VIDEO CARDS, that's where the cash comes from. And you get the code first while you are working on it, so how does that change things with 'the competiton" again? they don't see it until you dump it on the market, you have a huge lead time then, and after that, you STILL have lead time because something as important as that WILL get serious major effort donated to it, because it is in the USERS-your customers-best interest now, even MORESO than previously. They now have a stake in your business to make sure it stays working correctly and makes good stuff, so not only do you still get the cash for the cards, you get fre help to make the cards better.
I am just an average typical user, but we'll let some others chime in here, maybe someone in charge of purchasing a lot of desktops for their business, now would anyone "you" reading this NOT BUY A VIDEO CARD for those machines if there was a very good open source driver for it, direct from the devs at the manufacturer, with fully open contributions from the open source community? Or would you insist on the closed competition card?
This is a yes/no proposition, all things elsewhere take it as a near level playing field and considered, the hypothetical machines need video cards of some good qulity.
If yes, OK- that is understood, if the answer is NO, you WOULD NOT PURCHASE THOSE CARDS, why wouldn't you?
Yes, but the net calms down when Windows boxes have been told for the third time to go to bed. That's when the small linux goblins peek out from their firefox holes, and resume their quest to reach the golden kernel.
The stable ones mostly come at night.. mostly...
Defining Statistics and Social Research
Nobody is going to go to the level of effort required to make anything but a general purpose file-system in the kernel. Can you even imagine what would be involved in making a .zip filesystem in the linux kernel? Even a read-only one would require maybe 6 months of study for an average developer. A read-write one would be extremely difficult if done in the linux kernel.
What you have not shown is that these filesystems are in the kernel because they must be because of performance. Take the FUSE's Captive NTFS filesystem for instance. Is NTFS not performance critical? Maybe a kernel-mode NTFS would be a bit faster but the problem is that after more than 5 years in development it still barely works even for reading.
The reality is that "performance critical" filesystem for a disk means that it has low fragmentation and few seeks for the index. It must be able to read multiple blocks at once. That's pretty much it. Whether it is running as a microkernel driver, or a monolithic driver, or a user-mode driver matters very little compared to this. Yes, linux can be used like a microkernel and this is being done, but it is far from "without any disadvantages". The overhead of making protected drivers in linux is about twice that of a fast microkernel (see wikipedia on l4 for instance).
Can you even imagine what would be involved in making a .zip filesystem in the linux kernel?
It's fun that you mention that, because such things have been already done.
Even a read-only one would require maybe 6 months of study for an average developer
"...data provided to you by 0XABAADC0DA research"
Is NTFS not performance critical?
No. Linux systems can't even boot on NTFS filesystems. Obviously, the main purpose of NTFS is compatibility. If FUSE had been there before, people probably would have used it to implement it, just like with the beos filesystem, etc.
The reality is that "performance critical" filesystem for a disk means that it has low fragmentation and few seeks for the index
The reality is that seeks and fragmentation matters....when things are not in cache. Real world does care about the real world, you know.
It's fun that you mention that, because such things have been already done.
Yes, in FUSE, and within kde and withing gnome. Zip archive != zip disk.
The reality is that seeks and fragmentation matters....when things are not in cache. Real world does care about the real world, you know.
I guess that's why USB filesystem are implemented in user mode in linux, huh? They are memory and the moral equivalent of 'l2 cache' compared to disks, which is why Vista will reportedly swap through them. But in linux they are user-mode whereas disk filesystems are in the kernel for performance? Boggle.
No. Linux systems can't even boot on NTFS filesystems.
Earlier you said linux gets "all the advantages of a microkernel without any of the disadvantages" but yet it can't boot? Lol.
"This means that a printer driver, in kernel space, will kill a system rather than fail to print." Windows Printer drivers don't run in kernel space. Since Windows 2000.
It's not that it's unreliable. It's that if any one of the thousands of new options isn't exactly right, it crashes.
Yes, in FUSE, and within kde and withing gnome. Zip archive != zip disk.
No, filesystem compression has been done in linux (but not merged, because anyway not many people seems to ask for it)
I guess that's why USB filesystem are implemented in user mode in linux, huh?
WTF? Filesystems used for USB disks are exactly the same used for typical hard disks, and all of them are in the kernel, if that's what you meant.
Earlier you said linux gets "all the advantages of a microkernel without any of the disadvantages" but yet it can't
NTFS has been reverse-engineered. You can't even write or create files. Why would I be surprised that it can't act as root filesystem? As far as I know, linux can use more filesystems as root device as any other operative systems, including microkernels.
The main problem with open source software is that the basis of its development is Because I feel like it, when someone gets bored of doing it they just leave it there.
Do you think it's any different with proprietary software? Microsoft works on what they feel like it. Same with Apple; they're not spending their money to make sure OS X 10.5 works great on the older Macs (one of the complaints here is that not enough people are testing Linux 2.6 on old hardware). Likewise, Red Hat, Novell and others vendors of Linux-based solutions work on what's best for their costumers.
The difference with Free software is that more people get to work on what they feel like working on. And if something's missing all it takes is a developer to change that.
what if a distributed system is built to test every patch/release of the linux kernel on most/all hardware configurations? i use the word distributed as it will be difficult to have one place where all the testing happens. people/coders who are interested in helping in kernel development, but lack the experience, can start with downloading diffs and patching their kernels and testing them.
some people could also work on a distributed testing system, ala SETI.
all of this would get a bug out soon and it might be possible to trace the bugs to which patch/release introduced the bug. hence resulting in a lesser bug-closing turnaround time.
what is the existing way bugs are discovered and closed?