Software Development

Windows or Linux: Which is easier to fix?

Jack Wallen intentionally breaks both Linux and Windows to see which one is easier to fix. Read on to find out the exciting (and unexpected?) conclusion!

I like to break stuff. Why? It means I get to find things out about what I've broken and I get to repair what I have broken. And operating systems are no exception. This past week I was pondering what I should write about here in my open source column. I knew I wanted to do some sort of comparison piece, but wasn't sure what.

Initially I wanted to do a security comparison piece, but I quickly realized that horse had been beaten into the ground. Besides there's just simply no way to definitively say one OS is more secure than the other. To be honest, the minute you put an OS on a network it is insecure. So you can take the most secure OS, use it unintelligently, and it is insecure. You can also take the most insecure OS, use it intelligently, and it is secure. So...I needed to find a different means with which to measure.

My epiphany hit me when a client of ours had an issue with a .NET upgrade. He couldn't get .NET to upgrade and he "needed it". So one of our employees did what just about any consultant would do and uninstalled/reinstalled .NET. But then Quickbooks POS refused to run. AND POS refused to uninstall. AND (after I called in Intuit and they forced the uninstall)  POS wouldn't re-install. It was a pickle. A big pickle. But it lead me to this question:

Between Linux and Windows, which is easier to fix when broken? It was an interesting question, but one that should be easy to answer (at least in theory). It was time to set up my testing ground. I decided that .NET would be the obvious choice because there is a similar frame work on Linux - Mono. What would happen if I forced the uninstall of each and then re-installed. Would the applications that depended upon those framework applications still work? It should be a simple test. SHOULD.

Removal

The first phase of the test was the removal of the software. Removing Mono was a simple command line away. Removing .NET actually required me to use a third party tool (.NET Framework Cleanup Tool).

Testing

The second phase of the test was to see how this extraction effected each operating system. I have to say that both operating systems were affected by the removal of their respective framework. Windows was affected a bit worse, but only because more applications depend upon .NET than Mono. In fact, Windows 7 became a real headache to try to use once .NET was fully removed. On the Linux front, GNOME was quite the similar headache as much of it depends upon Mono. Logging into GNOME even became an issue.

So...success! Both OSes were equally hosed by the removal of their respective frameworks. NOTE: Linux, as an OS, wasn't crippled as any other desktop environment (KDE, XFCE, E17, etc) could be used without a problem.

Re-installation

And now came the real test...the re-installation. Would all of those deal-breaking issues go away by the addition of .NET and Mono. Let's hope so.

The re-installation on both sides went off flawlessly. Neither OS complained about getting their framework back. Neither seemed to have any issue. I was getting hopeful.

The results

On the Windows side things were either good to go or Defcon 1. Everything from Intuit was toast. It seems (as all you developer types would know) certain applications were written with specific versions of .NET in mind. If you don't have that particular .NET installed, that particular application simply won't run. And you also MUST install the .NET framework in a specific order. Because of that, I let Windows Update take care of the task. That didn't work so well, because it, for some reason, didn't want to install all of the needed versions of .NET. So I re-ran the clean up tool and manually installed all of the versions of .NET.

The manual installation worked much better, but the Intuit applications still did not want to run. No matter what I did, those applications were fubar'd. I could uninstall Quickbooks and Quickbooks POS ONLY with the help of the Windows Installer Cleanup Utility. But no matter what I did, I couldn't get Quickbooks or Quickbooks POS re-installed (not even with the help of Intuit support). If those apps were going to be needed, the machine was going to have to be reformatted and everything re-installed.

On the Linux front everything went smoothly. The Mono framework re-installed like a champ and everything that depended upon Mono fired up and ran as if it was never removed. I could log back into GNOME and use it exactly as I had before.

You draw the conclusion

This is far from a scientific test. Most would actually call this test bogus because the tester started with a preconceived bias as to how the test would turn out. In my defense, I will say I was surprised at much how the removal of Mono effected GNOME. I had anticipated that Evolution would be rendered useless - but nearly the whole of the desktop? No...didn't expect that one.

