Squaring the Open Source/Open Standards Circle
Andy Updegrove writes "Before there was Linux, before there was open source, there was of course (and still is) an operating system called Unix that was robust, stable and widely admired. It was also available under license to anyone that wanted to use it, and partly for that reason many variants grew up and lost interoperability - and the Unix wars began. Those wars helped Microsoft displace Unix with Windows NT, which steadily gained market share until Linux, a Unix clone, in turn began to supplant NT. Unfortunately, one of the very things that makes Linux powerful also makes it vulnerable to the same type of fragmentation that helped to doom Unix - the open source licenses under which Linux distributions are created and made available. Happily, there is a remedy to avoid the end that befell Unix, and that remedy is open standards - specifically, the Linux Standards Base (LSB). The LSB is now an ISO/IEC standard, and was created by the Free Standards Group. In a recent interview, the FSG's Executive Director, Jim Zemlin, and CTO, Ian Murdock, creator of Debian GNU/Linux, tell how the FSG works collaboratively with the open source community to support the continued progress of Linux and other key open source software, and ensure that end users do not suffer the same type of lock in that traps licensees of proprietary software products."
This article is more about standards in Open Source development, specifically Linux
To me Open Standards are much more important than Open Source. Open Standards allow Open Source solutions to be created that are compatible with the other solutions.
Unix was killed by the high price of licenses. Unix during the early 1990's was supposed to be for the big boys --- the enterprise customers willing to pay up to 10,000 USD per seat for a Unix license.
With the license for Windows NT starting at less than 1000USD, the enterprises which formed the majority of the paying Unix customer base soon found a way to make do with NT and delete their Unix installations.
It wasn't open standards and the fragmentation that did Unix in, it was plain hubris among the Unix vendors who cannot fathom a future where a cheaper Windows NT would replace the robust, stable and widely admired Unix they are selling.
All mainstream package formats have the full installation path hard-coded in the archive. LSB does not address this yet. The other problem of RPM, namely binary compatibility between different library versions, is already solved by compiling with apbuild. This works surprisingly easy, and allows my to provide one single package that can be installed everywhere [1].
[1] I can recommend to compile packages at Slackware because Slackware ships most packages without patches. Compiling an app at SuSE for example, made binaries depend on ABI changes caused by SuSE patches.
The best way to accelerate a windows server is by 9.81 m/s2
The article summary is a bit of a flamebait. In order for a product to fork there must be two forces in action.
1) Licensing that allows a fork.
2) Frustrated users who feel like they can't shape the future of the product via existing channels.
This is why there are at least three forks of java and none of perl. I suppose one could argue that the forks of Java are not true forks but attempts at re-engineering but the end result is the same.
Will linux fork like Unix? Well in a way it already has, there is real time kernel, different kernels for devices etc but not in the way the article talks about it. The article isn't talking about forks per se it's talking about distros. The author seems to have missed the point that the Unix forks were actual forks in the kernel not "just" distros.
Weird article really. Kind of pointless too.
evil is as evil does
Those wars helped Microsoft displace Unix with Windows NT, which steadily gained market share until Linux, a Unix clone, in turn began to supplant NT.
When did this happen? I must have missed it.
I'd like to support the nonfragmentation of Linux - as I guess many would. But looking at the LSB 3.0 certified list http://freestandards.org/en/Products, just shows Red Hat, SUSE and Asianux. Are these all the choices I have?
Could someone please explain me?
Sure this leads to some incompatabilities and duplication of work but there are several ways for developers to mitigate this. Open standards are essential as they allow code be ported between distros rapidly. Another good idea is for devs to be involved (in some way) with using multiple distros. Different projects could work together more closely to achieve better interoperability.
Its an essential aspect of forking to accept that many forks are dead ends and should be allowed to die or merge back into the tree where desirable. There are many good projects out there and it isn't really in everyones interest to reinvent the wheel continuously.
the more they over-think the plumbing the easier it is to stop up the pipe
All your (Linux Standards) Base are belong to us.
My father is a blogger.
Similarly, Linux isn't displacing NT, it's displacing commercial UNIX.
The overlap of functionality between NT and Linux is, really, quite small. There aren't many cases for which Linux is a good solution, where NT could also be (and vice versa).
The thing I do not like about the LSB is that it seems to be pampering too much to the desires of the closed source application suppliers who only ship binaries not source. When the application is available in source form, many of the issued addressed by the LSB become either irrelevant or much less important. The binary distributions can build binaries for RPMs, debs etc for their own distribution and for the most part, users can install from source using the 'standard' "./configure; make; sudo make install" without having to worry about having the exact layout and library versions mandated by the LSB.
The funny thing about the LSB is that it concerns APIs for use by userland programs -it has _absolutlely nothing_ to do with the kernel. All of the requirements for LSB compliance concern calling conventions, executable formats, libc, POSIX facilities, filesystem layout an other extra-kernel configuration, most of which any UNIXoid system could support.
There are no obstacles to Darwin, *BSD and Solaris systems meeting LSB compliance, because it has nothing to do with kernels and everything to do with the specific details of a UNIX userland environment.
Generally I don't get into 'Linux' vs 'GNU' discussions but the LSB is once case where I feel the name 'Linux' is used completely inappropriately.
"Not only is UNIX dead, it's starting to smell really bad." - Rob Pike 1991
Plan 9 from Bell Labs.
You sounded like a pretty technical person until you came out with this "snobbish" comment which, to me, makes absoultely no sense whatsoever.
I'm in a similar situation to you except that I use Linux about 80% of the time and keep a Windows XP machine for a little desktop stuff and for gaming. But I have no qualms about putting XP on my network because I keep it updated and don't use Outlook for email on it - likewise, I virus/spyware check it regularly and don't go to those sorts of places on the Internet where I might download a trojan. As a result, the XP box is secure enough for what I need it for and, to my knowledge, has never had a virus on it.
Sure, as a predominantly Linux user with a lot of UNIX/Linux expertise under my belt, I prefer Linux and my computing time on Linux writing scripts, compiling software and generally tweaking & learning is far more productive than on my Windows machine where I spend so much time running virus checkers and installing upgrades. But I don't view the XP machine as being a "threat" to my Linux ones, it's a "necessary evil" to me, nothing more.
I just find it strange that because I read on Slashdot constantly about how secure the BSD Unixes are (I've no reason to doubt those statements either), you would consider a Windows 2000 machine as a threat to a network of them....
Gentoo Linux - another day, another USE flag.
Any Free Software license allows you to use or distribute the software in any way you choose.
I am TheRaven on Soylent News
Oh dear, This means I have a room full of Zombies at my office
The only things certain in war are Propaganda and Death. You can never be sure which is which though
What's this about "various types of licenses" under which Linux is supposed to be available? Linux is GPL, so forking is possible, but there is no risk of UNIX-style fragmentation because the source is open and copyleft. For somebody to create a "closed Linux" they would have to start from scratch. You can't add closed bits to GPL software and keep them hidden, so any incompatible Linuxes ("fragments") could always be re-connected by users irritated about the differences.
The nonsense about UNIX displaced by NT and NT in turn displaced by Linux already set off my alarm, but the above really is FUD designed to further somebody's personal agenda.
It is not possible for UNIX-style fragmentation to happen to Linux, because of the GPL.
From the submission:
Unfortunately, one of the very things that makes Linux powerful also makes it vulnerable to the same type of fragmentation that helped to doom Unix - the open source licenses under which Linux distributions are created and made available.
I believe fragmentation has very little to do with the issue concerning the doom of UNIX. My three top reasons are:
1) Price of purchase
2) Expensive/hard to administer
3) Stagnation in development
Users want the cheapest, easiest and most feature-filled solution. It's pretty straightforward actually, and a Personal Computer with Windows was the first to fill the niche, if you leave out Apple.
Apple lost because they wanted monopoly on _both_ hardware and software, while Microsoft only wanted to control the OS (in the beginning). More importantly, Microsoft was better at hyping/marketing their next generation, something that Apple has learned to do better in the recent years.
UNIX and IBM lost because they failed to scale down to personal PCs, which is where the commodization of computing happened in the 90's. IBM and other mainframe dealers refused to understand the Personal Computer (too much vested in big contracts), thus the clones took over along with Microsoft Windows while the dinosaurs waited it out.
Without the IBM PC Clone, the computing world would probably look very different today. In those days it was very attractive to be able to upgrade the PC, exchange parts and use commodized hardware for the whole rig. Many tasks which rented expensive CPU-time on UNIX mainframes, were moved over to PCs during the 90's.
Fragmentation, no doubt, can be very bad for development, but it is also a boon since it leaves developers free to explore different avenues regardless of politics and limitations. I think once a system becomes popular enough like "Linux", the demand for standardization will pull it together. Hey, even the BSDs keeps compatibility with "Linux".
What killed UNIX was lack of creativity, focus, commodization, too much control and maybe most importantly: arbitrary high prices just to milk customers.
Linux may have killed off UNIX (oh what irony), but NT have been beating the crap out of it for many years. Linux and UNIX never actually competed on even terms, because UNIX has already been pretty much abandonded for a long time - it's owners only keeping it for milking the last drops.
My pet peevee with bash and the GNU utilities is the lack of standards, and lack of further development of the command-line. In that regard, I hope "Linux" can progress without having to be beat by Microsoft releasing a better command-line.
POSIX is really an antique joke compared to what could be possible via the command-line. So the trap "Linux" might fall into, is the same as for UNIX: stagnation, because most users drool at eye-candy and not the actual implementation in the back-end. However, maybe the cost of switching command-line is not worth the gain, time will tell.
http://www.debunkingskeptics.com/
If you're going to say it's GNU/Linux because of the wonderful userland (and not because of glibc) then perhaps you should call it Bell-Labs/GNU/Linux
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
NT did not broadcast its serial number. You could buy a single copy of NT and install it a thousand times. If you needed a new file server or a temporary file server, it was so much easier to setup another NT box.Yes you do. But they're still in the organizations that had them before.
What has changed is that Windows servers swept through the smaller companies. Those companies never had a *nix box. They might have had LANtastic or NetWare or nothing, but they did not have *nix.Okay, I can agree with you on that.I guess that depends upon what business segment you're talking about.
Linux has been showing double digit growth for the past 5 years (maybe longer). Businesses are deploying it. At the server level.Now you're talking about the desktop segment.
The corporate desktop segment is different than the corporate server segment.
And the biggest problem with the corporate desktop segment is all the Access databases that have been built over the years.
The 2nd problem is all the not-supported-or-sold-anymore Windows apps that users "absolutely must have to do my job" that they've acquired over the years.
Changing 10 servers is easier than changing 10 workstations for users who've spent 10 years with the company.You might want to take a look at Google before you talk about "hobbyist market".I'll have to disagree with you on that.
While that would be nice, it is far more likely that one distribution will become dominant and that distribution's structure will become the de facto "standard".
And it seems we're already on that path with Red Hat and Ubuntu.
I thought forking and merging (thanks to the license) are strengths of Linux. It's an evolutionary development process where the best or most popular ideas rise to the top. Basic standards arise out of the most widespread/adopted projects.
It's hard for me to see in this chaotic (but necessary) environment how much external control developers are willing to have "imposed" on them by such standards - unless of course from a development/technical standoint it makes sense.
My understanding is that Linux really isn't in the game of competing with anybody (Unix, Windows or otherwise) anyway. it's just about the code, love of things computers and a new way of doing things.
E.
is that you can sound like you are saying something even when you say nothing. The parent comment could be applied to almost any article. Each statement in the comment may be true, but without even an anology between the truisms in the comment and the story what good does a comment like this do? Do you see a solution that is needlessly complex, or something that is only a complex as needed by the problem?
Think global, act loco
No. Unlike commercial EULAs (see one that comes with Windows for example) Linux licenses are written in a clear language - what it says is what it intends.
Here is an explanation, just in case:
There are four major licenses: GPL, LGPL, BSD and MIT-X.
From users point of view all are equally good as they allow one to use the program and perform personal modifications.
From distributors point of view GPL and LGPL require that source code be made available so some care needs to be taken to address that.
From developer point of view it is a matter of choice:
Linux has one thing Unix never did - if someone forks it and does something innovative, then ther forks/branches can use it too, thanks to the GPL. The varous 'Unix' flavors didn't allow that.
There was an arrogant attitude toward PC hardware in the mainframe and workstation market. If you wanted to do real computing, you wouldn't use a PC -- those were just toys! Drop 15 grand on our workstation and then we'll talk. Well PC's WERE toys for a few years, but you had to have blinders on to see that they weren't going to make progress. That arrogant attitude persisted while the 386 and then the 486 came out, while all the while Windows NT and to a smaller extent OS/2 started stealing more and more business from the traditional UNIX vendors.
And while the UNIX vendors arrogantly believed they had a better product, not a single one of them ever made an effort to push the GUI portion of UNIX beyond CDE (Well... except NeXT and SCO, but SCO's offering was a step back from CDE.) Gnome, KDE and Enlightenment were all efforts of the Open Source community and to my knowledge Sun's really the only one of the old guard to even consider using one of them. Hell, even Afterstep is a step up from the commercial vendors' offerings.
In the end it was cheap Intel hardware and cheap Intel operating systems that did the old guard in. Windows on a pentium made a server that worked well enough that it was impossible to justify the price jump of an order of magnititude to get just a little bit more. And I doubt there are more than a handlful of companies that would even consider putting UNIX on an employee's desk. Had the old guard of UNIX vendors played their cards right and embraced PCs as a natural extension of their high-end UNIX systems, things might have gone differently.
The current situation is rather interesting. The cost of Windows licenses is significantly more than the cost of Linux licenses. Microsoft can't really compete with free, so they have to find other avenues of attack. That, more than fragmentation, is the biggest danger to Linux. Most commercial companies only deal with RedHat or SUSE anyway. I don't know what the future will bring, but we most definitely live in interesting times.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
The evaluation of an action as 'practical' . . . depends on what it is that one wishes to practice.
You shouldn't see different binaries for different distros. A Linux app should be an Linux app, period.
/usr/local, including the config files. Most linux distrubtions seem throw everything including the kitchen sink into /usr/bin and then put the config files in /etc. My own personal feelings on the matter are that nothing but core os components should go into /usr/bin and /etc (and no, GNOME and AFTERSTEP are not core OS componets). Everything else (including config files) into /usr/local or /opt.
Amen! Not only is it frustrating figuring out where all the config files are, but having an app fail to install or work because of dependancy or lib versions is also frustrating. I remember having fits trying to install Oracle 8i (circa 1999-2000) and having the install fail because the linker was choking over libc version incompatabilities and LD_ASSUME_KERNEL settings. Ofcourse, all the problems could be resolved by tinkering and patching, but that turns a 30 minute install into a 2 hour install. Installs should be a clean process, not a tinkerthon.
I saw another post here that mentioned apgcc. This was the first i've heard of it, but from the description at its website, it looks like a good idea. Basically, it looks to enforce lowest common denominator libraries and static linking. I like the idea of a fat binary. I also like the idea of self contained app directories (I've never owned a Mac, but I've been lead to believe that is the way it works). Diskspace is cheap nowdays. I don't see why everything needs to be dynamically linked.
Now let me digress into the config file issue. This seems to be a favorite flame topic, so let me don my asbestos suit and jump in. IIRC, the cannonical UNIX practice is to install everything not part of the core OS into
If Apple can do universal binaries across architectures, you'd think all us linux whiz kids could get a cross distrubtion (and cross version) system of binaries working. Ofcourse, Apple has unitary leadership and direction, instead of "hearding piss-ants".
This post and the dozens below it are arguing the difference between Linux the open source kernel project and Linux the brand.
When most normal non-dev people talk about Linux they aren't talking about a kernel, seperate from the development projects which rely on it; they are talking about Linux the operating system alternative. Linux is actually a really good brand and those of you who try to box it into just the kernel are missing the point of this and many other articles like it.
If we think of Linux as simply a base part of the larger GNU community, then the Linux brand that means an alternate OS to Windows for the large majority of PC users will fail because of increased costs to commercial developers because each 'flavor' of Linux has such a small userbase.
While I'm not an expert by any means about the various standards projects, we need the community to be open to the idea of them if Linux the brand is to be realized.
Just like commercial EULA's, the GPL and other Free Software/Open Source license use technical language which can be unclear to people unfamiliar with either the area of law or to technical language in computing, and many are perhaps more unclear than many commercial EULA's because in their attempt to be unintimidating in size and complexity, they avoid things like sections of clarifying definitions; further, like (perhaps worse than) commercial EULA's, Free Software/Open Source licenses often used strained sentence structures which make it unclear where provisions apply (a good example, IMO, being section 2 of the GPL, where it is ambiguous which restrictions apply to all modifications, and which apply to distribution.)
Well, sure, that's the selling point; the actual terms of the specific agreements may be less clear on the exact degree of freedom granted.
CDE is a monument to that brief moment during the Reagan administration when pastels were the trendyest, most high-tech colors.
Business. Numbers. Money. People. Computer World.
This is one thing I've been trying to figure out.
/lib/UbuntuLib/, and Slackware will put it in /var/log/opt/etc/usr/lib/. So why can't we just massively symlink the bloody directories together? Someone create a script file with two hundred and ninety-six lines of:
/var/log/opt/etc/usr/lib /lib/UbuntuLib /var/log/opt/etc/usr/lib /usr/lib/ObscureSuSEdirectory /var/log/opt/etc/usr/lib /some/other/RedHat/lib/location ... [etc, and vice-versa]
So different distros will put their files in different places. (Actually, I can't believe programs will actually have the library locations hard-coded in, but whatever; I'll accept that the alternatives have some disadvantages.) So Ubuntu will store its WonderfulLibrary.so in
ln -s
ln -s
ln -s
or whatever, and just make sure every possible library directory is symlinked to every other library directory, and we'll be done! It sounds like this way, a distro can meet the (file location requirements of) Linux Standards Base and still be backward-compatible. And we can actually have packages from one distro installing on another! Wouldn't that be great?
It seems so simple and so logical that I must be missing something. Someone please tell me why we're not taking advantage of that epitome of what makes the POSIX filesystems better than the Microsoft filesystems, the symlink?
404555974007725459910684486621289147856453481154 in hex is "You sank my Battleship?"
[GPG key in journal]