Linux to Fragment?
King_B writes "news.com has an article in which Sun's COO Ed Zander addresses the competition. One point to note is his prophecy concerning the eventual fragmentation of linux into non-compatible vendor-specific linuces. " Doesn't really say anything new, but nothing else seems to be happening today *grin*. People have been preaching about fragmenting Linux for years but it hasn't happened. And even if it did, I somehow doubt it would matter all that much. But it still gives COOs something to talk about I guess.
The only incompatibility I've heard of is with compiled binaries. I don't see how this is the start of some evil trend. Unless you are using a whole bunch of proprietary precompiled binaries, any package that needs it can simply be recompiled using the newer libraries or compiler.
In fact, I have a hunch that Red Hat took care of most of the dirty work in doing that when they put 7.0 together. If anything, they've made more work for themselves, since they now have to recompile any patched 3rd party software with each compiler/library combination.
I do not have a signature
The only real threat to linux is the Linux community itself. If the community starts worry about religious wars instead of looking at them as options and different way of thinking then we will be ok. There is alot of room for different opinions
> However, having it all in one tree still seems to make some sense: It will all be the same kernel, but if I compile for my pentium I won't have to include stuff for alphas, handhelds, or supercomputers
Sure, but it'll be a huge tarball (which is not a big deal). What is worse is that it will _always_ be broken.
Let's see the different level of modificaitons possible:
1/ A change that is good for everyone. No problem, it goes into the mainstream kernel.
This is what your original post was about
2/ A addition ("include stuff") that is good for some people, but useless for other people. No problem, you wrap it into a CONFIG option.
This is what you are talking about now.
3/ A change that is good for people but that would harm others (even if not enabled. It would populate the kernel with hundreds of #ifdef). Here, I am talking about big changes, like real time. Those are maintained off-line, in patches.
But, such changes are harder and harder to maintain. At one point, it will be more work to tweak the code so the patch still work, than it would be to re-implement (cut'n'paste) the kernel new features. And the patches would be in so many parts of the kernel that they would confict with other patches out there (ie: if, when you apply the handhelds patch, you can't apply most of the other patches out there, it means that the result is hardly linux)
This would be the the 4th kind of kernel modifications:
4/ Modifications that are so invasive that the result cannot be called linux anymore. Those deserve forks. And in that case it would be a good thing (note that you can bet that the fork would stay compatible with the model used for drivers, filesystem, and won't be a total alien)
(And there is always the classical ego-fork. Linux is probably safe from this because Linus is incontested. But, if he was hit by a bus...)
Cheers,
--fred
1 reply beneath your current threshold.
Even if fragmentation occurs, it's all GPL'd so it will still be possible to make the various distributions/kernels compatible.
"God prevent we should ever be twenty years without a revolution." -- Thomas Jefferson
Oh and there will be a major havoc on January 1st 2000, they predict, too.
--
Does anyone know what is happening with the linux standard base? Are the main distrobutions embarcing it? I havn't heard anything on websites. If not, why not or when?
Do you changes clothes while making the "chee-chee-cha-cha-choh" transformation sound?
For years I heard people saying that a monopoly like Microsoft is eventually bad for the market, because of a lack of competition. And now, when there are rumours about Linux forking, it is suddenly bad to more have more competitors on the same marketplace. Does this make any sense?
How to make a sig
without having an idea
What he's saying here is that if you want your software to run on Solaris you only have to compile and test it for Solaris, while with Linux you have to do this for several distros. There's one teeny eensy detail he left out: Solaris is only one "fragment" of Unix. To get your software going on AIX, HP-UX, Ultrix, and SCO Unices you have to guess what: get it to compile and then test!
Then there's other issues he's conveniently left out. Getting software to run on different Linux distros is a lot easier than doing the same thing for Unix variants simply because the amount of variation between Linux distros is much smaller than Unix variants. Different Linuces have the same kernel and C library while Unices don't, among other things.
He's grumbling about the fragmentation of Linux while claiming that his own fragment of Unix is the one that will solve all your software compatibility problems. It should be obvious that if you only use one variant of Unix then you don't have to deal with any other variants. DUH!
It's the same old marketese that Micro$oft is always saying: use our stuff and all your problems will go away. You'll be able to retire at 15 to a deserted desert isle where bodacious babes will attend to your every need and want. It's also amusing to hear someone from Sun grumbling about Linux fragmentation while at the same time holding up their own fragment of Unix as the solution to the fragmentation problem!
An expectation is a requirement to use a certain library, or programming methodology to get the job done. If I am contemplating creating an open source application, what am I required to know to run under OpenBSD? FreeBSD? GNOME? KDE? Self contained environments such as LispWorks?
Two 'Operating System' are sufficiently different/fragmented if there are sufficiently different expectations and requirements to make a running applications under them. If it requires a full time job to resolve the differences, then they are fragmented as far as I am concerned.
On the other hand, with the vast number of programmers willing to tweak my brilliant program :-) to run on their favorite *nix variant, perhaps the differences aren't so great in terms of cost after all. So this is really subjective, and I do realize this.
Thus, what is 'sufficient' is deliberately left vague. Or perhaps we can define a metric - the distance between two operating systems is the amount of work required to get a program running identically on both OSes.
The verification of the Triangle Inequality is left as an exercise for the reader.
I would be the first to admit there are some problems with the above way of thinking, but as with many questions involving language, they will never really be resolved satisfactorily.
---
You were a moderator with 5 points. You should have read the moderator guidelines before you did any moderating
I think that today they are more compatible than two years ago. However if you look at any two distributions it does not take a rocket scientist to figure that they are binary none compatible. Differnet libraries exist in each distro. Each program can be compiled against different version of the libraries with different parameters adn settings (configure --what options you pick). That is why Linux is Open Source and you get the source. You then compile the program yourself. This then becomes a none issue. So what? So I cannot take a binary from SuSE and install in Redhat. I can still build the rpm myself or get the tar ball. It's not that difficult.
I don't want a lot, I just want it all!
Flame away, I have a hose!
Only 'flamers' flame!
"concerning the eventual fragmentation of linux into non-compatible vendor-specific linuces"
Oh, lets see here... DOS (6 versions) Windows3.1, Windows 95 (3 versions), Windows NT (two versions, I won't even go into the service packs.), Windows ME, Windows 2000, Whistler.......
It seems fragmentation hasn't hurt some OS's marketability. Shure some of these versions are compatable on the same machine, but there is usualy a fair amount of screwing around that has to go on.
Dirty Pirate Hooker
I hardly see any reason for Linux fragmenting. About the only thing which might cause this is if Linus got run over by a bus tomorrow, where there might be a scrabble for control, and a divergence of opinion in which way the kernel ought to go. But I personally believe and hope the leading developers would be able to get it together enough for the kernel to go on.
:-) ....etc.
There is plenty of scope for divergence in Linux already by making a different distribution. A mahor example of this happened with the formation of the Mandrake distro, which IIRC was specifically to incorporate KDE on top of a standard RH distro when there were arguments over KDE licensing. Distributions often attempt to emphasise different things, e.g. Bastille emmphasises security, Debian tries to stay as GPL as possible, RedHat tries to be as buggy as possible
In summary, there is plenty of leeway for all sorts of Linux enthusiasts to make and get the exact type of Linux that they want or need.
Donte Alistair Anderson Roberts - hi son!
Karma: Chameleon
How is this not true? RedHat decides to take a certain version of the kernel, KDE, a peculiar flavor of gcc, and some other stuff, RedHat-ize it, and make a distribution out of it. Debian chooses another version of the kernel, Gnome, uses apt-get, and has a different distribution. Mandrake throws in some nice Mandrakish features. Others yet, take whatever other pieces they want and create a customized flavor of "Linux" (ok, perhaps not a customized codebase). We champion this as serving different needs. But isn't it still true that the same process has the potential for many conflicts? File system formats, hierarchy standards (file system standard and LSB notwithstanding), versions of applications, system policies, configuration tools, init scripts, custom scripts, etc. For all intents and purposes, Linux, as seen by the consumer, is fragmented. I think there should be a strong cohesive force to keep Linux, as the gestalt system, not just kernel, on track. Maybe LSB is it. Maybe not.
It's 10 PM. Do you know if you're un-American?
In short, so what. This is Sun FUD. Sun is clearly afraid of Linux and this is the best response they can come up with. Pathetic. Frame the argument in their own terms, and hope that everyone takes the bait and wants to argument the point about why Linux won't end up being fragmented.
Python
Python
It's broken, is it?
How many other development methodologies have produced mature, stable, reliable, highly portable operating systems in under ten years? Do better, and then tell Linus his methodology is broken.
Let's face it, of course Linus listens mainly to people who've earned his trust and become his friends over a long period of years. That's human nature. He doesn't have time to listen to all the people who want to grind their own particular axe. He's a dictator. This is a good thing: there is one person who takes the final decisions, He doesn't have to get them past the technical architecture committee. He doesn't have to get them agreed by marketing. He doesn't have to get the board to buy in. He just decides. And because he decides, we get a decent platform in a reasonable time.
Like I say, if you can do better, go ahead and do it. There is nothing stopping you.
I'm old enough to remember when discussions on Slashdot were well informed.
Perhaps a system that mimicks the RFC process should be created and a 'reference standard' implementation of the 'core' operating system should be defined.
Or, perhaps the way that the BSDs do it -- unified kernel + userland development. The ongoing struggle between the glibc people and the kernel people doesn't happen in the BSD world. Look at the way that threads aren't supported fully under Linux because Linus refuses to provide anything more than clone(), regardless of the glibc people's need for more support. Linus doesn't care about userspace and is unwilling to help its development. It's unfortunate.
________________________________________
Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
Hey, Ed Zander lived through the BSD/Bell religious schism, the fragmentation of the vendor Unixes and the Unix International -vs- OSF standards wars. Of course he's going to worry about fragmentation: his career's been spent fighting it. That said, I think he's wrong: the older members of the Linux community also remember those years, and will "educate" the community. With a large hammer, if necessary (:-))
davecb@spamcop.net
Zander stated in the article:
:-)
/perv mode >
The thing with Linux today--I call it the bathtub.
< perv mode >
I prefer to think of it as a hottub with lots of compliant co-eds in there willing to perform my every whim!
<
Donte Alistair Anderson Roberts - hi son!
Karma: Chameleon
At last! Uncontrovertable proof that Darwin is useless and we should all avoid Evolution in favour of the superior Creation.
Sun believed and invested enough in Linux to buy Cobalt and to put major effort into a Java port. (Yes I know some of the original work was down by Blackdown but Sun has teams wokring on it now side by side with their Windows and Solaris teams.)
IMO there seems to be some segment of the Linux community that over-lap with the conspiracy lunatic fringe. Neither can be happy unelss they can find someway to think everyones "out to get them."
Remember, Sun doesnt make money on Solaris. they nmake money on Sparcs. They are still fundementally a hardware company.
Frankly I think Zander was just expressing some very honest concerns.
>It's broken, is it?
Compared to BSD....yes. At some point Linus will have to admit the kernel needs CVS or some form of control. It will be interesting to see how Linus handles the transition.
>How many other development methodologies have produced mature, stable, reliable, highly portable operating systems in under ten years?
Lets see, what was the methodology?
1) used SYSV Unix as a model (not much DESIGN here)
2) Used other people's BSD and GPL code. (again, falls short on design)
3) Used Minix as a base (again.... design)
Methodology - Copying and using parts that already work from others. Not alot of heavy mental lifting on design when you use others code.
Stable and reliable. Sure, compared to Windows 3.1 or Windows 95, or older versions of itself. But Linux is 'reliable and stable' compared to BSD? How about Solaris? AIX? Tru-Unix? Sco? QNX? (this is subject to debate....debate away)
Mature - BSD has the WHOLE CODE HISTORY of UNIX behind it. Linux - A unix copy. BSD wins here....no argument.
Highly portable - NetBSD says they have the highest portability.
>And because he decides, we get a decent platform in a reasonable time.
The long delayed release of 2.4 kernel is an example of this?
Or, how about all the userspace programs that make the kernel useful? Mostly unix code....and nothing that can't and doesn't exist on other unix kernels (BSD/Sun/SCO/Qnx etc la)
The stuff that makes Linux useful is all userland....and nothing Linus has control over. I maintain your 'decent platform in a reasonable time' is the hard work of the 100+ linux distro companies.
>Like I say, if you can do better, go ahead and do it. There is nothing stopping you.
Looks like it has been done. It is called BSD.
If it was said on slashdot, it MUST be true!
If you're referring to Linux as the whole OS with all the good little tools, applications, etc., then it has already fragmented.
I've been using Red Hat Linux for quite a while now, and I could comfortably work in most any version of the distribution. But plop me on a Caldera machine and I start to get lost quickly. Debian uses yet another file structure and configuration scheme. I haven't even used Slackware since the days of downloading 40+ floppies, but I know they've got their own standards. And don't forget the other distributions: Mandrake, StormLinux, Corel, etc, etc. Although many of them are just modifications of other distros.
I think this will just get worse over time. Right now, it doesn't take too much time to learn how a new distro is put together. But, with the addition of all these graphical configuration tools (linuxconf, yast, etc) that are very particular to each distro, it won't be too long before you're spending an hour just to figure out to tell sshd to not allow root logins.
This all comes down to the question that no one seems to be able to answer: Is Linux a kernel, or is Linux a distribution.
The kernel has showed no signs of fragmenting, something that I really attribute to Linus.
RH made some interesting/debatable decisions with RH 7.0. Is that a fragementation? Only if Linux is an operating system.
To be honest, in a 'commercial' OS environment, I'm starting to think that the definition of Linux has to be a combination of the kernel AND a set of libraries.
Perhaps a system that mimicks the RFC process should be created and a 'reference standard' implementation of the 'core' operating system should be defined. By 'core' I'm thinking things like the Kernel and a set of libraries and compiler(s) (i.e.- gcc, libc glibc, gtk, etc.). Call it the GNU/Linux Reference Implementation.
That would allow app developers a reference point when stating compatability. It still leaves room for the distro manufacturers to 'value add' to the product, but it's a little better than just saying '2.2.x compatible'.
-- You can't idiot-proof anything, because they're always coming out with better idiots.
Cardinal Biggles wrote: the GPL [...] makes irreversible forking-fests like the UNIX wars less likely with Linux I rather disagree: The GPL helps reduce the advantage of forking, but it doesn't prevent large competing camps (e.g., UI vs OSF) from growing up, each with favorite sets of components. To a limited degree, this is what happened with KDE and Gnome: that break very much reminds me of the Bell -vs- Berkeley split.
davecb@spamcop.net
> Someone adds something worthwhile to linux - the other distributions will simply incorporate it as allowed by the GPL.
For the kernel yes. But not for userland.
If a vendor make a linux distribution with a proprietary thing on it (say a critical user-space library), he doesn't have to make it GPL. Or a vital application (say a VMWare distribution with a bundle VMWare).
What keep linux together is that the GPL prevent linking with a proprietary component, so any proprietary add-on must be self-contained.
But, I repeat myself, IBM could do a BlueLinux distribution, with a libibm (containing interfaces to the transaction manager, MQ-series, anythiung you want), and getting application suppliers (or their own db2) to link and use those libraries. Another case would be a very hypothetical AppleLinux with Quartz. Could be free-as-beer, but if you buy an AppleLinux application, it is only going to work with AppleLinux.
This is a threat when big names will produce their own tweaked linux. Don't think it will be all-GPLed.
Cheers,
--fred
1 reply beneath your current threshold.
doesn't break memory management for smaller computers
But that would take talented people.
Perhaps exceeding the ability of the Uber-hacker Linus to do. If it was easy, it would have been done.
But who gives a damn about Big iron? (Ok, IBM and its users do.) The bigger number of sales of units and total profit is the embedded world. When you are writing your autobiography about your talent and helping the computer world, the metric of others (not to mention your employer) will measure you by the total profit.
Now, try to say with a straight face that the kernel is going to be the same for a limited resource machine (4-8 meg DRAM 32 bit address, 8 or 16 bit data bus) and your average desktop machine (128 Meg +, 700+mhz machine)
If it was said on slashdot, it MUST be true!
This only would happen if there is only _one_ good Linux tree. But what if there were two, the first one supported by five companies and the second one supported by five other companies, both with a large number of users? What if these two trees became incompatible?
Actual fragmentation is unlikely with open source. The only way you'd get such a senario would be where the two different groups had users with different requirements.
If we get lots of different version, then some of them are going to be better than others. The bad versions will die. The good versions will merge into a "Best of" version. And I think thats a worst case scenario.
...big, bad Sun has said that Linux is going to fragment!!! Well, since Sun said it, it must be true... after all, they *are* the dot in dot com.
*snicker*
This is one of the great scare tactics used by both Microsoft and Sun to get the PHBs to avoid Linux. Linux has not fragmented, and probably won't for a long, long time, if ever. Too many of the key players (Red Hat, Caldera, Mandrake, Turbolinux, et al) have too much in stake with Linux to allow it to fragment into incompatable operating systems. I think it is more likely that Microsoft will give up on their appeal than for this to happen... hehe
wolf31o2 Developer, Gentoo Linux Games Team
IMMINENT DEATH OF USENET!!! (these caps are important for the sake of the joke, it's a quote. stick this in your filter.)
An ounce of prevention...
"Ancillary does not mean you get to rule the world." --U.S. Circuit Judge Harry Edwards, speaking to the FCC's lawyer
Each with incompatible API's and behaviors. The problem is how fragmentation is defined.
This adds to my bottom line, I can charge a lot for my time. Now my client can afford a stable platform that is easily trouble-shot remotely. As opposed to say hundreds or thousands of dollars spent on the operating system that may or may not be stable. Thus I make more, and the customer pays less.
I guess the probable source of a split would be if some Linux people take training to the MS extreme. i.e. memorize a hundred questions and here's your certificate that says your an "engineer". This by it's very nature brings people into the technical world as workers that our ill equipped to deal with real world problems. They also would not be equipped at all to deal with a Linux distro they are unfamiliar with.
A failure to understand the underlying principles or be able to THINK gives us a world where techs can only deal with what they know by rote. They are slow to adapt to new things, they are unable to read manuals and glean basic understanding from them. They make the job harder for those of us that know more than "point and click". These people would drive any Linux schism. Usually these people are also the MOST vehement defender of any one distribution simply because they don't know any thing else.
"Science is about ego as much as it is about discovery and truth " - I said it, so sue me.
Assuming the process had the right mix of being 1) open to most voices in the community and 2) fast enough to incorporate new innovations into the standard core, it might be helpful to prevent fragmentation.
Do domain names matter?
> ...that most people would be smart enough not to fork the kernel. Even if they did, they would have to release the code and anything good would eventually make it back into the main tree anyway,
I hope not. You can't reasonably expect _everything_ be right for both embeddeed markets and 32 processors. Or the latency/bandwidth trade off are definitely not the same in normal and real-time environment.
So basically, kernel forks won't be that bad.
Much more painfull would be vendor forks (ie: where there is no technical reason for the forks), that would deliberately make incompatible versions to lock users in their marketshare. Nothing that can't be hacked around, but it would be painfull to have to use specific distributions for specific applications. You'll end up emulating 'flavors' of each distro on each other, and well, it would sucks.
Cheers,
--fred
1 reply beneath your current threshold.
I think UNIX forked into so many slightly incompatible vendor-specific distributions (one of which is SunOS BTW) because the original Berkeley UNIX was licensed very liberally.
Linux is not so liberally licensed (namely, under the GPL) and that makes irreversible forking-fests like the UNIX wars less likely with Linux.
Proprietary (==non-free==closed-source) Linuxes can't happen because of the GPL. So if an incompatibly forked version is ever released, the itch that this creates can and will be scratched.
I'm sure to lose karma for this, but:
... one with less detail, one with more -- so a summary followed by details.
The only people who see a distance between Gen 1:1 and 1:2 are those who came up with some form of gap theory and needed to justify it.
1:1 looks a lot more like a chapter heading to anyone else reading it. After all, it is a book being written that didn't have the nice chapter and book headings we use now. That's the original text, and it seems the book was called "In the Beginning: God Created the Heavens and the Earth".
In verse 2, you have the beginning of the details.
note: there are two copies of the story of creation in Genesis
- Michael T. Babcock (Yes, I blog)
Newton's experiments don't prove an old earth either. Considering modern realisations about carbon dating (its not accurate -- you need surrounding evidence to substantiate the possible dates) and the fact that we've basically created a circular argument (we must have evolved, evolution takes a long time, the earth is very old, that's time to evolve, we must have evolved ... ), the teachings of modern evolution theory really need to be revisited.
- Michael T. Babcock (Yes, I blog)
Penguins need lovin too. The Linux Pimp
--It's Pimptastic!--
PS, what's wrong with just admitting "we don't know" ???
- Michael T. Babcock (Yes, I blog)
What they seem to forget is that Open Source projects like Linux excell at bringing out standards. Further more, it is standards that allow the highly compatible environments (like the Internet) that we all enjoy working in. Linux developers have always tried to bring Linux in line with standards and have contributed to creating new standards. Most of what we use, HTTP, FTP, SMTP, POP3 haven't been developed by the closed source developers like Microsoft and Sun. Rather they have been hacked out by a group of distributed people working openly to produce something that is not fragmented. In contrast, it is peole like Microsoft that always try to do things against the standards and hence fragment themselves from the rest. (Front page server extensions as an example).
It therefore seems absurd to even talk about Linux fragmenting. In reality they should talk more about Linux providing a solution that will work on many different architectures and providing high interoperability with other Operating Systems like Windows and Mac (through SAMBA, Appletalk, etc) let alone other Unices. Let alone other Linux distributions!!
perl -e 'print $i=pack(c5, (41*2), sqrt(7056), (unpack(c,H)-2), oct(115), 10);'
Sun COO Ed Zander pooh poohs Linux as not suitable for use over his company's proprietary version of UNIX. Says it will ``fork'' or ``fragment''. This is news?
Linux fragment? Says who? Oh! Wait a second! I moved around some code in /usr/src/linux/drivers/scsi/hosts.c to override the default controller detection order on one of my servers. I guess Linux has forked! Looks like he's right after all.
--
CUR ALLOC 20195.....5804M
(from the article)
:/
> what makes a McDonald's french fry is there is a spec and you have to conform to it
Doh... I don't get it? What makes a McDonald's french fry is some fake potato slices and a TON 'o grease.
Somehow I think something was lost in the comparison
Oh well...