I realize that everyone has chosen their side and, regardless of how things pan out, few are changing sides. This "test" did little to sway my preconceived opinion that Windows is just easier to break. And, when broken, Windows is also harder to fix. I understand that everyone's experience is going to differ with what I've done here. I have seen people instances where the same person can administer two similar Windows machines in the exact same method and have polar opposite results. So it is possible my experience with .NET was an anomaly. But based on the reaction from Intuit support, they have seen this before...they just don't seem to know how to fix it. I would like to think that any OS and its package manager could handle the remove of something like .NET and Mono flawlessly. Maybe this test only indicates that Linux has smarter package management systems. Or maybe it proves nothing. But from my perspective it shows me that Linux is simply easier to fix.

What about you? Which side of the fence do you fall? Which OS is easier to break and easier to fix?

About

Jack Wallen is an award-winning writer for TechRepublic and Linux.com. He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website getjackd.net.

371 comments
todd_dsm
todd_dsm

The easiest one to fix is the one that WON'T go down. I have a small office that I'm using as a test lab. They need simple office app functionality (open office), and to browse the web. Email is delivered via Zimbra in the browser. Guess which ones don't need fixed - ever? Over the last year, I've been watching, tuning, and fretting over the linux server and a few clients like a worried mother. Now that we have a formula I can turn these desktops out, pre-configured, to auth against LDAP and mount NFS shares to emulate Windows client auth/smb mounting. I still have to remove viruses and spyware from windows and deal with users jacking their systems up with mis-configuration boogers. Aside from minor (design/deployment) adjustments (that the users never complained about by the way) I haven't had to touch the Linux (Linux Mint) computers over this span of time. What's the easiest computers to fix? The one that doesn't go down.

NexS
NexS

1: Unplug all cords. 2: Open window. 3: Ensure annoying neighbour is directly under window. 4: "Geronimo!" and let loose the machine.

Neon Samurai
Neon Samurai

Reinstall in place. This is not really any different than Windows reinstall in place; the original install image is stamped back out onto the hard drive. Based on the guess that Sinister originally used Mandriva One 2009.0 install disk, I used it for the install. The default image was stamped overtop of the existing HDD image without formatting root or home partitions. After the first reboot, it asked for a username so I created a name that did not previously so as not to colide with an existing user home directory. Once logged in, draktools (configure my computer) was used to create a user account named for the previously existing user. I then dropped to cli and gave the newly created replacement user ownership of the previously existing user home directory. Logout then back in under the previously existing user; tada.. The process was remarkably similar on a recently restored Windows machine (for those who need to compare). Select factory recovery boot option, stamp factory Windows image to the Hdd without formatting. Recreate previously existing users. Copy user home directory contents into place. Confirm that user has ownership of user's home and subdirectories. I don't see a notable difference between either platform's reinstall in place. A more elegant solution would be to identify just the broken packages and reinstall them. Since I'm stubborn and have the original VM image, I'm banging my head against that one still; if only to understand what broke and how. (SinisterSlay, you should have the full details in your email)

jfreedle2
jfreedle2

A Linux environment is harder to use to begin with, and this article shows that the author does not know Windows well enough and I believe that using a third party software to remove software rather than using the Uninstall software feature in Windows is what caused his troubles in Windows. I still feel very sorry for people who are using Linux instead of Windows.

CodeCurmudgeon
CodeCurmudgeon

It takes some effort to break Linux. I've used Ubuntu extensively since the 2006 and the advent of 6.06 ("Dapper Drake.") The only thing I've managed to do which caused a real problem was uninstalling a package GNOME depended on and I therefore lost the graphical interface, but it still ran in shell mode and I was able to re-load the package without too much of a hassle. The worst thing was that I never noticed I had done something bad 'till I had to re-boot after installing a kernel upgrade a month or two later. . .

doyuga
doyuga

It depends on your favourite OS. for my case its windows. after uninstall, I do edit the windows registry and reinstallation just works well for me.

lenniejoel
lenniejoel

Why blame MS if the problem clearly seems to be with Intuit QuickBooks or is there a Linux version out there that I do not know aabout?

dasluft
dasluft

Each to its own philosophy of use... Where we use windows we assume that the individual machines will fail now and again and, thus, have clusters and load balanced hosts to guarantee that the "service that is being provided" does not fail. When a machine does fail, more often than not it only requires a reboot to get the failed machine up again. Where we use Linux, we expect that the uptime will be good but as we most always customize the code in the packages we use, it is also expected that we will have our work cut-out come time for upgrades or patching.

Dr_Zinj
Dr_Zinj

