First, it's not just a problem with "free" software developers. To infer that it's ONLY a problem with free software perpetuates a myth. As a software developer, you should know better. The fact is that library verion issues with free software is no better or worse than commercial software.
Second, Windows DOES indeed have this same problem. There are something like 72356427356427365423 versions of MFC42.dll. Well, not that many, but I personally found well over a dozen versions when I was dealing with some bizzare problems a couple years ago. I'm sure the problem is even worse now. Every app seems to come with it's own version for some reason and that can cause all sorts of instability problems with your system. Apps compiled with version do NOT always work with another. The same is true for comctrl32.dll.
If you indeed need to ship one binary that works over a variety of linux versions, then indeed you SHOULD link statically. This is what netscape, acrobat, realplayer, oracle, etc. do. This is NOT a problem. It's the whole reason static linking still exists.
Re:Luke, use the source...
on
Is RPM Doomed?
·
· Score: 1
using apt-get for installing / removing works just fine thank you.. No need to reinvent the wheel.
.debs are easy to create as well so if you DO install something from source, it can be managed by the package management system. If you run a network of servers, this is the way to go.
Re:Gentoo's Portage system r00lz
on
Is RPM Doomed?
·
· Score: 1
Having used both freebsd and gentoo, gentoo looses. Why? the lack of a "stable" tree. This is why I moved to debian. I can still use source when I want to, yet get a stable mature, well-tested tree.
BTW, I HIGHLY doubt gentoo has a larger userbase than freebsd.
Re:Talk about a gimmick
on
Is RPM Doomed?
·
· Score: 5, Insightful
This is not the issue. It has NOTHING to do with the compiler. I have played with both sorcerer and gentoo and problems with it were that the distributions were never stable, and things frequently broke due to the constant state of flux. They had no concept of debian's stable, unstable, and testing branches. Basically, package maintainers didn't test - changes were made on the fly to be "current". Multiply that by the number of package maintainers. While this is fine for playng around, it's totally useless for a business and THAT is the problem with those distros.
So while I agree that these distros are not as good as they sound, I disagree on the reason why.
Compiling from source gives you a ton of flexability. Most larger packages have LOTS of compile time options which can be tweaked. Looking at apps like sendmail, apache, samba, etc. each has optional modules you can use. Binary distros limit you to the options the distro maintainers include and that's it. Optimizing for your processor can make a huge difference in the performance of many apps such as media players, graphics manipulation, the X server, the kernel itself, etc.
I started with slackware about 7 years ago now, migrated to RedHat, got frustrated with RPM and dependancy hell, played with MANY distros, and finally settled on debian. Debian rocks. It's the best of the bunch in terms of package management, stability, package diversity, user support community, processor architecture diversity, etc. I prefer debian's package management over any other system I've used including any of the BSD's, AIX, solaris, hpux, OSX, and a few others.
The best part of that was the last paragraph - that you child will have questions that no "child" would think to ask, or care about. Young adult, maybe (but that's a stretch,) child, no.
I'm sure at least 70% of slashdot readers have worked with commercial PC bios source. All right people, pony up with the great responses already! Here we are finally with a question perfectly appropriate for/. and nobody is responding.... What's the deal????
I tailored my post to the smaller company as I assumed this was. Cost metrics change when you are fortune 1000.
In the huge corp environment, you are dealing with huge quantities of boxes and people, and the cost differential between vendors starts to make a difference. In this case, you generally buy the best box (os) for the application.
I'd also like to ammend my response somewhat. While I still feel that it's more cost effective to stick with one vendor, there are exceptions. Pick an open-source flavor as your general purpose unix box, such as Debian linux or FreeBSD, etc., but only one flavor. They make great print / file servers, name servers, mail relays, intranet servers, proxies, administrative boxes, whatever. Pick a good intel box, and stick with it (compaq's are not too bad. DL360's are great little boxes, and hardware raid mirroring is handy.) You want to be able to move parts around.
I REALLY like to have fairly single purpose boxes. I lock them way down, and only install the absolute minimum needed for the particular function (which is why I like debian over redhat in a server role.)
Basically, bang for the buck you don't want to spend "Sun" money on a name server / mail relay. That's kinda silly. Yeah, sun has some new low-end boxes, but the value just isn't there.
My personal preference has been Sun for big iron / complex commercial apps and debian/intel for my everday little stuff.
The big point is that you don't want to end up down the road supporting 7 flavors of Unix. That really sucks. It's bad enough supporting multiple versions of the OS from the same vendor (which you frequently need to do because of app issues.)
That's true. Some people have been claiming that multi-platform (multiple flavors of unix that is) is cheaper, however, when it's not.
It's always more expensive in terms of real time it takes to manage the different environments. You end up doing the same work multiple times because you have to do it differently. See my posts below for the details on this, but think patches, backups, installs, service contracts, binary compatability, configuration, etc.
If the needs of the business dictate that you need to be multiplatform, then fine. You can deal with that. If you are just bargain hunting however, you will lose.
Note that the equation starts to change as the organization grows. If you are a huge multi-national, the cost savings you may see with one platform over another for a particular type of application may override the administrative costs, since you IT organization is so much larger. You can then have specialized teams.
It's NEVER cheaper to be multi-platform. More flexible, yes. Right platform for the app, yes again. Cheaper, no. The overhead of managing multiple flavors is large. It matters not who you have for sysadmins, or how capable they are. Patch management, change control, binary compatability, backups, security management, OS upgrades, service contracts, hardware compatability, etc. are all issues that cost you more. You end up having to do the same work over and over for each flavor. Been there, done that.
A TRIVIAL example would be changing your IP address space. Each flavor maintains it config in a different way. It doesn't matter that you know how each one differs. You won't be able to write a simple script that just makes the changes (it would be a complex script if you even chose to do it via script. Or you would write a script for each platform. You would probably end up doing it by hand.)
Another trivial example would be initial system load. With solaris for example, you setup (and maintain) a jumpstart server. When you get a new machine, an hour later you have a complete environment setup with all your customizations, up to date patches, etc. without hardly lifting a finger. Now add IRIX, Redhat, debian, freebsd, aix, HP, OSX into the mix. See the problem?
The list of examples of all the additional costs associated with maintaining multiple flavors is virtually endless.
You basically have it backwards. It's cheaper in the SHORT run. You can shop based on price. Initial setup isn't that bad. It's the LONG term maintenance costs that get you. It's ALWAYS easier / faster / cheaper to only have one platform to maintain.
You are probably using the wrong job descriptions when hiring. Try these. You probably have a bunch of "Novices". I would fire the lot of them. In this job market, good people are easy to find.
As I commented above, just because you have senior people doesn't make it cost effective to manage a network of multiple flavors of UNIX. There are issues (mainly duplication of effort) which are independant of sysadmin skill.
Windows XP is SOOOO not unix that it's not even funny. I wish I had what you were smoking because it must be pretty good.
According to this, "The POSIX subsystem included with Windows NT and Windows 2000 is not included with Windows XP Professional." It is a separate ($$$) product called Windows Services for UNIX. Don't know if this applies to the "server" flavor of XP though. MS can be so inconsistant for a monopoly... I like how they call it "windows services for unix" when it's really "UNIX compatability for Windows." Ahh, MS marketing...
Besides the "optional" posix API layer (and optional generic utilities,) there is NOTHING unix like in Windows.
Yeah, basic management is similar. HOWEVER: maintaining multi flavors of unix is quite expensive in terms of admin time and effort.
Think patches. Now you have to track multiple vendor advisories, handle patch management, what does the patch break, depend on, etc.
Next comes config changes. No longer can you write a simple script that makes the change on all boxes, you have to support multiple scripts, or write scripts to handle the ideosyncracies.
Third comes binary compatability. What I generally do is build a local set of binaries for all the specialized stuff. They can either be blasted across all systems or mounted via NFS. With multiple versions / flavors of the OS, work gets doubled, tripled, etc. What used to be a 2 hour task turns into a day long task.
Can't forget about security. What you do for one system you have to do differently for another. Different tools, binaries, rc scripts, etc.
The bottom line is that if you needed 4 people to support your current single OS environment, you may need 5 or 6 or even more when you go multi-platform.
I ran a shop where we supported Win98, NT4, Win2000, Solaris 7 & 8, RedHat Linux, FreeBSD, Macos9, MacOSX, and a smattering of other OS's for 500 users. This get's non-trivial Very fast.
That goes for all UNIX OS's in general as long as you are speaking TCP/IP. Now when you talk Windows, your argument makes sense. Not with UNIX. It has NOTHING to do with open source. In unix, you have bind (named), sendmail, ifconfig,/etc/hosts, route, netstat, etc. Across all flavors, things are pretty close. What is different is command line switches, where the config is stored, etc.
You can't get broadband in about 30% of silicon valley. SBC (Pac Bell) basically just shitcanned "project pronto" which would have fixed this. Too costly.
Bing! That's right. Now you currently pay for that through higher insurance rates since not wearing a seatbelt is covered. That person would be required to pay for his own medical bills if the law says that ins doesn't cover if you are not wearing seatbelts. The government could garnish his wages to make sure he does. If he has trouble paying the med bills, no reconstructive surgury. He goes through the rest of his life with his face looking like hamburger.
Second, falling off a swing can break your neck and make you a parapalegic for life. Likelyhood doesn't change the analogy.
Bottom line is that most of our laws are fucking stupid, written by stupid people who feel they need to sick their big noses in everyone elses personal life. Rather than just enforce the basic commense sense that you are liable for you own actions or inactions, they feel that people need hand-holding.
Watching TV, (peoples court, ricky lake, opra, etc.) you get the feeling that the entire country is full of fucking morons. While there are lots of morons, they are in the exploitable (for entertainment purposes) minority which makes them great targets for TV. The average person on the street does have some common sense, and is reasonably intelligent. Our laws don't give the majority credit for having any brains.
The fact is, stupid people will continue to be stupid regardless of law. Making criminals out of stupidity serves no purpose than to fill our court system and jails with you and me picking up the tab.
Using your logic, swingsets for kids need to be illegal, skateboards, kitchen knives, rope, power saws, bananas, use of socks on a hardwood floor, etc.
I'm sorry, but laws "to protect us from ourselves" are wrong and always have been. Their existence does not make them right.
Laws against drinking and driving are to protect others from you, and are OK. IMHO, the seatbelt law penalties should just be that no insurance will cover you if you get hurt from not wearing one. If you kill yourself because you don't wear a seatbelt that's YOUR problem. Seatbelt laws requiring you to secure your children are again OK since children are to young to understand the ramifications - but even this gets close to the line of acceptability. Again, skateboards, kitchen knives, etc. Where do you stop? It's clear our government doesn't know.
Questions: Will the average consumer know about the policy BEFORE they buy? Is the policy on the OUTSIDE of the box, or do you only find out once you open it? What about companies like Circuit City where you buy on the floor from a salesdroid and don't even see the box until you pick it up at the front? Is there a separate contract you sign?
Hmm.
Like shrink wrap license terms on software, it will be interesting if this is challenged in court.
Re:IBM Made $2.05 billion in the deal.
on
IBM Spins Down
·
· Score: 1
IBM still puts more dollars into research than most large computer companies have in sales. They continue to have one of the largest patent portfolios of any company anywhere.
Yes, our patent office is doing it's job. They have granted a patent on the triangle! This is great news. I'm going to go out and patent the square! There's money to be made... Muahahaha! All Your Square R Belong To Me!
Choosing which flavor of Linux is not the same as choosing windows over linux, sun, OS/400, or Mac. PHB's are MANY more times likely to support techs in which linux distro to use than they are for Windows versus something else.
First, Windows is a monopoly, and only MS makes it. You can say "Let's use Linux" and have hundreds of distros to choose from. If you have decided to use Linux, why choose a distro that behaves like UL? Why not RedHat or debian? UL does NOT have the same weight as MS, and the issues are VERY different.
Second, Win is popular in business because of the monopoly. Kinda hard to communicate with others if you use non-win when you are basically forced to use the defacto standard MS file formats. Yeah, yeah, Open office, but import filters suck, even in the latest version. Specialized Win only apps just clinch it.
No nukes. Just shove a D cell up your ... never mind...
:-)
.
First, it's not just a problem with "free" software developers. To infer that it's ONLY a problem with free software perpetuates a myth. As a software developer, you should know better. The fact is that library verion issues with free software is no better or worse than commercial software.
Second, Windows DOES indeed have this same problem. There are something like 72356427356427365423 versions of MFC42.dll. Well, not that many, but I personally found well over a dozen versions when I was dealing with some bizzare problems a couple years ago. I'm sure the problem is even worse now. Every app seems to come with it's own version for some reason and that can cause all sorts of instability problems with your system. Apps compiled with version do NOT always work with another. The same is true for comctrl32.dll.
If you indeed need to ship one binary that works over a variety of linux versions, then indeed you SHOULD link statically. This is what netscape, acrobat, realplayer, oracle, etc. do. This is NOT a problem. It's the whole reason static linking still exists.
using apt-get for installing / removing works just fine thank you.. No need to reinvent the wheel.
.debs are easy to create as well so if you DO install something from source, it can be managed by the package management system. If you run a network of servers, this is the way to go.
Having used both freebsd and gentoo, gentoo looses. Why? the lack of a "stable" tree. This is why I moved to debian. I can still use source when I want to, yet get a stable mature, well-tested tree.
BTW, I HIGHLY doubt gentoo has a larger userbase than freebsd.
This is not the issue. It has NOTHING to do with the compiler. I have played with both sorcerer and gentoo and problems with it were that the distributions were never stable, and things frequently broke due to the constant state of flux. They had no concept of debian's stable, unstable, and testing branches. Basically, package maintainers didn't test - changes were made on the fly to be "current". Multiply that by the number of package maintainers. While this is fine for playng around, it's totally useless for a business and THAT is the problem with those distros.
So while I agree that these distros are not as good as they sound, I disagree on the reason why.
Compiling from source gives you a ton of flexability. Most larger packages have LOTS of compile time options which can be tweaked. Looking at apps like sendmail, apache, samba, etc. each has optional modules you can use. Binary distros limit you to the options the distro maintainers include and that's it. Optimizing for your processor can make a huge difference in the performance of many apps such as media players, graphics manipulation, the X server, the kernel itself, etc.
I started with slackware about 7 years ago now, migrated to RedHat, got frustrated with RPM and dependancy hell, played with MANY distros, and finally settled on debian. Debian rocks. It's the best of the bunch in terms of package management, stability, package diversity, user support community, processor architecture diversity, etc. I prefer debian's package management over any other system I've used including any of the BSD's, AIX, solaris, hpux, OSX, and a few others.
Your mileage may vary...
Bonus: Your coffee sitting on your desk never gets cold!
The best part of that was the last paragraph - that you child will have questions that no "child" would think to ask, or care about. Young adult, maybe (but that's a stretch,) child, no.
Come on... That was humor. Notice the smiley?? If your going to mod you should at least get the right category...
I'm sure at least 70% of slashdot readers have worked with commercial PC bios source. All right people, pony up with the great responses already! Here we are finally with a question perfectly appropriate for /. and nobody is responding.... What's the deal????
:-)
I tailored my post to the smaller company as I assumed this was. Cost metrics change when you are fortune 1000.
In the huge corp environment, you are dealing with huge quantities of boxes and people, and the cost differential between vendors starts to make a difference. In this case, you generally buy the best box (os) for the application.
I'd also like to ammend my response somewhat. While I still feel that it's more cost effective to stick with one vendor, there are exceptions. Pick an open-source flavor as your general purpose unix box, such as Debian linux or FreeBSD, etc., but only one flavor. They make great print / file servers, name servers, mail relays, intranet servers, proxies, administrative boxes, whatever. Pick a good intel box, and stick with it (compaq's are not too bad. DL360's are great little boxes, and hardware raid mirroring is handy.) You want to be able to move parts around.
I REALLY like to have fairly single purpose boxes. I lock them way down, and only install the absolute minimum needed for the particular function (which is why I like debian over redhat in a server role.)
Basically, bang for the buck you don't want to spend "Sun" money on a name server / mail relay. That's kinda silly. Yeah, sun has some new low-end boxes, but the value just isn't there.
My personal preference has been Sun for big iron / complex commercial apps and debian/intel for my everday little stuff.
The big point is that you don't want to end up down the road supporting 7 flavors of Unix. That really sucks. It's bad enough supporting multiple versions of the OS from the same vendor (which you frequently need to do because of app issues.)
That's true. Some people have been claiming that multi-platform (multiple flavors of unix that is) is cheaper, however, when it's not.
It's always more expensive in terms of real time it takes to manage the different environments. You end up doing the same work multiple times because you have to do it differently. See my posts below for the details on this, but think patches, backups, installs, service contracts, binary compatability, configuration, etc.
If the needs of the business dictate that you need to be multiplatform, then fine. You can deal with that. If you are just bargain hunting however, you will lose.
Note that the equation starts to change as the organization grows. If you are a huge multi-national, the cost savings you may see with one platform over another for a particular type of application may override the administrative costs, since you IT organization is so much larger. You can then have specialized teams.
It's NEVER cheaper to be multi-platform. More flexible, yes. Right platform for the app, yes again. Cheaper, no. The overhead of managing multiple flavors is large. It matters not who you have for sysadmins, or how capable they are. Patch management, change control, binary compatability, backups, security management, OS upgrades, service contracts, hardware compatability, etc. are all issues that cost you more. You end up having to do the same work over and over for each flavor. Been there, done that.
A TRIVIAL example would be changing your IP address space. Each flavor maintains it config in a different way. It doesn't matter that you know how each one differs. You won't be able to write a simple script that just makes the changes (it would be a complex script if you even chose to do it via script. Or you would write a script for each platform. You would probably end up doing it by hand.)
Another trivial example would be initial system load. With solaris for example, you setup (and maintain) a jumpstart server. When you get a new machine, an hour later you have a complete environment setup with all your customizations, up to date patches, etc. without hardly lifting a finger. Now add IRIX, Redhat, debian, freebsd, aix, HP, OSX into the mix. See the problem?
The list of examples of all the additional costs associated with maintaining multiple flavors is virtually endless.
You basically have it backwards. It's cheaper in the SHORT run. You can shop based on price. Initial setup isn't that bad. It's the LONG term maintenance costs that get you. It's ALWAYS easier / faster / cheaper to only have one platform to maintain.
Correct. It's not difficult. Just time consuming, therefore expensive.
You are probably using the wrong job descriptions when hiring.
Try these. You probably have a bunch of "Novices". I would fire the lot of them. In this job market, good people are easy to find.
As I commented above, just because you have senior people doesn't make it cost effective to manage a network of multiple flavors of UNIX. There are issues (mainly duplication of effort) which are independant of sysadmin skill.
Windows XP is SOOOO not unix that it's not even funny. I wish I had what you were smoking because it must be pretty good.
According to this, "The POSIX subsystem included with Windows NT and Windows 2000 is not included with Windows XP Professional." It is a separate ($$$) product called Windows Services for UNIX. Don't know if this applies to the "server" flavor of XP though. MS can be so inconsistant for a monopoly... I like how they call it "windows services for unix" when it's really "UNIX compatability for Windows." Ahh, MS marketing...
Besides the "optional" posix API layer (and optional generic utilities,) there is NOTHING unix like in Windows.
Yeah, basic management is similar. HOWEVER: maintaining multi flavors of unix is quite expensive in terms of admin time and effort.
Think patches. Now you have to track multiple vendor advisories, handle patch management, what does the patch break, depend on, etc.
Next comes config changes. No longer can you write a simple script that makes the change on all boxes, you have to support multiple scripts, or write scripts to handle the ideosyncracies.
Third comes binary compatability. What I generally do is build a local set of binaries for all the specialized stuff. They can either be blasted across all systems or mounted via NFS. With multiple versions / flavors of the OS, work gets doubled, tripled, etc. What used to be a 2 hour task turns into a day long task.
Can't forget about security. What you do for one system you have to do differently for another. Different tools, binaries, rc scripts, etc.
The bottom line is that if you needed 4 people to support your current single OS environment, you may need 5 or 6 or even more when you go multi-platform.
I ran a shop where we supported Win98, NT4, Win2000, Solaris 7 & 8, RedHat Linux, FreeBSD, Macos9, MacOSX, and a smattering of other OS's for 500 users. This get's non-trivial Very fast.
That goes for all UNIX OS's in general as long as you are speaking TCP/IP. Now when you talk Windows, your argument makes sense. Not with UNIX. It has NOTHING to do with open source. In unix, you have bind (named), sendmail, ifconfig, /etc/hosts, route, netstat, etc. Across all flavors, things are pretty close. What is different is command line switches, where the config is stored, etc.
You can't get broadband in about 30% of silicon valley. SBC (Pac Bell) basically just shitcanned "project pronto" which would have fixed this. Too costly.
Bing! That's right. Now you currently pay for that through higher insurance rates since not wearing a seatbelt is covered. That person would be required to pay for his own medical bills if the law says that ins doesn't cover if you are not wearing seatbelts. The government could garnish his wages to make sure he does. If he has trouble paying the med bills, no reconstructive surgury. He goes through the rest of his life with his face looking like hamburger.
Second, falling off a swing can break your neck and make you a parapalegic for life. Likelyhood doesn't change the analogy.
Bottom line is that most of our laws are fucking stupid, written by stupid people who feel they need to sick their big noses in everyone elses personal life. Rather than just enforce the basic commense sense that you are liable for you own actions or inactions, they feel that people need hand-holding.
Watching TV, (peoples court, ricky lake, opra, etc.) you get the feeling that the entire country is full of fucking morons. While there are lots of morons, they are in the exploitable (for entertainment purposes) minority which makes them great targets for TV. The average person on the street does have some common sense, and is reasonably intelligent. Our laws don't give the majority credit for having any brains.
The fact is, stupid people will continue to be stupid regardless of law. Making criminals out of stupidity serves no purpose than to fill our court system and jails with you and me picking up the tab.
Using your logic, swingsets for kids need to be illegal, skateboards, kitchen knives, rope, power saws, bananas, use of socks on a hardwood floor, etc.
I'm sorry, but laws "to protect us from ourselves" are wrong and always have been. Their existence does not make them right.
Laws against drinking and driving are to protect others from you, and are OK. IMHO, the seatbelt law penalties should just be that no insurance will cover you if you get hurt from not wearing one. If you kill yourself because you don't wear a seatbelt that's YOUR problem. Seatbelt laws requiring you to secure your children are again OK since children are to young to understand the ramifications - but even this gets close to the line of acceptability. Again, skateboards, kitchen knives, etc. Where do you stop? It's clear our government doesn't know.
No doubt. Anyone who knows frys know better.
Questions: Will the average consumer know about the policy BEFORE they buy? Is the policy on the OUTSIDE of the box, or do you only find out once you open it? What about companies like Circuit City where you buy on the floor from a salesdroid and don't even see the box until you pick it up at the front? Is there a separate contract you sign?
Hmm.
Like shrink wrap license terms on software, it will be interesting if this is challenged in court.
IBM still puts more dollars into research than most large computer companies have in sales. They continue to have one of the largest patent portfolios of any company anywhere.
Yes, our patent office is doing it's job. They have granted a patent on the triangle! This is great news. I'm going to go out and patent the square! There's money to be made... Muahahaha! All Your Square R Belong To Me!
Windows != Linux.
Choosing which flavor of Linux is not the same as choosing windows over linux, sun, OS/400, or Mac. PHB's are MANY more times likely to support techs in which linux distro to use than they are for Windows versus something else.
First, Windows is a monopoly, and only MS makes it. You can say "Let's use Linux" and have hundreds of distros to choose from. If you have decided to use Linux, why choose a distro that behaves like UL? Why not RedHat or debian? UL does NOT have the same weight as MS, and the issues are VERY different.
Second, Win is popular in business because of the monopoly. Kinda hard to communicate with others if you use non-win when you are basically forced to use the defacto standard MS file formats. Yeah, yeah, Open office, but import filters suck, even in the latest version. Specialized Win only apps just clinch it.