8 ms·
Free Software Is More Reliable (2011)
- jqpabc123 6y agoSo back in 1990 and 1995, they compared GNU utilities to commercial utilities? And this is the proof that "free software" is more reliable??? Is it also proof that "free software" is several decades behind?
- FartyMcFarter 6y ago> Is it also proof that "free software" is several decades behind? Not sure what you mean by this, could you elaborate?
- verdverm 6y agoThere is an opinion that commercial software often has more of the features desired by users, and also that free software is underfunded and often lags on development velocity
- PeterisP 6y agoNot the OP, but using comparisons of 1995 software to try and make a point about the current software situation is some indication that people making that argument are several decades behind. The software that we use in 2020 and need to be reliable in 2020 is quite different than 25 years ago, heck, the platforms running the software are quite different - in 1995 you'd be using some program running on an OS on your computer (or through a remote terminal on some other computer); in 2020 you'd be using some program running on a distributed set of cloud servers through a browser sandbox - and the way how the reliability of that remote system is maintained is simply different from how you'd ensure the reliability of a local utility program. That 1995 study is perhaps interesting enough to suggest doing some experiments again, but currently it's outdated enough to be simply irrelevant.
- oblib 6y agoIt's a notable and interesting look back in time. That's when I was just getting started with opensource software.
- bserge 6y agoIn modern times, that statement still holds. In the sense that you don't risk losing everything if the company providing the software (often as service) goes under, stops development or simply decides to "pivot" their product into something else. You can build, maintain and host it all yourself.
- new_realist 6y agoIf the service is at all useful, some other provider will enter to fill the void. You should never trust any service which doesn’t allow you to download your data, OSS-backed or not.
- xkcd-sucks 6y ago"The market can remain irrational longer than your runway"
- pkamb 6y agoDealing with this now with SourceTree. Development is completely dead. I don't want to use a new tool. I just want to fix a couple bugs. I'd do it myself if the application were open source...
- DC-3 6y agoCouldn't help but giggle at the inserted [GNU/] in that quote.
- warkdarrior 6y agoThe correct URL is: gnu-https://gnu-www.gnu.gnu-org/gnu/software/gnu/reliability.gnu/en.gnu/html https://gnu-www.gnu.gnu-org/gnu/software/gnu/reliability.gnu...
- MattGaiser 6y agoThis seems to be more “Linux is more reliable” rather than free software in general is more reliable. I suspect this would hold less true as maintainers became fewer and far between and resources became less available.
- danShumway 6y agoIt seems like this shouldn't be the case, at all. Commercial software has a more obvious reason to avoid breaking your stuff and to try and track down bugs. But surprisingly, I've noticed the same thing -- that for me, Free software tends to break less often than proprietary software, that it tends to introduce fewer breaking changes to my workflows, and that when it does break, it tends to get patched more quickly and to (at worst) be easier to work around. This is highly anecdotal (and there are some exceptions). I wouldn't make a general, bold claim like the article is making about it. But noticing that general pattern with the software that I use has been one of the biggest driving forces behind me adopting more and more Free software into my core workflows as a policy. In general, if a Free alternative to a proprietary solution exists, I'll choose the Free one even if it has fewer features, because I assume that the proprietary version will eventually be more trouble than it's worth, or that it will eventually break in a way that significantly disrupts what I'm trying to do. I'd be skeptical of saying something empirical about that, I don't know that other people using other software wouldn't have different experiences than me. But I do find myself kind of nodding along with the article. A lot of the Free software I use, I use for practical reasons -- because I want to get work done, and I don't want my computer to break while I'm trying to get work done. Other people's mileage might vary.
- aflag 6y agoI think work arounds being easier doesn't really need any empirical data to back it up. By having the source code, a lot more people will be able to make sense of it and figure out how to change (or even fork) the original software. I'd say that's pretty much a corollary. On the other hand, I think free software probably tend to break backward compatibility less mainly because it moves at a slower pace (be it because it's designed by committee or just lack resources). With software as a service in special, breaking changes is sort of the industry norm. So, there's also that cultural component to it. But it's difficult to measure the rate at which free software introduces breaking changes vs proprietary software.
- nwah1 6y agoI think for something such as a unix-style CLI tool that does one thing, and one thing only, non-commercial community-driven development works great. For anything else, not so much. It is not possible to imagine a video game produced by an open community, because it requires the vision of an auteur, not design-by-consensus. That requires hierarchy, or solo development. Both realistically require a lot of resources and thus are overwhelmingly commercial in nature. The year of the linux desktop seems to never arrive because all of the support and integration of the various components requires constant application of labor by an army of people, if it is to be usable. Android and Ubuntu might be able to succeed, but "the community" will not. The community can maintain stuff that is "boring," where there is no controversy. When the right approach is clear to all. The community can write an emulator, but cannot write a video game. It can write a kernel, but cannot support a whole distro that "just works" for normal people. Maybe in some distant future when there is no constant churn of new features and drivers and rewrites then we can have an open community-maintained distro that actually works for a normal person. Doubt such a time will ever arrive, but if it did then and only then would OSes become boring. Web rendering engines are complex and happen to be open source nowadays, but are commercially supported and wrapped in proprietary packages. Mozilla is failing to keep up with gecko, so the last non-commercial rendering engine is dying a slow death. It was able to succeed somewhat because following standards is straightforward and thus can be considered "boring." Some have likened browser development to emulator development. But packaging it all up nicely and providing the best possible user experience? I wouldn't count on it.
- iphorde 6y agoHahaha, this is joke right?
- deleted 6y ago[deleted]
- wilt 6y agoIts often cheaper to hire a few devs to work on opensource projects your company relies on than pay for some proprietary software. Also allows you to retain control too.
- dpeck 6y agoI suspect much of it has to do with the number of unexpected scenarios that widely deployed free software encounters. It doesn’t cost anything and any random person within an organization can figure out how to get it running and try it out (and submit patches/big reports/etc). Whereas most commercial software sees relatively few different deployment scenarios since they were built and bought to a smaller set of things.
- JeremyHerrman 6y agoAll of the reasons they give for free software (or more specifically mentioned in the article, "gnu software") apply to good ol' open source software too (which is free as in free of FSF dogma & rms). Let's look at the reasons: > free software gets the whole community involved in working together to fix problems. > developers really care about reliability > an author who makes the source code available for all to see puts his reputation on the line, and had better make the software clean and clear, on pain of the community's disapproval. The injection of [GNU/] in the quote is pretty funny too.
- panny 6y ago>an author who makes the source code available for all to see puts his reputation on the line, and had better make the software clean and clear, on pain of the community's disapproval I've produced clean, well documented, 100% tested code, with examples, and have been met with disapproval from the redditor community. Some complaints, >Someone already did that. Mine is better in some way. >The scope of your project is too big/small. Okay Goldilocks. >You wrote it in language x and I need something in y Yeah, sorry for your loss buddy. >Your language choice doesn't allow for some language feature that would make this easier to use I look forward to seeing your implementation in that language then. I give zero fucks about community disapproval when I am already giving away my work for free. If anything, the community is likely to steer me away from making more contributions, because when you're Billy the Kid, everyone is trying to shoot you in the back for the cred.
- phone8675309 6y agoThis is why I've stopped working on free software. Yes, the minority ruin it for the majority, but the majority, at the end of the day, don't have to read my inbox.
- chaos_a 6y agoreliable, but rarely ever use friendly. Usually the UI designs (if any) are done by a software developer which typically leads to UI layouts that are difficult for new users to learn. Command line interfaces are inherently not user friendly which is what almost all of GNU's software packages use.
- naringas 6y agoI think this has something to do with the sense of ownership behind the software. An open source software is owned (literally and figuratively) by the people writing it, hence they will take care of it as they take care of their own. On the other hand, propitary software is owned by some company (and its stockholders); it is written by employees payed to do so. The employees will come and go, only the company will remain; naturally this reduces the sense of ownership any programmer may have over the code and with it, the quality of the software. this is, of course, a very broad generalization riddled with exceptions and special cases. Not all software is alike.
- bmitc 6y agoThis is a pretty weak argument and one that is obviously biased from the start given the source. I'm generally pretty hard on most software being much less reliable than you'd think or want it to be, close or open source. But in my personal experience, I've had plenty of closed source, proprietary software bugs fixed by the company that makes the software. In fact, I'd say the great majority of bugs were fixed if not all. I've never had a bug fixed in open source software I've submitted bugs for, and I've even had trouble getting them even assessed as bugs in the first place.
- yjftsjthsd-h 6y ago> But in my personal experience, I've had plenty of closed source, proprietary software bugs fixed by the company that makes the software. In fact, I'd say the great majority of bugs were fixed if not all. I've never had a bug fixed in open source software I've submitted bugs for, and I've even had trouble getting them even assessed as bugs in the first place. Did you pay them as much as you paid for proprietary software?
- bmitc 6y agoIs that a fair argument? I thought the argument made in the article is that free software is more reliable. I do not want to pay a la carte for bug fixes and feature requests, and I definitely don't want to go through the processes required to do so. Even if I did, then that is no longer free software, is it? If someone wants to charge for a bundled or packaged piece of software, then go for it. If it satisfies a need, is useful, and gets good support, then I have no problem paying for it or requesting for it to be purchased.
- yjftsjthsd-h 6y agoIt's GNU; when they say free software, they mean "free as in freedom", not no-money-involved. You would not be the first person to find find this word choice... unhelpful.
- 6y ago
- schoen 6y agoI remember being impressed by this article when it came out, but while this metric (about bugs found by fuzzing) is appealing, it's confounded by a lot of other factors—like development environment and language, coding standards, whether the project is regularly doing its own fuzz testing, whether the project makes effective use of high quality libraries, whether people who wrote important parts of the logic are super-sticklers for taking particular precautions... In particular, one development that way postdates this study is that lots of software projects started doing their own automated fuzz testing (but lots of others didn't). There are free software projects that don't do this, and there are proprietary software projects that do, and vice versa. A particular shock for people like me who had internalized this and also ESR's "many eyeballs make bugs shallow" and also the same-day Linux kernel patch for the Ping of Death was that Microsoft started spending a billion dollars a year or whatever on improving Windows code quality and security around 2007—and it actually worked! Also now Microsoft Research people are doing a lot of formal methods stuff (although I don't know how much their work influences Microsoft's software products). I think factors other than whether software is free or proprietary are now dominating for their influence on code quality metrics. (See also https://mako.cc/writing/hill-when_free_software_isnt_better.html https://mako.cc/writing/hill-when_free_software_isnt_better....)
- devit 6y agoThe basic difference is that free software is made by people who strive to write perfect software, while non-free software is made by people who strive to continue receiving a wire transfer at the end of the month by people who strive to be authorized to charge credit cards.
- jhardy54 6y agoOpen source contributor / maintainer here: I don't strive to write perfect software, I strive to use software to satisfy my constraints. Software is tool to be used, not a holy artifact that should be polished for its own sake. The time I've spent working on software is only a proxy for the things I really care about. - Sometimes I need to pay rent, and will work for projects that are a net positive when compared to the status quo. - The rest of the time I'll volunteer my software engineering skills on projects that are closest to my ideals. These rarely generate revenue, but push the envelope a bit and help me develop relationships with other like-minded folks.
- glouwbug 6y agoHaving your name tied to your publically available code is a strong insentive to make it look good
- Waterluvian 6y agoI find two things to be true and a desire to have both or at least balance them: Free software is usually more reliable. Commercial software usually has better UX.
- woodruffw 6y agoI don't know whether free software is more reliable than proprietary software (I certainly hope it is, since I've been a daily Linux user for almost a decade now), but I do know GNU software in particular is not reliable in absolute terms: many GNU projects are popular punching bags for evaluating fuzzers, and have been for years because the bugs never get fixed.
- shadowtree 6y agoCounter-examples: Printing, 3d acceleration, Sound. Also package hell. I'll just update this one thing ... 16 hours later you're at kernel level. I don't know, no broad brush statement works here.
- clircle 6y agoMy experience upgrading Ubuntu and Arch installations says otherwise. I gave up years ago and always do a clean install now.
- yjftsjthsd-h 6y ago...you do a clean install of a rolling release distro rather than updating it in place? How does that work?
- lupinglade 6y agoThe exact opposite is generally true.
- allenu 6y agoI can see how popular free software can be more reliable since you have a critical mass that uses it regularly as well as can fix bugs as they come up. However, there's a bit of survivorship bias here. Free software that is unreliable may never reach critical mass in terms of user base as well as open source developers, i.e. a sort of "Great Filter" applied to FOSS
- QUFB 6y agoWith all due respect to the author here, the arguments presented aren't particularly compelling. > Apologists for proprietary software like to say, “free software is a nice dream, but we all know that only the proprietary system can produce reliable products. A bunch of hackers just can't do this.” Absolutely no one says this anymore. In 2014, when the article was written, almost no one would say it. > Barton P. Miller and his colleagues tested the reliability of Unix utility programs in 1990 and 1995. Each time, GNU's utilities came out considerably ahead. That's great, but it's 2020 now. The FSF has done awesome work, but they might be better served presenting modern research and evidence about the reliability of free software.
- muppetman 6y agoThat was exactly how I felt too. The examples given were laughable. I get that those are simple programs and it's easier to test them, but if you can't test the bigger/harder stuff easily, how can you make a claim as to which is better?
- duckerude 6y ago> In 2014, when the article was written The original version was written in 1997: https://web.archive.org/web/19980126190044/http://www.gnu.org/software/reliability.html https://web.archive.org/web/19980126190044/http://www.gnu.or... Pages like these should still be kept up to date, of course.
- boomboomsubban 6y ago>Absolutely no one says this anymore. In 2014, when the article was written, almost no one would say it. The sentiment is echoed multiple times in this thread, maybe shifted a bit to account for the clear examples of success available today.
- nijave 6y agoIn 2020, you can learn enough about programming in a 6 week bootcamp to be an effectively contributor at many companies. I'm not sure it was so easy in 1995. That said, I think the variability of free software has greatly expanded. There's piles and piles of poorly written garbage in package repositories now like npm, pypi, maven, rubygems, etc since it's so easy to publish code. I think it's also worth noting a lot of popular OSS and FSF still has massive commercial interests backing it. Maybe Linux is free but that doesn't change all the huge companies pouring massive amounts of money into it (Microsoft, Google, Amazon, IBM, etc) When this article was created, there was hardly a concept of SaaS like there is now but look how popular Github is vs Gitlab
- l0b0 6y agoFree utilities with well-defined success criteria (cat, tac, head, tail, ls, rm, cd, etc.) are generally rock solid. And there are some examples of excellent desktop software (Firefox, KeePass.?.?, GNOME Terminal). However, many GUI applications have the kind of decade-old bugs and UX which means I really can't recommend any of them, and I only use them because I don't trust the intentions of their closed source equivalents. - Calc seems to have fewer graphing options and mathematical functions than the last Excel I used back in 2009. - Thunderbird keeps randomly losing emails when dragging and dropping things between folders, and incoming email filters only work some of the time. - GNOME Evolution doesn't seem to be able to save draft emails while offline, so I just have to hope that I get online to send it before GNOME desktop has one of its moments. Weekly recurring calendar entries seem to be split up into daily recurring ones in recent versions. Search is interminably slow compared to any other client, including Thunderbird. - Darktable has absolutely oodles of features, but I can't tell what anything does except by trial and error. F1 doesn't seem to do anything other than scroll to the currently selected folder, and there's no help to be seen. "Collect images" keeps reverting the view to unordered "film roll", which is useless with a big collection. The devs refuse to add file handling code[1]. It's currently using 400+% CPU while not showing anything happening. [1] https://www.darktable.org/about/faq/#faq-rename-files https://www.darktable.org/about/faq/#faq-rename-files
- deleted 6y ago[deleted]
- Havoc 6y agoMaybe. It’s almost a non factor for me though. Much bigger one is not being at the mercy of whatever latest price change/monetization drive bus the commercial side is trying to throw the consumer under
- deleted 6y ago[deleted]
- frabbit 6y ago"Commercial" versus "Free Software"? Really? RedHat has been providing commercial Free Software for a long time now. And an excellent job they make of it too.
- john_moscow 6y ago>They tested seven commercial Unix systems as well as GNU. By subjecting them to a random input stream, they could “crash (with core dump) or hang (infinite loop) over 40% (in the worst case) of the basic utility programs…” As an end user, the least thing I care about is how the program behaves under some synthetic circumstances that I will very likely never encounter. The thing I care the most is how much effort (physical time and also distraction) does it take to solve my typical workday problems with certain software. And, based on my experience, GNU tools very rarely excel at this metric. I even have a fairly good assumption on why this is the case. Making software that works intuitively for most of your end users is a painstaking process. You need to research your market, document and prioritize use cases, run tests, update documentation, listen to feedback, quantify and prioritize it, provide support to your users. Then a thing or two changes about the "typical" workflow, or another OS version comes out, or some library you have been using gets broken, and you're out of tens of hours to fix it. And after you're done, the end user will install an update and think "nah, nothing changed, why did I bother updating?". You've freed your end users from mind-numbing grind by grinding it yourself for them. You're not gonna be doing that unless that software is bringing in enough money to justify the hassle. There are numerous much more pleasant things to do in one's free time. What free software is good at is proof-of-concept solutions. Someone looked at a tough problem and spent some evenings making an elegant solution. Or got some cool idea that might work and demonstrated that it does under one set of circumstances. Or implemented a cool algorithm from a research paper. It is a mentally rewarding thing and many people would do it for fun. But in most of the cases it's not enough to make a great end-user product.
- gumby 6y ago> What free software is good at is proof-of-concept solutions. Someone looked at a tough problem and spent some evenings making an elegant solution. That's pretty dismissive of gcc, clang, linux, apache etc. "some evenings", eh? By 2000 I'd put probably $60M into gcc alone. > The thing I care the most is how much effort (physical time and also distraction) does it take to solve my typical workday problems with certain software. And, based on my experience, GNU tools very rarely excel at this metric. Whereas based on my experience it excels, in particular over software that only, or primarily works with a GUI. The GNU tools in particular are optimized for their target end-user base. You may happen not to be in it. Nothing bad or good about that; there's plenty of stuff for which I am not in the target user base. It just seems odd you are so casually dismissive. > As an end user, the least thing I care about is how the program behaves under some synthetic circumstances [fuzz test] that I will very likely never encounter. Actually you care a lot that your program is robust against fizz tests like these, for security and accident reasons... or you will care if it has not been subject to such tests. Just as you care that your car has been crash tested "under some synthetic circumstances"
- TulliusCicero 6y agoMy personal experience has been different. Windows has been reasonably reliable since, oh, Win2k pro or so. These days, I never encounter full OS freezes or crashes, but I do encounter them occasionally at work, using Linux.
- young_unixer 6y agoFree software and proprietary software have big incentive problems, but the problems are different: In proprietary software, acting in a scummy way many times doesn't result in loss of profits, it may even increase profits. Free software has the problem that usually there are no hierarchies and, consequently, no responsibilities. That makes it harder to imprint a coherent vision on a project. It also makes it harder for non-software people (graphic designers et al) to join, since complex cross-discipline ventures require a lot of organization and structure. QA, writing docs and other "boring" jobs become an afterthought. I think the way to fix this is making free software organizations akin to commercial entities in their internal organization: have bosses and pay salaries, but still be non-profits so that the incentive to be scummy is small. The source of income being, obviously, donations.
- WalterBright 6y agoI'm not at all surprised. With free software, everyone knows who contributed what to the project. If it's lousy work, your name is attached to it. If it is great work, your name is attached to it. There are powerful reasons to do good work. For closed source, however, nobody outside the company knows what your contribution actually is, so there is less incentive.
- dgentile 6y agoFree Software is amazing. I love emacs, Firefox, bash, zsh, nginx, postgres, llvm, linux, freebsd, and many other packages. But, I think that there are two points to be made with regard to commercial software. 1: Domain specific programs, and polish. Logic Pro X, Final Cut Pro X, Ableton, Cubase, Premier Pro, are are excellent pieces of software that people pay for and use every day. Where is the free software equivalent that isn't glitchy and has a usable, slick, ui? The more specific the case gets, and the less related to systems a Free Software project is, the less likely it is to exist or have any polish. I can list Postgres, Redis, Linux, OpenBSD, NetBSD, NodeJS, WebKit, SpiderMonkey, LLVM, GCC, Binutils, Busybox, etc., but where is the free software iMessage, Google Docs, Discord, iTunes, Steam, Google Maps, etc. There may be some of these projects out there for what I just listed, but none of them have a userbase as big as that proprietary software. The only things I can think of are VLC, Blender, and Android. 2: Free Software can only exist with Commercial Software. How many people that work in Free Software are software engineers working at a corporation? What pays for this Free Software to exist? Microsoft hosts github, big enough Free Software projects have budgets and employees at other companies paying for all of it.
- deleted 6y ago[deleted]