Does POS actually mean something, or is it an acronym for "Peice of Sh!t"?

CharlieSpencer
CharlieSpencer

I bought two wrought iron gates. One came from Microsoft Welders. One day a couple of the welded joints came apart. My only option was to call a MS-certified welder to get it fixed. It cost me some money to have them fixed but I regard it as money well spent. He did make notes for MS so they could improve their gates in the future, but couldn't make those improvements himself without having to buy some very expensive equipment MS might not even sell him. I didn't care; I was interested in repairs, not improvements. The other gate came from Open Source Ironworks. This one appears to be put together better than the one from MS. It also came with free welding equipment. When two welds came loose, I found an outfit with guys who knew how to repair OSS gates. They had the same welding equipment I received with my gates; they didn't need mine. Some of them offered to repair both for free on their own schedule. Some of them would do both immediately for a fee that was comparable to one the MS guy charged. Unlike the MS guy, they said they had all the tools they needed to make improvements; like the first time, I wasn't interested in anything beyond repairs. They got back with OS regarding gate improvements; unlike the MS guy, they were able to provide OS with solutions, not just suggestions. My neighbor Neon Samuria has welding experience. In the course of my discussing the broken welds, he mentioned he knew guys who helped him add accessories to his OS gates even if they weren't designed to fit. I told him that was great, but that adding things didn't repair my broken welds. My newest neighbor ccrvic mentioned that I had all the equipment I needed and could learn to repair Open Source gates myself. I can appreciate that the OS guys can get their tools for free, some of which the MS guy can't get at all, but giving me those same tools free with my gate doesn't do me a bit of good. I have other things I'd rather do with my time, other things I have to learn for my job, don't expect to ever weld for fun or profit, and don't mind paying for those few occasions I need repairs made.

HAL 9000
HAL 9000

Only problem was that it's wasn't an Annoying Neighbor as they didn't look first. The Window in question was 25 floors up from memory and the frustration levels where very high. The window being open was a open invitation to get rid of the problem so out it went. The Little Old Lady on the walking frame needed new clean underwear when this thing destroyed the concrete a foot in front of her. No one ever looks up to see if it's safe to proceed. [i]Very important lesson that one you should learn from it.[/i] :^0 The Husband wanted to know if this damage was covered by the Guarantee. Apparently he didn't have enough money to buy a new machine and replace the concrete and pay for the Old Ladies cleaning bill. :D But if you want to mention Shooting a Computer been there seen the results of that as well and probably more importantly dealt with them that suited everyone except the company involved. :0 Col

Slayer_
Slayer_

Of course a reinstall would fix it :) Also, I have noticed you can get around a lot of TR posting problems by using the pre tag. ~~~Start Pre~~~ Dim sDisplayedValue: Dim dIncome: dIncome = 0: sDisplayedValue = Mid(vReturnVal,4): if IsNumeric(sDisplayedValue) Then: dIncome = CDbl(sDisplayedValue): end if: vReturnVal = 2000: If CDbl(dIncome) >= CDbl(0) Then: vReturnVal = 1000: End If: If CDbl(dIncome) >= CDbl(15001) Then: vReturnVal = 750: End If: If CDbl(dIncome) >= CDbl(50001) Then: vReturnVal = 500: End If: If CDbl(dIncome) >= CDbl(100001) Then: vReturnVal = 250: End If: If CDbl(dIncome) >= CDbl(150000) Then: vReturnVal = 0: End If: ~~~End Pre~~~

apotheon
apotheon

A Linux environment is harder to use to begin with So you say. What's your prooof? I still feel very sorry for people who are using Linux instead of Windows. I don't feel sorry for them. I feel sorry for people who are using MS Windows or Linux-based systems instead of FreeBSD. I feel sorry for me when I have to use MS Windows from time to time, too.

Neon Samurai
Neon Samurai

You obviously don't like the software platform.. why do you care about other's who do find it a better fit for there needs?

ccrvic
ccrvic

> Where we use Linux, we expect that the uptime > will be good but as we most always customize > the code in the packages we use, it is also > expected that we will have our work cut-out > come time for upgrades or patching. This is where your package manager pays dividends. If you build a source package (of whatever flavour) each time, you have a record both of the original sources you got from upstream *and* the patches you made locally. Come upgrade time, it is often the case that you can just drop the new tarball into your source package and reuilbd - patch is pretty good at sorting out near-misses. Occasionally, you have to go through your patches and re-apply them by hand (because the upstream sources have changed beyond patch's ability to cope) and re-generate your diffs - I use gendiff for this, but there are various painless ways of doing it.

NickNielsen
NickNielsen

I can say with authority that both Point of Sale and Piece of Sh|t apply.

apotheon
apotheon

In this case, it stands for Point Of Sale. If we were to apply POS, meaning Piece Of [Feces], to any Intuit product, we'd have to apply it to all of them.

apotheon
apotheon

Unfortunately, it wasn't actually the original welds that were your problems with the gates. While this kind of problem is more common with the Microsoft gate design, you lucked out and found a problem that pertains to both. The real problem is that the placement of the hinges is too low. As a result, the gates are too top-heavy, producing stresses on the hinges that fatigue the metal rapidly and eventually cause failure of the hinge welds. The improvements the open source technicians wanted to give you involved adding an additional hinge higher up to solve that problem. The MS certified technician couldn't offer the same service because Microsoft doesn't give people the correct hinges to make those changes. As a result of only having the welds themselves repaired -- treating a symptom rather than solving the actual cause of the problem -- your gates' hinge welds will break again in two or three weeks. Because of this, you're going to have to get the welds fixed again. Luckily, OS Ironworks has a complete solution contributed to its patch queue, and after the patch has been examined thoroughly in a month (bear with me; I'm using larger numbers than would be likely, since a complete patch would more likely be fully tested in a few days with a popular open source project) you can download the new gate model for free. Alas, the hinge welds you just got repaired will probably break one more time while you wait, because you didn't let the open source technicians apply the ultimate fix on the spot, but at least it'll only be once. Unfortunately, MS Welders doesn't have a complete working fix provided by its certified technicians. They don't have access to the right parts and gate specifications to be able to fully develop a solution and test it a little themselves. All they can do is send in a bug report, and hope for the best. Microsoft will eventually assign someone to look at the problem, probably an intern, and probably after a couple of months. Eight months later, it may have a working fix, but it will take another year to decide whether to include it in the next service pack or wait to include it in the next new gate model. If the former, you get the fix for free -- but if the latter, you have to buy a new gate. While waiting for that decision to be made, a total of about 22 months (almost two years), you're looking at your hinge welds needing to be repaired something on the order of 30 times -- all because you don't have the "source code". How do you like them apples? (edit: math; apparently I can't add)

taylorstan
taylorstan

All you needed was a few screws and brackets to fix those welds....lol :)

NexS
NexS

That there weren't charges for causing a heart attack added to the list as well. But, sure as heaven is holy, it made the guy feel better at the time. It felt like a good idea at the time! In hindsight, the world would be a better place, ha! Best I've seen with gun-in-hand, was my step-brother shooting a clean hole through a flat builders' pencil with an air rifle. However, I do feel the urge to try out this Computing Target Practice...

Neon Samurai
Neon Samurai

If I'd given up, I wouldn't be mucking about with rpm and understanding what package actually broke. I'm still curious to understand what broke and how it would be fixed with a non-rpm based distribution. (edit) the way I see it, I've matched Windows parity.. now to match Deb parity.

pgit
pgit

I never saw any intuit POS application in action. From what you two say (whose opinions I respect) I should ad ":...thank God." I have dealt with a few one-off POS systems, the first I ever encountered was a custom Unix system written back when a store front had coders sitting around inside waiting to do such things for you.

CharlieSpencer
CharlieSpencer

However, none of that involves me putting on an apron, gloves, and a safety mask and learning to weld myself. I can rip the MS gate out completely and bring in a second OS one, but I still won't have a use for that free welding equipment / source code.

wizard57m-cnet
wizard57m-cnet

But, since you opened the can, might as well compare the worms. Apple Gates, of course, are never "owner servicable" and MUST be referred to a "Genius" somewhere...at which point the owner/user will probably be told there is NO PROBLEM with your gate, that your house is simply too far away, and you should move the house closer, or, that the owner/user is holding the handles to open the gate incorrectly! The welds do not break, since they are surrounded by the reality distortion field, and if they did break, the RDF would keep the gates in place! After continuing arguments, the owner/user will probably be told that they needed new Apple Gates, using completely new hinges and locks that are not compatible with any they currently have, but never fear, the market for "used" (read, obsolete) Apple Gates is so good that the TCO will be more than worth the extra cost of new Apple Gates if they can sell their old broken rusty ones! BTW, they also have handy dandy iApps for Apple Gates that will allow you to remotely operate your gates, BUT, only if you purchase approved Apple Gate Peripherals, and the corresponding network plan from their "partners". Any owner/user attempted gate repair automatically voids any warranty, so there is no need for tools to fix Apple Gates, which don't break or rust anyhow inside the RDF! They're "magical and revolutionary"! Hehe...sorry, couldn't resist!

CharlieSpencer
CharlieSpencer

I'm from the South; we can fix anything with WD-40 or duct tape. :D

HAL 9000
HAL 9000

I fixed the situation where a computer had both barrels introduced to it. But fixing it would have been very easy however it was just faster to give the guy a new one. However it would have been possible to repair it so that it didn't show any signs of damage and still have the same serial number. Probably a bit more importantly the owner didn't want to shoot the guy running the PC Side of the business any more so I saved the staff problems even if the Guy running the PC side of the Business was screaming out about the amount of Money I cost him. :D Funny thing was that 3 months latter I got a call from the guy with the Shot Gun and he wanted to buy a Main Frame through me. Eventually I think he was responsible for selling about 15 of the Big Units along with the Service Contracts solely on the strength of the service he got from me. Seemed that the people concerned where impressed that a Shot Gun could be used out of sheer frustration and the guy was made happy. If I could do that for him just how well was I going to look after them? ;) Naturally as I was the Tech I didn't get any Commission on the sale of those units or any that I sold to the clients either. :_| Col

NexS
NexS

That you fixed a computer which was destroyed by the shotgun? In 'fad-language', "You got da mad skillz".

HAL 9000
HAL 9000

It was a woman who threw it out the window. But it was most defiantly a guy who introduced that original IBM Desktop to the business end of a Double Barrel Shot Gun. I was working on the Main Frame side when I got called into that because the guy running the PC side of the Business had run away to hide. Accountants seem to think that they always save money no matter how much they pi$$ people off. I would have paid money to see the head of the PC side of the Business deal with that person provided I was behind Bullet Proof Glass. The quite happily fixed the mess up to the Customers Satisfaction. :D Col

Sterling chip Camden
Sterling chip Camden

The only time I've found this useful is in languages like C++ where type conversions are somewhat more involved. For instance, the public interface to a function might take a null-terminated string, but internally it needs a CString for some reason. So the interface argument is called lpszFoo, while the internal variable is strFoo. Add BSTR and VARIANT into the mix and you get three or four variables all named the same thing except for their type. But that use case is a symptom of a language with a crappy type system rather than an instance of good naming conventions.

Slayer_
Slayer_

I don't know what displayed value contains, only that it contains the value displayed to the user, generated by another script. It is a generic holder for a generic variable. The script I posted is a script contained in a Matrix, which is then compiled and read by a VBA project, which is compiled by a container program.

apotheon
apotheon

> Besides, to me it is self documenting. Code should be self-documenting to the next guy who has to look at the code, too. > s, v, etc. s means its a string, v is variant. I figured the s meant "string", actually. > Its an old data type notation back before objects were commonly used, thus requiring more than the old "obj" prefix. It's a simplified version of a misapplied form of what we call Hungarian Notation, which is (by the way) widely regarded as generally useless. You don't need to have an obvious indicator of the data type every time you look at the variable name. What you need out of variable names is something descriptive of the "why", of what it is from the point of view of the design of the software -- not the "what" of how the language makes you implement it. In fact, in most cases the data type should be perfectly obvious based on how the variable is being used, anyway. > As for camelcase, reaching for shift is much easier than reaching for underscore. Taking a fraction of a second more to type something is nothing compared to taking several seconds less to read it, especially when one must read a particular piece of code many times during maintenance, but only type it once when writing it in the first place. The difficult part of programming is thinking about it, not typing it. > Also, Underscore is the "continue on next line character" and can make code very tough to read if in the middle of a variable name. I'd forgotten about that. What a miserable language. . . . > A string that is apparently displayed, how is this not self documenting? Displayed . . . how? Of what is it a value? Why should it be displayed? You may not be able to fit all of that into a reasonable variable name, but you should be able to fit *some* of that in there. Won't the fact it's displayed be made obvious when you see the code that displays it? Embedding that in the variable name is just unnecessary redundancy. You do not need to document the same fact several times. > Mid is a VB function, short for middle. Other languages use SubString. SubString is often a method or property of the string class. In VB its a function of the VBA class. What a miserable language. . . . > CDbl is Convert to double. That doesn't change the fact it's a cryptic label name. If other means of achieving the same end are more cryptic, that doesn't in any way excuse the language for cryptic syntax.

Slayer_
Slayer_

Besides, to me it is self documenting. If you know the language. s, v, etc. s means its a string, v is variant. Its an old data type notation back before objects were commonly used, thus requiring more than the old "obj" prefix. As for camelcase, reaching for shift is much easier than reaching for underscore. Also, Underscore is the "continue on next line character" and can make code very tough to read if in the middle of a variable name. "sDisplayedValue" A string that is apparently displayed, how is this not self documenting? Mid Mid is a VB function, short for middle. Other languages use SubString. SubString is often a method or property of the string class. In VB its a function of the VBA class. CDbl is Convert to double. In VBS, the implicit conversion is lousy (pretty much everything is assumed to be a string), you need to specify everything, and saying Cdbl around every number is more self documenting then saying 100# or 100&. Both of which means 100, but the # means its a single or a double, and & means it is a long. Yuck.

apotheon
apotheon

I find camelCase less readable, particularly in dense code, than snake_case. The former starts making everything look the same when quickly scanning a page, whereas the latter provides some kind of notable indication that there's a story to be told by the code (such as a method called get_last_response or a variable called relative_path). I don't so much mind camelCase when used for rare, special things, like class names -- but using it for methods and variables seems to encourage obfuscating brevity and eliminates clear delineation between sub-terms. As for cryptic labels: sDisplayedValue requires the reader to know what s abbreviates. The same goes for the rest of the single-letter prefixes in the code. Mid is an undescriptive abbreviation. vReturnVal tells me something is a return value, but not why or with what meaning. I have no idea how one would not notice that CDbl is a cryptic label. Code should be self-documenting as much as is reasonably possible. That doesn't mean telling me something is a string value, either. It means telling me the purpose of something, where and how it is used, and/or why you chose to do something when and how you did it.

Slayer_
Slayer_

I got to ask, why hate camel case? And what about those labels are cryptic?

apotheon
apotheon

That was pretty horrifying. It doesn't help that I loathe camelCase and cryptic labels for most purposes.

Neon Samurai
Neon Samurai

I've run into it once or twice before; draft out a nice reply, paste it into the TR input form, recieve error "title and message text required" (or similar). It's a little frustrating when I'm looking at two fields with values in place and being told that the fields are blank. (me smells an injection point maybe..) In this case, I copied my notes and added some comments around them for clarity but TR wouldn't recognize it so I fired it off to you by email and left the brief summary here instead.

apotheon
apotheon

I'm one of the "Other" respondents, certainly.

NickNielsen
NickNielsen

From what I could tell at the time, all Intuit did was slap a POS module into Quickbooks without thinking through all the ramifications. The database was rudimentary, reports were confusing, and, rather than allowing Windows to manage the POS devices, Intuit decided to let the app do it. And if you didn't buy the hardware packaged from Intuit, devices crashed so often, it seemed the program's primary function was to render the scanner and cash drawer unusable. It was several years ago and I was only there a couple of times to replace hardware in that PC. The customer roped me into checking out the POS peripherals as well. Since it was an hourly contract, I didn't mind too much... ;)

pgit
pgit

http://www.youtube.com/watch?v=teMlv3ripSM Monty Python "argument" sketch. JK of course... couldn't resist after all the back and forth. FWIW I knew what you meant from the outset. You weren't 'imposing' a universal reality, you were stating a personal reality.. Basically having source code doesn't make any difference to you so far as ease of fixing an OS, application or what have you.

apotheon
apotheon

I don't think I've seen anything in these discussions suggesting that you, personally, will directly benefit from having the source code to an application at your fingertips when trying to fix a problem yourself, without any outside help, if you are unable or unwilling to actually do anything with the source -- all else being equal. Every response I recall seeing, to which you reply that the source doesn't help you, has one way or another effectively taken the form "Yes, but . . ." where the "yes" is "you're right, as far as that goes," and the "but" is "in the real world, there are all these circumstances where the availability of the source makes a difference, even if only sometimes." One of the example situations that makes that point was the one that started this specific subthread, with the gate analogy. So . . . yes, you're right, within the narrow confines of your particular area of focus in this discussion, if all else is equal, as far as your statement goes. On the other hand, there are many circumstances where availability of source code does help, and that even includes circumstances where you're the person it's supposed to help -- at least indirectly. Given that this all started with an article suggesting that it's easier to fix one family of OS than another, and given that your entire point on this specific matter (availability of source) is that it doesn't make a difference within a specific set of circumstances, I think the point is admirably made in a number of different ways that: If you're trying to determine which is easier to fix overall, and if all else is equal, the one with the source code available is easier to fix. Period.

CharlieSpencer
CharlieSpencer

I'll put up with that from Chad!! Also, it's going to be a cold day before I watch anything on Youtube that runs 6 minutes and isn't 'Classic MTV'.

CharlieSpencer
CharlieSpencer

I stand by my initial reply to Jaqui. I regret any post that gives any other impression. My having the code doesn't allow ME to repair an OS, any OS.

Bernie S
Bernie S

Having access under the hood may not always help me fix my car, myself (I'm not a mechanic), but the fact that it's not welded shut or locked down by the manufacturer to prevent anyone else from working under the hood, sure as heck does make it both easier and cheaper for me to get my car fixed, when something has gone wrong.

CharlieSpencer
CharlieSpencer

"I thought you were saying that having the source doesn't make you more able to fix it yourself ..." Exactly. "... you were making that argument in response to someone who wasn't talking about the very narrow case of only being able to fix it yourself, so it was kind of a non-sequitur." I've gone back to my original reply to Jaqui ("The code to either (OS) would do me no good, and I suspect most users of both OS are equally ignorant.") I see it as an appropriate response to his "Linux (is easier), of course, since you HAVE THE SOURCE TO FIX IT!", but that's a judgement call. I interpreted his 'you' as second-person singular. On re-reading, I guess it could be plural; that would make my comment off base. "...you started the whole conversation by positing an analogous situation in which you were seeking outside help." Again, we're in agreement. "What ... is the point of discussing an analogy in which you're seeking outside help if your real point was how easy it is to fix something without outside help?! I'm not sure what gave you the impression that was my real point. The whole 'iron gate' analogy was to demonstrate that just giving me the tools isn't going to enable me to make repairs without my investing the time to learn how to use them, time I see as a poor investment since I won't use them very often, time that others have already spent and that I don't mind paying them for. As far as I can tell, my position has been consistent. I'm not sure where I gave you another impression, but toss up a link and I'll take another look.

apotheon
apotheon

Maybe you can explain something to me, then. I thought you were saying that having the source doesn't make you more able to fix it yourself in a different subthread, of course. That was pretty clear. At the time, however, you were making that argument in response to someone who wasn't talking about the very narrow case of only being able to fix it yourself, so it was kind of a non-sequitur. In this subthread, however, you started the whole conversation by positing an analogous situation in which you were seeking outside help. What the f- . . . heck is the point of discussing an analogy in which you're seeking outside help if your real point was how easy it is to fix something without outside help?! I think you've forgotten which argument you were making in this case.

CharlieSpencer
CharlieSpencer

My point is "Having the code doesn't help ME fix it myself." Having it publicly available certainly makes it easier for someone else with the skills to use it to fix my problem.

apotheon
apotheon

1. Who said everything you use has to be open source? 2. Why do you think I'm talking about the tools used to fix software here, rather than the software you want to fix? 3. Who said every fix requires source code? You're attacking an army of straw men and ignoring the actual argument that I made. With this clarification of yours, you aren't even talking about the same thing as Palmetto any longer -- let alone talking about the same thing as me.

wizard57m-cnet
wizard57m-cnet

Having source code available can be helpful in fixing something that's broke, if you are fixing it yourself. However, not all tools to fix something need be open source. I don't need to know how to forge my own pipe wrench to use one to fix my clogged drains! Pipewrenches can be purchased ready-to-use at your local hardware/home improvement store! I'm sure if I hunted long enough, I could find the schematics and instructions to dig my own iron ore, build a smelter, stoke the fire, melt the iron ore, build a mold of the pieces to assemble my pipe wrench and cast them in the molds. Wait for the castings to cool, temper them, file/grind as needed for proper fit, put all the parts together and voila...my very own handbuilt pipewrench. Both methods arrive at the same result, a pipewrench to take the plumbing apart to clear the clog. Using the ready-made pipewrench might be more convenient though...or you could just call a plumber and they'll bring their own tools. Whether or not they cast their own tools is their choice. Not every problem with a computer requires the source code to a solution, even with Linux. Sometimes a simple edit of a config file will "fix" the issue, no need to dig through hundreds of thousands of lines of code. You don't always have to reinvent the wheel to get the cart moving.

apotheon
apotheon

Palmetto's point is "I can't see how it being open source makes it more fixable." I'm trying to explain it, but he is (and apparently you are as well) unwilling or unable to get that. If you think MS Windows "professionals" have tools equivalent to those available to people who work on open source Unix-like systems, you are not sufficiently familiar with one, the other, or both to be able to comment knowledgeably on the subject.

CharlieSpencer
CharlieSpencer

But as you pointed out, it's a fun diversion. It got ccrvic on board.

wizard57m-cnet
wizard57m-cnet

namely that for the majority of people in everyday contact with a "computer", it doesn't matter whether the tools to "fix" a misbehaving system are "open source" or "closed source" because outside of "normal maintainence" tools, they won't be used except by "professionals". Using the gate analogy, not everyone that has iron gates installed owns a welder, cutting torch, brackets, cranes, lifts, etc. to repair and/or replace a broken gate. They call "Acme Gate Service" (to borrow a euphamism) and expect them to have the tools and expertise to use them. If Acme has certification with MS gates, they more likely as not have the tools and parts needed to fix them. If the owners gates are more "generic", off-brand, Acme may or may not have the parts in stock, but probably knows where to find them. Acme would not expect every owner to have in their possession each and every tool and part to fix the broken gate. The owner is expected to maintain lubrication of the moving parts, to have small tools like a set of sockets and drivers, wrenches, etc. to tighten loose nuts, and not abuse the gates by bashing into them with automobiles, sledge hammers, or hacksaws. Same is true for computer operating systems. Routine maintainence by the user is expected and should be encouraged. However, extensive repairs may be best left to professionals, irregardless of which OS it is. In essence, Jack's entire test FAILS, on so many fronts it would take too long to ennumerate on this space. Flamebait? You bet! Informative? NO! But a fun diversion!

apotheon
apotheon

Let's say there's a guy who loves his OS Ironworks gate, and has actually learned to use all that welding equipment. Let's say you ask him for help with your gate, and he graciously agrees. He can fix the weld, but he can't add an additional hinge to solve the root of your problem because the hinges he has for his gate aren't compatible with your gate. He knows a lot about modifying the gate, but not quite enough to modify the hinge itself to make it compatible. Luckily, you got extra hinges with your gate (some source code) that actually match your gate. Oh, whoops -- you decided that you didn't need those extra hinges, so you threw them away. Oh, well. Now your helpful neighbor has to go download the hinges that are compatible with your particular gate. It's not a big deal, but it does take a little extra time -- and, as it turns out, having those extra hinges was useful after all. edit: Actually, screw all that. It's much simpler than that. I'll step out of the analogy for now. You may not actually ever use the source directly. That's up to you, of course. The guy who comes over to help you with your issue might use it, though. If it was made into closed source software because you in particular feel you don't need the source, the source code is available to nobody. As a result, the guy who comes to help you can't use the source (Luke) to help you, since he doesn't have it either. By dismissing the importance of having the source code, you essentially argue against the guy helping you being able to help you. Good luck with that approach. While people say that you are helped by the fact that "you have the source", what they really mean is that you are helped by the fact that "the source is available". I thought that was perfectly obvious, but apparently you interpreted it as "you have a CD containing the source in your hands", for some reason.

apotheon
apotheon

That fits the analogy pretty well, I think.

pgit
pgit

1) If it moves and it is NOT supposed to: duct tape 2) If it doesn't move and it IS supposed to: WD40 We also have a few other tools similar to WD40. Up north here where they salt the roads all winter long things can get bound up tight and rusted nearly clean through in a season. For the tough characters we use Liquid Wrench, or even a blow torch sometimes.