Slashdot Mirror


With So Many Eyeballs, Is Open Source Security Better? (esecurityplanet.com)

Sean Michael Kerner, writing for eSecurity Planet: Back in 1999, Eric Raymond coined the term "Linus' Law," which stipulates that given enough eyeballs, all bugs are shallow. Linus' Law, named in honor of Linux creator Linus Torvalds, has for nearly two decades been used by some as a doctrine to explain why open source software should have better security. In recent years, open source projects and code have experienced multiple security issues, but does that mean Linus' Law isn't valid?

According to Dirk Hohndel, VP and Chief Open Source Officer at VMware, Linus' Law still works, but there are larger software development issues that impact both open source as well as closed source code that are of equal or greater importance. "I think that in every development model, security is always a challenge," Hohndel said. Hohndel said developers are typically motivated by innovation and figuring out how to make something work, and security isn't always the priority that it should be. "I think security is not something we should think of as an open source versus closed source concept, but as an industry," Hohndel said.

209 comments

  1. Q: Who's auditing the code? by Anonymous Coward · · Score: 5, Insightful

    A: Other people

    1. Re: Q: Who's auditing the code? by Anonymous Coward · · Score: 0

      Yep, somebody else

    2. Re: Q: Who's auditing the code? by Anonymous Coward · · Score: 0

      Not me, that's fer sure

    3. Re:Q: Who's auditing the code? by Aighearach · · Score: 2

      Exactly! Security audits are not the same as known bugs, so they'll need some new law, some new motivating principle.

      The answer isn't yes or no, the answer is just, "You didn't understand Linus' Law."

    4. Re:Q: Who's auditing the code? by Anonymous Coward · · Score: 0

      Other people that stand to make money if they can convince you to buy the software? Or other people that use the software in a similar manner to how you use the software?

    5. Re:Q: Who's auditing the code? by Anonymous Coward · · Score: 0

      Exactly. Digging through code, looking for bugs is difficult, tedious and boring. So nobody does it. Everyone just says "Hey, it's open source, anyone can look at the code, I'm sure that *SOMEONE* is doing it".

      Meanwhile, nobody is doing it, and serious bugs (heartbleed, etc) go unnoticed for years.

    6. Re:Q: Who's auditing the code? by Anonymous Coward · · Score: 2, Insightful

      Once in a while when I'm bored at work, I'll just pick a random source file in the kernel and give it a good read. Reading other people's code can be a great learning experience, sometimes you may learn of techniques that you were unfamiliar with.

      A programmer who doesn't read other people's code is much like a writer who doesn't read other people's books. You don't NEED to do it, but it can be a good source of inspiration too.

    7. Re:Q: Who's auditing the code? by Moryath · · Score: 1

      FIXING it winds up being even worse. If you're lucky to get someone who notices and reports the bug, there's a good chance the proposed fix breaks something else.

      Like the old rhyme goes.

      "99 little bugs in the code,
      99 little bugs.
      Take one down, patch it around.
      127 little bugs in the code..."

    8. Re:Q: Who's auditing the code? by paavo512 · · Score: 1

      revert accidental mod

    9. Re: Q: Who's auditing the code? by Anonymous Coward · · Score: 0

      How is this different then closed source development?

    10. Re:Q: Who's auditing the code? by Anonymous Coward · · Score: 0

      Essentially "I trust that other people are auditing the code", when absolutely nobody is.

      To be fair, it depends on the code. Something that is heavily used, is more likely to be audited and tested against wider configurations of hardware and operating system conditions. Something that is more of an edge-case tool that is used maybe once or twice during a system's lifetime, or is in constant use, but never interacted with (like most disk maintenance tools) are more likely to go years without a bug being noticed, and only when that edge case it was designed to counter shows up, does the bug ever get identified.

      Like, there are lots of bugs in many tools we use right now, from Chromium (Chrome) and Mozilla (Firefox) that haven't been fixed, or due to politics (eg pushing https everywhere) so "let's encrypt" tools only work with one web server configuration without a a shit-tonne of other cruft being installed,,

      Like it's any wonder that anything works at all in open source. How many different build systems did we go through since 2001? Perl, C Shell scripts, Python, CMake. Yet CMake has been there the entire time.

    11. Re:Q: Who's auditing the code? by Anonymous Coward · · Score: 0

      C/C++ language manually managed memory and buffer overruns.

  2. More eyes by Bengie · · Score: 3, Interesting

    More is better when it comes to bugs that are mostly obvious to the typical person, but doesn't benefit complex code that whooshes over the head of 99.9% of people. My co-workers tell me I have an attention to detail. Some code will get 3-5 people looking at it and testing it over a period of a month or two, then the'll ask me to take a look. Many times I will find several bugs in 10-15 minutes by just reading the code, then I'll have questions about the code and ask them to run some tests that will further find some more bugs.

    I do not trust normal humans to anything technical right. I would prefer languages that work better with static analysis, more free tools to provide quality static analysis, and more fuzz testing.

    1. Re:More eyes by CrimsonAvenger · · Score: 1

      I do not trust normal humans to anything technical right.

      You left out a word in the above sentence. Which just confirms the intent of the above sentence....

      --

      "I do not agree with what you say, but I will defend to the death your right to say it"
    2. Re:More eyes by Bengie · · Score: 1

      I do not trust normal humans to do anything technical correctly

    3. Re:More eyes by Anonymous Coward · · Score: 0

      Yep. I can't count the times I had to help fellow programmers with a problem, and it turned out to be a simple boundary condition, or something like having typed == when they meant != and never noticed when they were staring right at it.

      The other thing is that open source lets people see the code, true... but that doesn't mean anyone actually *has* read the code (other than the author). I vaguely remember a few years back someone discovering a bug in some low-level but widely used code that had been there for 20 years. Nobody had looked at it for all that time, because everyone assumed if it had been there that long, it was fine.

      Of course, there's the problem that even if eyeballs are looking at it, if there's not a brain behind the eyeballs it won't do any good.

    4. Re:More eyes by bluefoxlucid · · Score: 4, Informative

      This is why some of us are insistent that the decades of experience which gave rise to design patterns actually means something. Folks often counter argue that good programmers "know what their code does" and so the mess of unstructured spaghetti code is fine "as long as it works"; they don't believe in engineering in containment of bugs and impact.

      When you build your code to be a set of tools with defined behaviors and interfaces, you encapsulate bugs. An error in one piece of code creates a defect in the interface, which you correct in one place. This seems like something wholly-imaginary until you realize un-breaking a bug in many flat programs causes unexpected behavior due to other code relying on the defective logic's incorrect impact on some program state.

      In an ideal world, none of this would matter. We do all this stuff because it matters in the real world.

    5. Re:More eyes by Anonymous Coward · · Score: 0

      What design patterns are you talking about specifically?

    6. Re:More eyes by fisted · · Score: 1

      I think the intent of the above sentence was to suggest they're not a mere 'normal human'.

    7. Re:More eyes by Anonymous Coward · · Score: 0

      Probably any.

      A lot of developers REFUSE to even consider the concept. Sometimes they even refuse the concept of testing. Etc... Because everything they write is genius as is. Or so they believe.

    8. Re:More eyes by Tablizer · · Score: 2

      decades of experience which gave rise to design patterns actually means something.

      If you mean Gang-of-Four-style (GOF) patterns, it mostly fizzed because, first, it was not clear when to use which pattern. Second, often incorrect assumptions were made about how requirements change in the future. GOF had a shitty crystal ball, time finally revealed. Nobody road-tested that fad long enough, and fanboys dived in face first.

    9. Re:More eyes by bluefoxlucid · · Score: 2

      People made larger architectural patterns like MVC and declared them replacement, in the same way someone might declare "Victorian" a replacement for joist-and-subfloor floors. I've found the GoF patterns have served well where people used them, and people have found them unclear when they didn't understand architecture.

      Can you provide examples of where, how, and why GoF patterns failed?

    10. Re:More eyes by Anonymous Coward · · Score: 0

      Who is this "typical person" that you allege is a coder, let alone one that is competent? A typical person does not know how to code.

    11. Re:More eyes by JackieBrown · · Score: 2

      Yep. I can't count the times I had to help fellow programmers with a problem, and it turned out to be a simple boundary condition, or something like having typed == when they meant != and never noticed when they were staring right at it.

      I imagine it's like proofreading your own emails, letters, etc. Often, your mind reads what you intended to write rather than what you actually wrote.

      I know there are several times I left the contraction off and every time I proofread it, I saw it there. And the difference can be critical. Is/isn't changes the entire meaning. The your/you're error can make you look dumb but not as fatal a mistake. "Your product is under warranty".

    12. Re:More eyes by the_skywise · · Score: 1

      un-breaking a bug in many flat programs causes unexpected behavior due to other code relying on the defective logic's incorrect impact on some program state.

      To be fair you have the same problem with encapsulation and output/results too. (A semi-infamous one being a fix to a Microsoft Office API to return data as it was spec'd in the docs not as it originally did and which many people coded to. Ironically rather than change the docs to match the code, MS did the opposite). The gist is the same tho - If you encapsulate your code into modules (IE Lego block style) any fixes you make are automatically picked up by the users with no action needed on their part.
      Cloud computing has taken this to a wild extreme where encapsulation/modules are no longer "functions" or "libraries" but frameworks and services. Still suffering the same problems as before but now AT SCALE! (and dependency nightmares out the wazoo!)

    13. Re:More eyes by bluefoxlucid · · Score: 1

      To be fair you have the same problem with encapsulation and output/results too

      Only at the interface. People will write code that does things to things, and then reuse calls to that code to incrementally do things to things instead of extending the interface on an object to say you can now do a thing to a thing (or creating a filter, or whatever else they could do to achieve the same). Then, when you modify those innards, things break.

      Sometimes, two pieces of those innards are glued together in such a way that they always work. For example: I could perform a boundary check before sending a call to a function which copies data into a pre-allocated buffer. A different body of code can then make an unchecked call that always works, until someone calls that body of code from a long chain of logic that ultimately didn't have the same boundary checking and gets an occasional buffer overflow in unlikely situations (because they called a function which allocates, did some transformations, then called a function which copies).

      This is why you wrap things up into little boxes with buttons and switches on the outside. Nobody directly calls those things, and everything continues to work because you're forced to not do this goofy shit.

      We've all hotwired the boxes, though, because we're all clever enough to stick our necks in places they don't belong despite the warning signs and barbed wire.

    14. Re:More eyes by Anonymous Coward · · Score: 0

      Don't feel bad. A good IDE with static analysis would have revealed that error.

    15. Re:More eyes by Anonymous Coward · · Score: 0

      To be fair you have the same problem with encapsulation and output/results too

      Only at the interface. People will ...

      Do you even know how to quote a parent comment, bro?

    16. Re:More eyes by TheFakeTimCook · · Score: 1

      Yep. I can't count the times I had to help fellow programmers with a problem, and it turned out to be a simple boundary condition, or something like having typed == when they meant != and never noticed when they were staring right at it.

      I imagine it's like proofreading your own emails, letters, etc. Often, your mind reads what you intended to write rather than what you actually wrote.

      I know there are several times I left the contraction off and every time I proofread it, I saw it there. And the difference can be critical. Is/isn't changes the entire meaning. The your/you're error can make you look dumb but not as fatal a mistake. "Your product is under warranty".

      That's what I like to call the "Meddling Interloper" method of debugging. It's when a co-worker comes up behind you as you are furiously poring over some code and points their finger at your screen and says "Isn't there supposed to be a $CHARACTER there?"

      "D'oh!" You say...

    17. Re:More eyes by Anonymous Coward · · Score: 0

      That is no different than Windows code, except with Windows the odds of it being found by a good guy is nil.

      numbnuts

    18. Re:More eyes by Anonymous Coward · · Score: 0

      I think the responses to your post pretty much sum up that open source and design patterns are a no go due to the quality/level of the typical open source developer.

    19. Re:More eyes by phantomfive · · Score: 1

      I will add to your post:
      GOF patterns fail because they are not a good fit for most situations. Reality is more nuanced than a few patterns, so to be effective you need many more patterns than are in the book. Instead of memorizing patterns, it becomes easier to analyze the situation, and come up with something that fits the situation, rather than try to jam it into a pre-existing pattern.

      --
      "First they came for the slanderers and i said nothing."
    20. Re:More eyes by Let's+All+Be+Chinese · · Score: 3, Interesting

      It's not that the patterns themselves have failed, just that their use has fizzled due to failure to live up to the claimed benefits of using them. I've never actually even read the book, but I took a gander at the "antipatterns" book (only thing in category available at the library at that time) and it immediately struck me as "middle management trying to program", or something in a similar vein.

      Now, there's indubitably a lot of "code grinders" Out There for whom this sort of thing is actually a boon. The best and brightest among us tend to scoff at such people, or more specifically at their stumbling and crutches, with all sorts of plausible-sounding but not actually helpful counters like "good people know what their code does", conveniently forgetting that most programmers aren't very good at all. So perhaps "patterns" are a useful crutch to keeping a lid on the damage from the inevitable Dunning-Kruger effects in business programming. I don't know, maybe.

      But it was only until very much later that I found this writeup and my take-away is that this sort of thing, I think including touting lists of "patterns" as fix-alls for programming trouble, are attempts at taking an inherently mapping mode thing into something suitable for packers to use. The better approach is to knock such people into mapping mode, but that's much harder to sustain. And could well count as cruel and unusual.

    21. Re:More eyes by Tablizer · · Score: 1

      people have found them unclear when they didn't understand architecture.

      Well, I guess I "don't understand architecture" (despite building hundreds of successful applications.)

      So where do I go or what do I read to "get" GOF in an unambiguous way?

    22. Re:More eyes by Anonymous Coward · · Score: 0

      That is no different than Windows code, except with Windows the odds of it being found by a good guy is nil.

      Bullshit, Microsoft even has a bug bounty program for people to find and submit bugs. It's easier for both black and white hat hackers to find bugs in open source code than it is for them to find bugs in closed source code.

    23. Re:More eyes by Anonymous Coward · · Score: 0

      people have found them unclear when they didn't understand architecture.

      That's an easy way to just dismiss criticism, you sound pretty confident so can you give some examples of this happening? The idea that "it's good and if you disagree you just don't understand architecture" is obviously stupid without any actual citation or examples.

    24. Re:More eyes by bluefoxlucid · · Score: 1

      The best and brightest among us tend to scoff at such people, or more specifically at their stumbling and crutches, with all sorts of plausible-sounding but not actually helpful counters like "good people know what their code does", conveniently forgetting that most programmers aren't very good at all. So perhaps "patterns" are a useful crutch to keeping a lid on the damage from the inevitable Dunning-Kruger effects in business programming. I don't know, maybe.

      Self-referential. You're taking the same approach, but softer: "some of us are smart enough to not need this."

      Some of us are engineers and can build a house without adhering to national and international building and electrical standards and codes. That house will be structurally-sound. We'll understand how each part works and how to maintain it or build additions so it doesn't crumble.

      That doesn't help every other professional who touches our stuff.

      But it was only until very much later that I found this writeup

      Essentially, yes. The thing he should also notice is all the complex garbage around the sensible stuff needs to be of a fixed form: it's no longer complex if it's recognizable.

      Let me give you an example.

      Walk over to your bookshelf, pick up a book, and open it to page 173. Read the third paragraph aloud.

      Walking involves activating neurons, determining your spatial relationship with objects and the floor, tracking your velocity, checking your balance, and shifting the non-rigid form of your body (not just tilting back and forth) to redistribute your weight. It's one of the most bizarrely-complex things you can do.

      Talking involves pulling multiple muscles in your throat in various ways in a pattern, while modulating your breathing and mucking about with several muscles in your mouth to change resonance cavity shape. It's ridiculous.

      Picking up the book and opening to a page requires fine motor control. Reading is unbelievably-complex.

      You've already internalized all of these things and do most of it based on expectations. When something unexpected happens, you respond quickly based on what you expect this new change to produce.

      We could argue this all day; although I'd rather ask Peter Gutmann, who once made an observation about why we all use SSL instead of something much better we designed this morning over coffee. If you're really onto something, you should teach everybody else this new methodology so we can all benefit.

    25. Re:More eyes by bluefoxlucid · · Score: 1

      I guess I "don't understand architecture" (despite building hundreds of successful applications.)

      You can build successful applications organically. That doesn't mean they have good architecture; it just means they happen to function. Architecture affects things like how quickly large programs can be built, how readily they can be modified and extended with large and complex new features, and how likely defects are to arise. People used to talk about Microsoft rewriting nearly all of Windows every release (NT3 to NT4 to XP to Vista) because much of the core architecture was so broken as to be unusable.

      So where do I go or what do I read to "get" GOF in an unambiguous way?

      Now there's a question. The original GoF book was... I wouldn't read the original GoF book. Tony Bevis did a good job explaining these for Java, C#, and PHP; but it doesn't help if you're not a decent program architect. Nothing in the world will turn a non-programmer into a programmer in one sitting.

      On the other hand, if you've actually built things, you should immediately recognize how to structure parts of your program into these patterns and take advantage of the benefits. This leads to one of two types of thinking: an immediate question of why when there is nothing different; or an immediate question of how to leverage this type of structure to get more out of your program with less.

      I fell into that second camp. Things like decorators, proxies, and composites broke me away from lots of custom code to wire up monsters and player weapons in games. In about ten seconds, I went from, "Man, you could make a platformer where you can transform into different monsters, but you'd have to totally recode the control scheme and player movement for each one" to "holy crap, I can just replace the AI with a controller input, and use a decorator that interprets controller inputs based on weapon selected!" Suddenly programming became a game of Lego with an annoying amount of boilerplate code instead of piles of complex logic--and the boilerplate was shorter. Switch blocks in 20 places became one line of reflection in a factory.

      Things I'd made work before seemed horribly-implemented, and I made them work again in much less code and much more readably and reliably.

      To be fair, I also had a project management background at the time. Project management includes enormous amounts of procedure, forms, charts, and other tools; one of the most-important skills is selecting the tools you need. You don't pour the whole of project management on the smallest project, just like you don't do a whole lot of architecting for a small and temporary program designed to fill in for a permanent solution coming in two months (Risk-Based Architecture). It came naturally to me to understand that the GoF patterns weren't things you absolutely use in clearly-defined situations, but rather tools with clearly-defined functions to be used as you see fit.

      The same is true of screws. Some screws have hex heads, square heads, bolt heads, philips heads, cross heads, torx heads, and other types. hex heads are recessed and require a larger area, while bolt heads stick out. Square heads self-align (they always go in straight). Philips heads strip under torque, while cross heads don't. Torx heads handle an amazing amount of torque without stripping. When do you use these? It depends on the requirements of the job at hand.

      In programming, that's a much less straight-forward question. There are several ways to accomplish what I described above. Given any strategy, you would use different design patterns. It comes down to how you want to replace the boxes: what do you want to be able to do architecturally?

    26. Re:More eyes by Anonymous Coward · · Score: 0

      Windows exploits are worth far more to shitty LE agencies and the black market than MS pays out.

      It is far easier to find exploitable flaws in closed source because all you get is the executable and an exe is far easy to find exploits using tools like fuzzers than it is to peruse source. And yes, the compiler and the settings can have a huge difference in what and where you can exploit and since you have no say how windows code is compiled it is much easier. The proof is in the fact that, as always, Windows is far easier to exploit.

      You are a purveyor of bullshit.

      numbnuts

    27. Re:More eyes by Anonymous Coward · · Score: 0

      My code is genius and perfect and never needs testing. Just ship it!

      Problem is that dumbfucks like you might touch my beautiful code in the future and fuck it up so you need tests to show you the path back to perfection.

      numbnuts

  3. Visibility is always better than invisibility by Bruce+Perens · · Score: 5, Insightful

    When software doesn't have visible source code, the legitimate users have no assurances regarding what it's doing, other than those imposed by the operating system (which they might not have complete source for either).

    However, the bad guys still take the trouble to disassemble the code and find its vulnerabilities.

    With many eyes, you still might not find all bugs, but you can, and can do so without the unreasonable investment of disassembling the code and reading disassembly - which is not like reading the real source code.

    The larger issue is that we need publicly-disclosed source code for some things, to assure the public good, whether it is proprietary or Open Source. For example the emission control code in automobiles, which it turns out multiple manufacturers have defrauded.

    1. Re: Visibility is always better than invisibility by Anonymous Coward · · Score: 0

      This many eyes thing is not the real benefit of open source.

      There is no guarantee those eyes are willing to share fixes, or that they are not malicious.

      The benefit of open source is that if you are a programmer you can change the code all you want. This audit nonsense is just a side effect that businesses push on us for free support.

    2. Re:Visibility is always better than invisibility by hcs_$reboot · · Score: 3, Interesting

      I tend to agree. However, on the other hand, Open Source has "so many eyeballs" that most people trust it blindly, which can be dangerous.

      --
      Slashdot, fix the reply notifications... You won't get away with it...
    3. Re:Visibility is always better than invisibility by angel'o'sphere · · Score: 3, Insightful

      Very true, I only read open source source code if there is a bug I need to maneauver around or fix.
      And most code is so bad, you don't really want to read it because of the night mares they induce, e.g. looking at https://lucene.apache.org/

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    4. Re:Visibility is always better than invisibility by datavirtue · · Score: 1

      ...but you are fighting an uphill battle when most IT managers think open source software is less secure because people can see the code. They think obscurity is the bedrock of security and constantly seek it. They also cite that anyone can commit code to the project...making is rife with back-doors. These dinosaurs smack down open source anything, left and right. A lot of times the only way to introduce new, modern technology is to politically outmaneuver them.

      I like having the conversation with them about how Microsoft is fully embracing open source in everything they do and how their darling .NET platform is now open sourced. Complete cognitive dissonance ensues.

      --
      I object to power without constructive purpose. --Spock
    5. Re: Visibility is always better than invisibility by Bruce+Perens · · Score: 3, Insightful

      While there is no guarantee that some eyes will not be malicious, I think your statement doesn't really fit the probabilities. Most people who look at code will be looking because they want to modify it, because they have questions that can be answered better by the source than by documentation, because they are looking for examples of how to do something, or because they are curious. Most of these people have good intentions and will even experience some emotional fulfillment from helping to eliminate a bug and thus help all of the other users. People like the public-benefit aspect of Open Source and want to help.

    6. Re:Visibility is always better than invisibility by Anonymous Coward · · Score: 0

      When software doesn't have visible source code, the legitimate users have no assurances regarding what it's doing,

      that is not true, customers can ask for independent audits of closed source code

      For example the emission control code in automobiles, which it turns out multiple manufacturers have defrauded.

      you don't need the source code to verify vehicle emission output, this is why we test the vehicles

    7. Re:Visibility is always better than invisibility by Anonymous Coward · · Score: 1

      Closed source as far fewer eyeballs and people still trust it blindly. They have to. With Open Source, you don't have to.

      Even should nobody actually audit either code, I'll still take Open Source since I can fix it myself if I have to. Of course, I actually can write code; many people cannot but they might hire someone to do it for them. And it doesn't have to be the original author. I can also see --if I choose to-- just how shoddy the code is with Open Source, which I cannot with Closed Source, though one can still infer. And in cases where there have been comparative studies, Open Source invariably has somewhat better code quality.

      So yeah, I think that "law" is ESR's overly optimistic way of putting it, but I still would and do favour Open Source.

    8. Re:Visibility is always better than invisibility by Anonymous Coward · · Score: 1

      I agree that open source makes distributing malicious software much more difficult. It also prevents ridiculous incompetence like hard-coded passwords in production releases. Accidental bugs are usually not as obvious as intentional malice. Auditing code is only one mechanism for finding bugs, and not necessarily the most effective one. Also, any software is only as secure as the hardware it's running on allows for. I suspect that the known vulnerabilities in speculative execution are only the tip of the iceberg.

      I think the bigger issue is that when bugs are found, anyone can fix them, rather than trusting businesses to honor their commitments to support closed source software. Microsoft cutting off Windows 7 and 8.1 support for some systems prior to the actual EOL date is an example of this. With open source software, fixes are available provided anyone is willing to fix the bug and share their fix.

    9. Re:Visibility is always better than invisibility by ageoffri · · Score: 1
      I disagree that there are no assurances. At the enterprise level, I'm part of the IT Risk team and we demand static and dynamic code testing on code. While we often don't get the full report, we do get summaries. As part of the risk process, we also look at changes in number of fixed issues, number of new issues, and severity. Granted there is nothing to be done about Windows and big vendors tend to be the worst on providing reasonable assurances.

      With Open Source it is more often blindly trusted because of the many eyeballs doctrine. And along the same lines since there isn't a direct cost for Open Source it is very easy for the business to bypass both vendor management and risk. Which means we don't even know to look at something.

      --
      -- Slashdot, making the Left look conservative since 1997.
    10. Re:Visibility is always better than invisibility by Bruce+Perens · · Score: 5, Insightful

      If you are thinking of bugs like Heartbleed, there are also economic issues. OpenSSL was issued under a gift-style license. Big companies that were making billions on desktop software used it, and almost never returned either work or money to the project. This one guy, Ben, had most of the load out of his personal time.

      Now, this is not something the OpenSSL guys might ever have considered, and I am not representing them. But what if OpenSSL had been dual-licensed? All the Free Software folks would have had it for free, and all of the commercial folks would have had to pay a reasonable fee. In fact everybody would be paying something, either by making more great Free Software or by paying money. There might have been fewer commercial users, but there might also have been an income stream for Ben or other developers, and they might have been able to devote more time to finding bugs. So, there might never have been a Heartbleed.

    11. Re:Visibility is always better than invisibility by Anonymous Coward · · Score: 1

      How much of the open source code you use do you check?

      Hence the problem: it is almost always seen as someone else's job. A minusculely small percentage of users are equipped to read and evaluate the code in the first place, and an even smaller number of people take the time. Either way, we are just HOPING someone else is on the ball.

    12. Re:Visibility is always better than invisibility by Bruce+Perens · · Score: 3, Interesting

      We've mostly won this battle in the industry. You can't really not use Open Source in your IT department any longer. And IT managers who insist on avoiding it, rather than learn about it, don't get ahead.

    13. Re:Visibility is always better than invisibility by Bruce+Perens · · Score: 4, Informative

      you don't need the source code to verify vehicle emission output, this is why we test the vehicles

      You're missing the fact that the code was made to game the test, and changed emission parameters when the vehicle was on a dynamometer, which is the way emissions tests are done. It was found by a little university lab doing an unrelated experiment, that happened to instrument the vehicle while it was in motion, and simply couldn't get their results to agree with the published emission figures.

    14. Re:Visibility is always better than invisibility by Anonymous Coward · · Score: 0

      Agreed. Rejecting open source because it's unfamiliar is so 2003.

    15. Re:Visibility is always better than invisibility by Bruce+Perens · · Score: 1

      Sure, what you do is what you can do, for due diligence, if you are using proprietary software. But you are of course putting trust in those auditors. And they are a for-profit business, and it's in their interest to do a good-enough job while not spending too much time.

      One of the things they do (and most consulting companies bigger than one person do, including law firms) is sell highly-qualified people, and then have lower-qualified people actually do the work, under the "supervision" of the more qualified ones. But ultimately you get less-qualified eyes, and although the quality of the final report will be high, they can and do miss things.

      Like the Volkswagen scandal, it takes serendipity to find the problem - the lab was doing some other experiment and just couldn't get their results to fit the emissions figures of the vehicle. Open Source is designed to facilitate that sort of serendipitous activity.

    16. Re:Visibility is always better than invisibility by hcs_$reboot · · Score: 2

      most IT managers think open source software is less secure because people can see the code

      What? Are you implying that most IT managers are technically incompetent? If not, you should!

      --
      Slashdot, fix the reply notifications... You won't get away with it...
    17. Re:Visibility is always better than invisibility by Aighearach · · Score: 1

      This sounds good to me at first, but then I also think back to `99 when I was using a Free SSH version for everything, very happily, and then I got a client that required access only using a certain version of commercial ssh.

      I think this comes down to the whole Free Software vs Open Source split; when there is a split between proprietary and free, then some people will be forced to use a particular one, but if there is an open one such that everybody can use it, then everybody might have compatibility and the freedom to bring their own implementations.

      We wouldn't have software like open source tripwire without Free Software + threatened enforcement, but now that that camp has abandoned that type of enforcement I'm not even sure what benefit they have left over licenses like Apache 2 where everybody can reuse the same source and achieve comparability and therefore access.

      I think, if OpenSSL had been dual licensed, consultants would be getting clients who demand commercial SSL. So for the developers it would be better, but for the people who have to install it, and who ultimately have more say in what the industry as a whole uses, it would be worse.

    18. Re:Visibility is always better than invisibility by Anonymous Coward · · Score: 1

      Only that's completely irrelevant. "All bugs are shallow" alludes to the fact that when critical bugs in open source programs are discovered, they are usually fixed really fast, way faster than is true for closed source.

      Beware of people who claims it's about there not being any bugs, because they are either idiots, or pushing an agenda by propping up a straw man.

    19. Re:Visibility is always better than invisibility by Bruce+Perens · · Score: 1

      I have been scandalized, in general, to read commercial embedded systems code. Getting them to actually understand security has been an uphill battle, and surprisingly remains one today.

    20. Re:Visibility is always better than invisibility by Bruce+Perens · · Score: 3, Funny

      It also prevents ridiculous incompetence like hard-coded passwords in production releases.

      So true. Most people write better when the world is looking over their shoulder. I'd like to put a certain politician on C-span for all of his waking hours. It would work a lot better than simply reading the brain-farts he emits on twitter and in press conferences.

    21. Re:Visibility is always better than invisibility by Bruce+Perens · · Score: 2

      How much of the open source code you use do you check?

      Me? Well, there's this long discussion with the Lucky web platform developer the other day. And they just closed a bug I reported in Mailman. That sort of thing goes on all of the time.

    22. Re:Visibility is always better than invisibility by Anonymous Coward · · Score: 0

      in our current business environment, management will always go with the path of least cost

      the only reasons that they would follow a different path would be something like public outrage (and abandonment of their product) , or strict laws (with enforcement) that would reduce their revenues by MORE then what they are saving by taking the path of least cost

      I would like to believe that other factors like stability, security or even community-mindedness would make enough of an impact to get them to take responsibility to contribute to good open source products, but I have yet to see actions like that taken

    23. Re:Visibility is always better than invisibility by jeremyp · · Score: 2

      Even if you do have visible source code, the legitimate users have no assurances regarding what it is doing. Surely the train wreck that is OpenSSL should tell you that.

      Most legitimate users wouldn't understand the code if it was exceptionally simple and clear because, well, they don't understand code. Even relatively competent programmers can have problems with some code bases. For example, I'm sure the guy who introduced the Debian-SSL bug was considered to be a pretty good coder and yet he still screwed up.

      You're being totally naive if you think that publicly disclosing source code is going to solve anything. Taking your example: what makes you think there are armies of qualified engineers willing to spend their spare time auditing VW's engine management software? To understand what it does, you would have to be well versed in the language and the platform (probably a pretty obscure embedded platform) and the principles of engine management software. Even if you find people qualified to audit the software, how do you know that the code VW publishes is the code that goes into the EMU's?

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    24. Re:Visibility is always better than invisibility by dfghjk · · Score: 2

      "For example the emission control code in automobiles, which it turns out multiple manufacturers have defrauded."

      Nonsense. Without public disclosure of the entire hardware platform publicly-disclosed source code would be meaningless. Furthermore, there would be no reward to programmers for reviewing this code, even if they could, so there would be no benefit to public disclosure of such code. Auto manufacturers are not going to fully expose their engineering nor would be reasonable to expect them to.

      As for the rest, no doubt it's easier to find bugs with full source but that doesn't mean more bugs are found. With sufficient motivation people will do just about anything, with no motivation those people won't contribute at all.

      I'm sure some will fall for your propaganda, Bruce, as they always have. Not everyone is so easily fooled.

    25. Re:Visibility is always better than invisibility by Solandri · · Score: 5, Insightful

      Whether the eyeballs are paid is irrelevant. One of the interesting findings from the investigation of the Space Shuttle Challenger disaster was that NASA triple-checked components. But it turned out the three (paid) inspectors often assumed the other two were doing their job, and regularly skipped inspections on more-difficult-to-access parts. Since all three were biased to skip the same parts, those parts frequently went uninspected before launch. So in that particular case, having more eyeballs actually led to less security, than having a single inspector who knew the entire burden of security was resting on his/her shoulders.

      People are lazy.

    26. Re:Visibility is always better than invisibility by im_thatoneguy · · Score: 1

      However, the bad guys still take the trouble to disassemble the code and find its vulnerabilities.

      I would flip it. The bad guys have a huge incentive to invest the time and effort to audit code for security bugs. However rarely do open source or closed source projects have a large incentive.

      From a blank slate both Open and Closed source applications are at a disadvantage. Some closed source applications have an incentive to have lots of eyes audit the code. Some open source applications have an incentive to have lots of eyes audit the code.

      So I would call the "Eyes" argument a wash between open and closed source. They both have equal incentive and therefore in practice probably equal amount of eyes.

      But open source does lose out because security through obscurity might be lousy but it's not imaginary. It does offer an impediment to finding bugs. It is much harder to audit disassembled code than the human source.

      So if eyes is a wash but malicious actors have it easier with Open Source I would argue that Open Source is actually more vulnerable because the only real variable that changes between Open and Closed source is the cost to malicious actors.

    27. Re:Visibility is always better than invisibility by Anonymous Coward · · Score: 0

      How much of the open source code you use do you check?

      Me personally, rarely anymore. Other people are far better at it than I and I let them do it, as you are aware from:

      Hence the problem: it is almost always seen as someone else's job. A minusculely small percentage of users are equipped to read and evaluate the code in the first place, and an even smaller number of people take the time. Either way, we are just HOPING someone else is on the ball.

      I don't see why that is a problem.
      There are many things I am not good at, and other people who are better at those things end up doing them.

      Here's the core detail about your claim: What is the alternative?
      While you didn't state it directly, there is no reason to bring that point up unless you are implying it is a failure/problem with open source *that is not a problem in closed source*
      After all, if the claim effects both types of software equally, why raise it as a differentiating point?
      So despite not claiming it directly, you certainly are doing so indirectly.

      And that is the core problem. You think many eyes, which you say is much fewer eyes than random people on the Internet claim, is somehow a lower number than two or zero as is the case in closed source software.

      It's still clearly a huge advantage to have even four or six eyes, than zero.
      Most closed source software has zero eyes of the good guys looking at it. A rare small bit may have two eyes looking at it.
      Any number larger than that, which is possible in open source, is that much better.

      The evidence even shows it helps, at least in relatively measurable ways.
      Just look at the CVE listings. Those exploit reports show one thing only, how many bugs/exploits are both found and able to be fixed.

      There are by far more listed for open source software than most all closed source software.
      Only Linux kernel and Windows core throw that off a little due to the massive number for each.

      But it's clear far more bugs are found in open source, and far more are fixed.

      The mistake many people make is incorrectly assuming that a not-reported bug equals a non-existent bug.
      Combined with the nature of closed source, it's impossible to determine the number of disclosed-in-secret-to-the-vendor bugs and how many are or will be fixed, nor is it possible to know the number of yet-undiscovered bugs at all.
      But out of the discovered bugs, of which there are demonstrably more in open source software, next to all of them are fixed as well.

      Even assuming a similar number of bugs would exist in something closed source, the lack of CVEs show that they are either undiscovered, or discovered but won't be fixed due usually to not being profitable to the only entities capable of fixing them.

      And you can't assume the number is equal. It could be less, it could be more. The only sane assumption is that it is many more and that you can't defend against them if the software maker doesn't want to do anything about it.

    28. Re:Visibility is always better than invisibility by apoc.famine · · Score: 1

      It's not just that people write better when the world is watching - if there's not a business case to fix closed source code, it probably doesn't get fixed. When the choice is more features that a customer is paying for or refactoring code, more features almost always win out.

      If there's an ugly buggy hack in open source code, there's a chance that at some point it will irritate someone enough that they'll fix it.

      I know that I've personally left comments in my code to the extent of "I know this is a terrible way to do this, but I was in a hurry and couldn't come up with a better way. Fix this when you have some free time." Not a proud moment, but when it's not public code, as you note, it's much more tempting to do that. And I know of a few bits of code with comments along those lines that went to the grave with the company I wrote it for.

      --
      Velociraptor = Distiraptor / Timeraptor
    29. Re:Visibility is always better than invisibility by Anonymous Coward · · Score: 0

      Everyone forgets about the compiler or interpreter. It doesn't matter what you write if those are nefarious.

      numbnuts

    30. Re:Visibility is always better than invisibility by Anonymous Coward · · Score: 0

      Heartbleed is a terrible example to use. MS wasn't hit by that in code, which provides an avenue to say "see how 'many eyes' found nothing yet closed source was completely fine?"

    31. Re:Visibility is always better than invisibility by Anonymous Coward · · Score: 0

      It is far easier to find vulnerabilities in an executable than it is by reading source. Code might be safe or not depending on what the compiler does with it. Furthermore, it is often really hard to tell when a specific function is going to execute. It is why fuzzers do a better job at finding vulnerability than source reviews.

      numbnuts

    32. Re: Visibility is always better than invisibility by phantomfive · · Score: 1

      In practice, Open Source seems to make more secure software. For example, plenty of devices are being released with guessable default passwords, or with the telnet port open (that's how Mirai spread). It's been decades since open source was commonly released with that kind of vulnerability.

      And speaking from my own experience, if I have to use a closed source library, I pad my estimates because it's going to take a lot of extra time.

      --
      "First they came for the slanderers and i said nothing."
    33. Re:Visibility is always better than invisibility by phantomfive · · Score: 1

      Do you consider Lucene bad? I was looking at the Elastic source recently, and it seemed fine.

      --
      "First they came for the slanderers and i said nothing."
    34. Re:Visibility is always better than invisibility by Anonymous Coward · · Score: 0

      I worked with a guy who told me his neighbor was an engineer who worked on the Space Shuttle boosters. The morning of the Challenger launch his friend told him to watch the launch because the shuttle was going to blow up. Apparently the engineers at ATK had stayed up all night arguing with management that the launch parameters were not being met and the risk of the O-rings not sealing were too great. Management would not listen and okayed the launch over the engineers' objections.

      Inspections were not the issue. It was too cold to launch and everyone should have known that. More/less eyeballs is a red herring!

    35. Re:Visibility is always better than invisibility by Anonymous Coward · · Score: 1

      when the vehicle was on a dynamometer, which is the way emissions tests are done.

      bloody fucking hell, do the test on the road under actual conditions

    36. Re:Visibility is always better than invisibility by Anonymous Coward · · Score: 0

      When software doesn't have visible source code, the legitimate users have no assurances regarding what it's doing, other than those imposed by the operating system (which they might not have complete source for either).

      What software can you provide those assurances for? I mean complete assurance that the program is not doing anything nefarious or creating security vulnerabilities in your system?

    37. Re: Visibility is always better than invisibility by Anonymous Coward · · Score: 0

      It's a nonsense discussion to have. If you actually look at the statistics of participation in projects across github and sourceforge you'll find the vast majority of even popular projects have low single-digit contributors. Most of the time you don't have enough eyes, and even if you do then likely they aren't the right eyes and in fact you don't need many eyes so long as you have the right ones looking in the right place...at the right time of course too because there is equal possibility that the first set of eyes to see and understand the issue are black hat rather than white hat. More to the point there is no meaningful comparison between the methodology for open source vs closed source for a specific application, the closest thing is probably the implementation of a spec and we could take the example of SSL where OpenSSL suffered a critical issue that, despite many eyes, ended up getting widely distributed while Microsoft's SSL implementation didn't suffer that security bug.

      The comparison is stupid because it depends on the application, the userbase, the developer community and many other factors.

    38. Re:Visibility is always better than invisibility by Anonymous Coward · · Score: 1

      >most IT managers think open source software is less secure because people can see the code.

      IT mangers don't care about open source.

      If it breaks who can we call to fix it? Whats the SLA? How much money do we lose per hour? Whats the contract cost?

      If your open source package is not doing X when talking to a commercial app, who's going to support it?

      Other than flagship open source programs most OSS has the lifespan of a few years. No IT manager is going to build a production environment around an app with no know release schedule, road map etc etc etc. Its not about code, its about business. Most OSS apps are part time college projects.

    39. Re:Visibility is always better than invisibility by angel'o'sphere · · Score: 1

      The code quality was extremely bad, last time I had to work with it, must have been around 2012.
      Starting with hundreds of places where files did not get closed, then exceptions that did not get handled.
      I guess it is supposed to be used in a kind of batch process were it is restarted or only started to "import"/analyze files, so that crashes don't matter. We had it included as a library, until we ditched it.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    40. Re:Visibility is always better than invisibility by im_thatoneguy · · Score: 1

      Again, anything that an open source team has access to a closed source team has access to as well. Presumably the closed source team also fuzzed their application as well. So again Open and Closed Source is a wash from the perspective of a fuzzer, but the malicious actor has a fuzzer and source access.

      So the closed source is at worst equally vulnerable and at best slightly less vulnerable.

    41. Re:Visibility is always better than invisibility by Anonymous Coward · · Score: 0

      That is a huge presumption, especially with talking about Microsoft.

      Windows proves that closed source is more vulnerable because it is the most often and most easily exploited.

      numbnuts

  4. Depends by SurenEnfiajyan · · Score: 2

    It depends. FOSS software often lacks QA, unit testing, code static/dynamic analysis and regression testing. Compared to a FOSS software with a similar QA process - I would say yes, more eyeballs make it better. Compared to a commercial software with a strict QA process - no.

    1. Re:Depends by Anonymous Coward · · Score: 0

      Yes, but how do you know if a commercial (as in closed source) software has a "strict" QA process?
      I mean, given the current state of closed-source software vulnerability disclosures... QA seems... murky to say the least.

    2. Re:Depends by SurenEnfiajyan · · Score: 1

      Did I say that closed source necessarily has strict QA process? Also commercial and closed source aren't the same thing. There are plenty of commercial OSS softwares.

    3. Re:Depends by Sarten-X · · Score: 2

      I've been involved in commercial software development for almost 20 years. I have yet to see any small vendor actually implement everything you list.

      Usually, they'll have a few components with some simple impossible-to-fail tests, and say they do "full unit testing". They'll have a "QA tester" rubber-stamp a release because it isn't as buggy as the last one. They'll run code through Valgrind once, ignore the results, and take credit for using analysis tools. Then the development execs go out to a seminar on the latest best practice, and come back expecting a full transition to the latest shiny buzzword, and fire anyone whose progress-tracking spreadsheets aren't falsified enough.

      If I thought commercial software actually underwent strict QA, I might be inclined to agree with you... but commercial vendors can conveniently hide their sins behind a wall of marketing materials, and by the time anyone bothers to call them out on their lies, they've been acquired by another company, and can blame everything on the old management while claiming that the product has a "solid core".

      --
      You do not have a moral or legal right to do absolutely anything you want.
    4. Re:Depends by Anonymous Coward · · Score: 0

      Open source software lacks carrots, such as providing food, water, shelter, for finding, fixing, and developing software.

      Commercial software is almost always better quality than open source. The few exceptions are 40+ year old systems, such as Unix, Prolog, Lisp, etc.

    5. Re:Depends by SurenEnfiajyan · · Score: 2

      Top 50 products with security vulnerabilities and Linux kernel alone has the most bugs.

    6. Re: Depends by Anonymous Coward · · Score: 0

      I think this has more to do with the longevity of the linux kernel. Add up all of the independently listed Microsoft OSes and what do you get? 7920 vs. 2096 for Linux kernel.

    7. Re:Depends by serviscope_minor · · Score: 1

      FOSS software often lacks QA, unit testing, code static/dynamic analysis and regression testing.

      So does comercial software.

      --
      SJW n. One who posts facts.
    8. Re: Depends by Anonymous Coward · · Score: 0

      You cannot do this. Windows kernels are quite similar, so the bug in one version of Windows probably applies to a few others. Just click on any Windows in the list and look at the 'Possible matches for this product' link at the top.

    9. Re:Depends by Anonymous Coward · · Score: 0

      Top 50 products with security vulnerabilities and Linux kernel alone has the most *discovered* bugs.

      Exactly. Undiscovered bugs do not count on CVEDetails (nor in any other legal vuln list).

    10. Re:Depends by SurenEnfiajyan · · Score: 1

      So why there are no BSDs (in top 50) then? BSDs are also open source.

  5. You have to be looking first by sjbe · · Score: 3, Insightful

    Back in 1999, Eric Raymond coined the term "Linus' Law," which stipulates that given enough eyeballs, all bugs are shallow.

    That's only true if those eyeballs are actually looking for bugs and organized enough to do something about them. Even then it's more like a principle than an actual truth. Some bugs are much harder to find than others no matter how many people are looking.

    1. Re:You have to be looking first by Aighearach · · Score: 1

      Some bugs are harder to find than others, sure, but that's just a mealy-mouthed platitude.

      The point is, on a small team, some bugs are so hard that they don't even get fixed on the same day they're found. It could takes days or even weeks, historically. Even when they were really working on it.

      Open Source hasn't had a hard bug since the 90s. Every bug, no matter how hard, is fixed within hours of there being public knowledge that it exists and hasn't been fixed yet. Getting package manager to apply the patches is much much harder and takes more time than fixing the bugs. Even testing the patches to modern standards takes more time than the fixing of the bugs.

      You won't be able to find an example of a bug that even looked hard in the modern age, and yet, small teams still struggle with some of their bugs.

    2. Re:You have to be looking first by sjbe · · Score: 1

      Some bugs are harder to find than others, sure, but that's just a mealy-mouthed platitude.

      "Platitude"? No, it's just a fact. Some bugs literally go decades without being found or repaired in open source projects and 20 seconds on google will find you examples of same. The platitude is saying "all bugs are shallow with enough eyeballs". The reality is that some bugs remain stubbornly difficult to find+repair even with large numbers of eyes. The false part of the all bugs are shallow statement is the word "all". Replace with "most" or "virtually all" and it's then a factually correct statement.

      The point is, on a small team, some bugs are so hard that they don't even get fixed on the same day they're found. It could takes days or even weeks, historically. Even when they were really working on it.

      I could say the exact same thing (and show examples) with large teams as well. And the harder bit is often finding the bugs in the first place regardless of team size. I've seen and reported bugs in large open source projects that have persisted for years - some still remaining to this day. Even when a bug has been reported it doesn't mean someone can be bothered to work on it.

      Open Source hasn't had a hard bug since the 90s. Every bug, no matter how hard, is fixed within hours of there being public knowledge that it exists and hasn't been fixed yet.

      That's complete nonsense. First off, fixing a bug once it is known is generally the "easy" part of the problem. What's often harder is finding the bugs in the first place. To say that there hasn't been a "hard bug" (whatever that is supposed to mean) since the 90s is just absurd. Second, nobody is arguing that Open Source doesn't have some substantial advantages for finding and dealing with bugs. But to pretend that somehow just being open source magically makes all bugs "easy" just simply isn't true.

    3. Re:You have to be looking first by Aighearach · · Score: 1

      I'm not really sure why it is needed to say this, but if you think something is a fact, it is still possible that a phrase that contains it is a platitude. If you can't use words at least that well, why write so many of them?

      You seem to be intentionally missing all my points, but arguing anyways. Weak sauce.

  6. Linus is right by swillden · · Score: 2

    Linus is right... but note that he talked about eyeballs, not open vs closed source. If an open source project is obscure, or if the code is too hard to read, it may not get any scrutiny. On the other hand, closed source code from companies that care about security enough to pay security firms to scrutinize their code, or to hire security-knowledgeable developers and have them look at it carefully, can get a lot of eyeballs.

    In the normal course of events, though, open source code almost always gets more attention than closed source, just because anyone who wants to look, can.

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    1. Re:Linus is right by geschbacher79 · · Score: 4, Insightful

      This is exactly right. It's not about open vs closed source, but eyeballs. For instance, take the HeartBleed / OpenSSL bugs from a few years ago. OpenSSL is used extremely often and all over the place, including by Google, Facebook, etc. But it had vulnerabilities in it that had existed for years and years, and it was because OpenSSL was really only being maintained by a handful of people.

      But I think even more so, some organizations just aren't dedicating people to finding problems. You can still exploit Android, even though it's powered by Google and Linux. Intel has issues with its processor designs. Apple had a bug a year or so ago where anyone could log in as root. And these are the companies that supposedly have the best developers and essentially unlimited resources.

    2. Re:Linus is right by swillden · · Score: 3, Insightful

      You can still exploit Android

      Actually, it's pretty darned hard to do that on an up-to-date device (e.g. Pixel). There will always be vulnerabilities, but SELinux and other efforts have made Android a pretty hard target lately. Except, of course, for the fact that many device makers don't update.

      And these are the companies that supposedly have the best developers and essentially unlimited resources.

      Regarding Google, I think the developers are generally quite good, but resources are far from unlimited. I work on the Android platform security team, and we're always overstretched. That's partly because we set ambitious goals, but mostly because it's just really hard to find people. Part of that is location -- we currently only hire in Mountain View, Kirkland and London, so we can only hire people willing to live in one of those locations -- but most of it is because good software engineers who also know security are just hard to find.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    3. Re:Linus is right by gerald.edward.butler · · Score: 2

      > but most of it is because good software engineers who also know security are just hard to find.

      So, why doesn't Google just hire some software engineers and put them through a training camp/apprenticeship? This excuse of every company is getting tired. Are you willing to invest in your work-force or not?

    4. Re:Linus is right by swillden · · Score: 1

      > but most of it is because good software engineers who also know security are just hard to find.

      So, why doesn't Google just hire some software engineers and put them through a training camp/apprenticeship? This excuse of every company is getting tired. Are you willing to invest in your work-force or not?

      We do quite a bit of that (apprenticeship, I mean; training camps aren't effective). But training new people takes time and energy from the existing staff, which reduces the work they can get done. Even for experienced hires, it takes a year or more before they're really productive; add another two or three years for those who aren't.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    5. Re:Linus is right by Anonymous Coward · · Score: 0

      1. There is no reason you can't have remote workers. If you hire people that need someone looking over their shoulder, you are doing it wrong. Tech is to the point where you can have people all over the country work together like they are in the same room.

      2. Set realistic goals, WTF??? I thought Googlers were supposed to be smart! Setting ambitious(read: unattainable) goals is a sure-fire way to fail, and fail you do.

      3. Grats for working for one of the more evil companies. Nice ethics buddy!

      numbnuts

  7. Heartbleed says no by Anonymous Coward · · Score: 1

    If the "Many eyes makes all bugs shallow" theory were true, Heartbleed never could have happened.

    1. Re:Heartbleed says no by ArchieBunker · · Score: 1

      Totally agree. Heartbleed went on for years and every open source zealot yelled "many eyes!" while compiling this mess of spaghetti legacy code.

      --
      Only the State obtains its revenue by coercion. - Murray Rothbard
    2. Re:Heartbleed says no by Aighearach · · Score: 1

      You have a problem comprehending tenses.

      Errors in code are not bugs until they're found. You write the code, then you find out it doesn't do what you expected. That part of "doesn't do what you expected" is the bug.

      So the principle is not, "Many eyes makes all bugs reported," or "Many eyes makes code mistakes visible." It was only that when you have a bug, even if it looks like a "deep" (difficult) bug to one person, or a team of people, if enough people look at it somebody will have the experience or perspective to see quickly how to fix it, making it shallow.

      This law only begins to be involved once the bug is reported as a bug! There is no law that claims, "enough monkeys make all typewriters write Shakespeare." Only that with enough monkeys, the set of available answers include more questions. And thanks to code testing, you can automate the filtering of which answers answer the question your bug presents.

  8. Incompetent coders should get out of the business by Anonymous Coward · · Score: 0

    The problem since the first toy computers came out in the 1970s is that everybody thinks he's a developer.

    Most people employed as developers today should not be allowed behind a keyboard. And that includes the majority of people coding open sore software.

    Get a job, you bums.

    As Linux has dumbed things down and tried to be portable uberalles without any regard to security and as people use the idiot UNIX model of one piece of software doing only one things, the reliance on shitty, insecure middleware has brought us to the point there is usually only one project doing any particular thing. So when there's a CVE it affects all the free software victims including companies looking to save money by use open office space and free (haha) software.

    No, this is all wrong. And it's going to get worse before people can admit the Linuxperor has no clothes. Damn communists turned the world upside down.

    You wanted a handout? You got it. Now live with it, ya humps.

  9. No. Just easier to do. by Opportunist · · Score: 1

    It's not a matter of eyes, it's a matter of eyes that are actually looking. Just because a million people uses OpenSSH every day doesn't mean that it's more secure, unless someone sits down and audits it, it could as well be closed source.

    The difference is that if you WANT to audit it, you CAN. Without first reading more NDAs than you'll eventually get to read code.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    1. Re:No. Just easier to do. by Jason+Levine · · Score: 1

      Just because a million people uses OpenSSH every day doesn't mean that it's more secure, unless someone sits down and audits it, it could as well be closed source.

      This is a great distinction that is often overlooked. A million people using a piece of software doesn't mean a million people hunting for security flaws in the code. A large percentage of the users will be the "download and use it" type. Even if you put the source code on their screen and highlighted the section of code with the security flaw for them, their eyes would glaze over and they wouldn't be able to tell you what was wrong. Then there are the programmers who might be able to go through the code if they spent the time, but are busy with their own stuff and are only using this product to improve their own workflows. (Yes, ideally you should security audit every tool you use, but often time is limited and you need to trust that some things are secure or put security measures in place to deal with the inevitable security flaws.) Out of the million people using the software, very few are likely examining it and looking for security holes. This doesn't mean that OpenSSH and similar open source tools are insecure, just that you can't tout "one million users = one million people checking for security holes = we're secure."

      --
      My sci-fi novel, Ghost Thief, is now available from Amazon.com.
    2. Re:No. Just easier to do. by Anonymous Coward · · Score: 0

      Of course. It's mostly illegal for anyone to audit or fix proprietary code.

  10. i personally looked over the latest Linux kernel. by Anonymous Coward · · Score: 0

    I found no flaws in the code. Then again I nothing of coding, so there's that.

    But I looked it over...

  11. Both have advantages. by Edward+Nardella · · Score: 2

    Open source has the potential for more eyes. It can be fixed after official support ends. It can be audited by anyone. Tampering with the code of open source may be more likely to be noticed. Tampering with closed source code can be more difficult. Commercial closed source developers may be more likely to be held accountable for vulnerabilities and thus can be more motivated to provide a secure solution. Commercial closed source may be more likely to be reviewed by a security expert because of there is not a security expert on the team, one can be hired, whereas for non commercial closed source, this may not be as likely an option. Closed source has security by obscurity, which can make some vulnerabilities somewhat harder to find by malicious actors.

    --
    My sig doesn't address Anons, sigs aren't visible to them.
    1. Re:Both have advantages. by Anonymous Coward · · Score: 0

      Commercial closed source developers may be more likely to be held accountable for vulnerabilities and thus can be more motivated to provide a secure solution.

      Ha, ha, ha, ha! That's funny! Do you mean like microsoft providing a secure solution? I can't imagine them spending any of their billions and billions of profits on improving security. I just don't see any evidence of it.

    2. Re: Both have advantages. by Edward+Nardella · · Score: 1

      The key word there is "may".

      --
      My sig doesn't address Anons, sigs aren't visible to them.
    3. Re: Both have advantages. by Anonymous Coward · · Score: 0

      You may rape babies.

      Using the may qualifier makes your statement misleading, at best.

      Stop using weasel words.

      numbnuts

    4. Re: Both have advantages. by Edward+Nardella · · Score: 1

      If you don't want me to use weasel words then you should stop cherry picking.

      --
      My sig doesn't address Anons, sigs aren't visible to them.
    5. Re: Both have advantages. by Edward+Nardella · · Score: 1

      That should have said: if cherry picking was not so common I wouldn't need to use "weasel words".

      --
      My sig doesn't address Anons, sigs aren't visible to them.
    6. Re: Both have advantages. by Anonymous Coward · · Score: 0

      You should have written: "I am a sperg and a 'tard so I try to prove something by using weasel words such as 'they may', 'they could', 'they might' to prove that the company I enjoy sucking off is amazingly great, despite decades of proof to the contrary."

      numbnuts

  12. nope by tero · · Score: 2

    While the "many eyes" can be theoretically a better model, practice has shown very few actually look at Open Source software with security in mind.

    Even critically important projects like OpenSSL.

    Security review takes time. Time is money (even in OSS world). Security audits require money. They don't get done, unless commercial entity (using OSS) commissions them.

    The "many eyes" is a really bad security model in practice.

    1. Re:nope by kzwork · · Score: 2

      So the better one is by obscurity (closed source)?! How many people can do reviews if the code is not open - ~0.

    2. Re:nope by tero · · Score: 1

      Plenty of people reverse code routinely.
      Look at something like Veracode's SCA service for example.

      I'm saying "many eyes" is not a model you can't trust blindly (heh). You still need to have right types of people looking at your code for security flaws.

  13. Tens of millions... by Anonymous Coward · · Score: 0

    Tens of millions of loonix/openssl users didn't find heartbleed.
    Linus' law only sort of applies to bugs on the codepaths most trod.
    Believing it as a tenet open-source dogma WILL give you a false sense of security. Most users, and even most developers, aren't in a position to hunt down serious bugs that aren't apparent with normal use of the software. They just expect their tools to work. And when they do, they don't stop to look for security bugs, they just keep on with their business.

  14. Who counts the votes? by sjbe · · Score: 1

    The larger issue is that we need publicly-disclosed source code for some things, to assure the public good, whether it is proprietary or Open Source.

    There is a famous saying with elections that it's not the people who vote that count, it's the people who count the votes. Similarly having some source code to audit is great but it's meaningless if the company doesn't actually utilize that exact code or finds some sneaky way to circumvent it.

    That said I do agree with your point.

    1. Re:Who counts the votes? by Bruce+Perens · · Score: 2

      Similarly having some source code to audit is great but it's meaningless if the company doesn't actually utilize that exact code or finds some sneaky way to circumvent it.

      Good point. You need assurance that the code in the device is the code that you see.

      This is a way big problem for government. There are many integrated circuits in our fighter jets, etc. How do we assure that what is inside them is what we think? Thus, we have defense assurance programs that follow the production of a chip from design all of the way to the finished product. But these are a poor substitute for having a technical method to verify that the chip actually does what the manufacturer says it does, and nothing more. Nobody's figured out how to do that.

    2. Re:Who counts the votes? by drinkypoo · · Score: 1

      Good point. You need assurance that the code in the device is the code that you see.

      And that is why the GPL with anti-tivoization clause is the only reasonable remedy. You need the rights to meaningfully use the code, and Free Software provides that, while Open Source does not.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  15. opportunity by Anonymous Coward · · Score: 0

    Isn't it all down to the fact that there is at least an opportunity to investigate, review, patch and so on. Considering there's even competitions to hide malicious code in plain sight the quality of the review of open source does really depends on people's understanding of what they are investigating and the arms race of intelligence is healthier with open source.

  16. No by bravecanadian · · Score: 2

    The fact is that there aren't many eyes on most parts of the code, and of the ones that are, very few of them are qualified to find the problems.

    1. Re:No by Cro+Magnon · · Score: 1

      With Open Source, there's no guarantee that anyone will find the bugs in the code, but with closed source, I guarantee nobody but the company's programmers will be finding and fixing the bugs

      --
      Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
    2. Re:No by Anonymous Coward · · Score: 0

      Just the fact that it CAN be audited is the point. Liability to anybody who tampers. Maybe swim with the fishies.

    3. Re:No by Anonymous Coward · · Score: 0

      except it was Eric, not Linus, it was just named after Linus, which since you're about the 50th person in this thread to make the same mistake (even though it's in the summary ffs) which kinda points out how it's wrong...

    4. Re:No by Anonymous Coward · · Score: 0

      A statement is wrong because it is misattributed?

      You must be a MS fan with that level of shitty logic

      numbnuts

  17. There's another problem by slashdice · · Score: 2

    I use some software. It's in debian (and ubuntu) but hasn't been updated in years. It's not the sort of thing that needs to be updated. But I've manged to find and fix 6 or 7 bugs. serious bugs. coredump now type bugs. I've stopped reporting them back to debian because nobody is looking at bug reports. There is no upstream. I've reported them back to a fork I found on sourceforge but they asked me to rewrite my commit message without oxford commas. Seriously.

    I'm glad it's open source, I wouldn't be able to use or fix it, otherwise. But nobody else will benefit from my bug fixes.

    --
    Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
    1. Re:There's another problem by Anonymous Coward · · Score: 0

      I reported a bug once to the proftpd devs.
      I, as a complete stranger, was able to change a bug's severity on their bug tracking software. I thought I was helping but nope. Someone got upset with me for doing that. It never got fixed as far I remember.

  18. It makes it Better! by Anonymous Coward · · Score: 0

    Fucking better man! you know, just better. The software is fucking better!! no matter what.

    wait , what, uhh, this is about security?

    No, open source is better!!!! better!!!!!!!!!!!!!!

    BETTER!!!!!

  19. With more installations it is. by Qbertino · · Score: 2

    See WordPress. Abysmal architecture, programmed by monkeys on crack, pretty good security. The last critical gap was closed after only 8000 websites had been infected, something like .0002% of the installbase or something.
    Pretty neat.

    I bet that gap in that obscenely expensive Oracle Java web application server thingie isn't found half as fast let alone fixed in such a speed.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:With more installations it is. by Bruce+Perens · · Score: 1

      Nobody is saying that PHP is a nice language. The point of it was that it allowed less-skilled web designers to write software for web presentation. People who never learned the fundamental concepts of computer security. The security problems were a natural result.

      We have much better languages today, and I sure help people use them. But I can't make them do so.

    2. Re:With more installations it is. by phantomfive · · Score: 1

      See WordPress...... pretty good security.

      No haha.

      The last critical gap was closed after only 8000 websites had been infected, something like .0002% of the installbase or something.

      If they would start using parameterized queries like the rest of the world, this would have been zero.

      --
      "First they came for the slanderers and i said nothing."
  20. as secure as a website by hmadrone · · Score: 1

    Most of the web runs on layers of open source software. If Linus' Law was more than an open source marketing point, the web would be a poster child for secure computing.

    Even back in the 90s, open source software wasn't more robust or secure than proprietary software, and that continues to be the case despite numerous assertions to the contrary. Sure, there are more eyeballs on the code, but few delve deeply into it, and fewer still delve deeply into it looking for flaws or vulnerabilities. A lot of open source software is built on a shoestring. There aren't the resources to get the features the code needs, let alone the programmer hours to make it bulletproof.

    Moreover, open source software is as vulnerable to players with evil intent as any other kind of software. If a programmer wants to introduce a backdoor, all they need to do is make themselves an expert on some ugly low-level area that no one else wants to get into. The vulnerabilities are hidden by the complexity of the code and the time cost of digging through the ugly code. Bonus points if the programmer is backed by government or industry.

    What would you do if you were the NSA? What would you do if you were a private entity that wanted access to all the data everywhere? Do you think they're not actively doing all that and more?

    Now add the fact that different layers and components are built by different groups who likely don't coordinate with one another. If one layer or component is well-built, well-audited, and secure, bad players can just move their mischief elsewhere.

  21. I am God's gift to you rotten bastards... apk by Anonymous Coward · · Score: 0

    See subject & APK Hosts File Engine 2.0++ 64-bit for Linux h t t p : / / a p k . i t - m a t e . c o . u k / A P K H o s t s F i l e E n g i n e F o r L i n u x . z i p (remove spaces between characters & download).

    Yields more security/speed/reliability/anonymity vs. any SINGLE solution (99% of threats = hostnames vs. IP address that most firewalls use) more efficiently/FASTER + NATIVELY 4 less!

    (Vs. "Bolt on 'MoAr' illogic-logic" competitors slowing you, hosts speed you up 2 ways (adblocks + hardcodes u spend most time @) vs. competition loaded w/ bugs (DNS/AntiVir) + their overheads (messagepass ('souled-out' to advertiser addons) + filtering drivers) & their complexity leads to exploitation).

    * ONLY 1 of its kind in GUI on Linux/BSD!

    (Much better vs. Windows model in speed & efficiency + new "merge" feature)

    APK

    P.S.=> I use Firefox on Linux & it works like a DREAM w/ hosts. You rotten bastards can benefit from my greatness as God's gift to you... apk

  22. No, collective blind spots by ka9dgx · · Score: 1

    There's a huge collective blind spot in the programming community as a whole... they somehow believe that Ambient Authority is an acceptable basis for writing applications in a world of persistent networking and mobile code.

  23. You rotten bastards like & use my work... apk by Anonymous Coward · · Score: 0

    Your software is just fine - well written, functional... I'm going to continue using the Host File Engine by mmell February 17, 2017

    Your premise that hostfiles are a good way to deal with advertising and malvertising is quite valid - by JazzLad April 20, 2016

    his hosts program is actually pretty good by xenotransplant August 10 2015

    his hosts tool is actually useful for those cases in which one does indeed want to locally block stuff outright while consuming minimum system resources by alexgieg September 25 2015

    I like your host file system by Karmashock September 09 2015

    that APK guy, I use his host file by rogoshen1 Tuesday March 03, 2015

    I personally use a HOSTS file blocker produced from a genius called APK by 110010001000 October 27 2017

    * Best part = Linux 64-bit model's faster/more efficient (2x work in 1/2 the time)

    APK

    P.S.=> For a faster/safer/more reliable internet. Even you rotten bastards can benefit from my greatness. God's gift to Slashdot will NEVER be silenced... apk

  24. Why are we getting this shit? by Anonymous Coward · · Score: 0

    Are we about to get hit by another bout of catastrophic closed source bugs, since someone is pushing this agenda filled tired old crap again?

    "All bugs are shallow" never meant that there would never be any bugs. It simply means that with enough eyeballs, all discovered bugs are quickly fixed. Which seems to be holding very true so far.

    Propaganda and deliberate misrepresentations of facts should never make it as "news".

    1. Re:Why are we getting this shit? by Anonymous Coward · · Score: 0

      Most likely more heartbleeds. People are discovering that all the Open Sores have been festering puss buckets since day 1.

  25. More Laws by Tablizer · · Score: 1

    "Linus' Law," which stipulates that given enough eyeballs, all bugs are shallow. Linus' Law, named in honor of Linux creator Linus Torvalds

    Moorinux's Law: Linux's source code size doubles every two years.

    Tablizer's Law: More OSS eyeballs means more interest in product, meaning more source code, meaning more bugs such that bug rate still breaks even.

  26. Problem Lies in "Enough Eyes" by EndlessNameless · · Score: 2

    Any bug can be fixed after discovery because all eyes will be on it. (Or, at least, the eyes of most of the experts for that particular system.)

    A huge part of security is being proactive throughout development---in design, code submission, review, and auditing.

    Private companies can hire people to fill these roles as needed, but most open source projects rely on the security consciousness of individual contributors. Since security is often boring or counterproductive to the development of new features, I can easily see security being less of a priority for some developers.

    Good security requires many eyes throughout the development process. It needs ongoing oversight to ensure that every module and code submission is consistent with the security model for the project.

    BSD has one seriously security-conscious leader, but that is not typical. Maybe Red Hat will pay someone to oversee the security of the Linux kernel or audit its code, but most projects won't have that kind of backing. They'll rely on luck of the draw---maybe you attract someone with security expertise, or maybe you don't.

    Without a dedicated security focus, projects should go through hardening phases where they deliberately welcome security experts and design/redesign as necessary for security. Even if it means a slowdown or moratorium on new features. Security takes time and effort, and the only solution is to put more eyes on it.

    --

    ---
    According to the latest ruleset, this post should be modded as Vorpal Flamebait +5.
  27. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  28. Tragedy of the commons. by technosaurus · · Score: 1

    Yes, the bugs can be shallow, but the eyes have to actually look at the code. Unfortunately everyone assumes another has done it or will. Guess what, they haven't and won't.
    Do you see anyone debloating the kernel? I looked into it once (video drivers primarily), but there was so much code duplication scattered in so many places that it would have required more time than I had and more importantly lots of interaction with the lkml...
    Maybe with a GSOC project or some other sponsorship, but until then there will be very few eyes on the prize.

  29. No by Tailhook · · Score: 1

    Open Source is better, but not because there is some vast horde of people auditing the code for free. There isn't. Linus wasn't talking about auditing code. Linus wasn't even necessarily discussing security. That quote doesn't claim or even imply that some benevolent group of open source programmers are scouring code for security flaws.

    Linus was simply observing that even difficult bugs are quickly understood when enough people look at the problem. The known problem; not latent flaws in some large body of work.

    --
    Maw! Fire up the karma burner!
  30. Of course it's better what a stupid question. by Anonymous Coward · · Score: 0

    Proof is: Microsoft is closed source for instance. Is it secure? Not even to Microsoft although they are the ones who can audit the source. That's doubly stupid because they are KNOWN crooks. Anti-Trust the movie was about them but using a fictitious company name "Synapse".

    They are all spyware and they are closed source. How can closed source ever be thought of as secure and cool? It can't.

    Time to get Microsoft off of retail PC's too. Plenty of Linux distros are super easy for elderly and brand new tech illiterate people.

    Die Microsoft die it is shit.

  31. Exactly. Shallow, not non-existent. Personal examp by raymorris · · Score: 5, Insightful

    Exactly. ESR summed up Linus's thoughts as ".. all bugs are shallow", not "all bugs don't exist".

    Linus's exact words were:
    "Somebody finds the problem, and somebody else *understands* it."

    I'll share two examples from my own experience. Somebody found the shell shock bug and suggested a fix. Over the next few hours, hundreds of people looked at it. Some saw that the suggested fix wouldn't quite cover this variation or that variation, so they tweaked it. Florian Weimer, from Red Hat, said those tweaks would never cover all the variations, and suggested an entirely different fix, one that went to crux of the problem. Over the next few days, there was a lot of discussion. Eventually it became clear that Florian had been right. When he looked at the problem, he immediately understood it deeply. Well, it looked deep to us. To him, it was shallow.

    ""Somebody finds the problem, and somebody else *understands* it", Linus said. Stéphane Chazelas found shellshock, Florian understood it, fully, immediately.

    There was no need to release a patch to fix the patch for the patch as we often see from Microsoft, or as we've seen from Intel lately. With hundreds of people looking at it, somebody saw the right solution, easily.

    Here's another example from my personal experience with the Linux storage stack:
    https://slashdot.org/comments....

  32. No by Anonymous Coward · · Score: 0

    What's needed in the open-source world aren't more eyes (quantity), what's needed are more clueful eyes: eyes of individuals deeply familiar with the code. Note: these eyes need to be familiar with the entire code/program/thing, not just exclusively the change being made.

    It is good to have additional eyes on a general level, but in I'd estimate 80-90% of scenarios in OSS, experienced and familiar eyes are what's necessary.

    The problem with open-source projects (and to be fair, this can and does happen within closed-source projects as well, e.g. employee-who-wrote-tons-of-code leaves company; documentation may be good but tribal knowledge is often undocumented, ditto with the "whys" behind the design of something) is that you often have a large quantity of eyes, but very few (sometimes only one pair!) of experienced eyes. The experience comes with time (not necessarily making changes, but just absorbing the knowledge and reasoning and approach styles of those more experienced!) and in many OSS projects, time is not something that's honoured. Instead, the proliferated belief is something like: "some random person on the Internet should be able to download this code, fix the bug, and submit a patch and/or PR", which is unrealistic most of the time.

    Security is a whole other matter. That is to say, a whole other "level" to things that is oft neglected these days. Whole separate subject, but applicable.

  33. PRECISELY THIS. by Moryath · · Score: 2

    When you claim it's better "because many eyes can look at it" the following questions are germane.

    #1 - How many eyes ACTUALLY look at it, rather than just "have the opportunity"?

    #2 - Of what quality are those eyes? Do they know the programming language in question? Are they up to date?

    #3 - Is it just the code in question that matters? Or is it the code, plus a bunch of dependencies to other libraries, pre-compiled or otherwise? How long would it take to become not just a passing pair of eyes, but expert in the programming of the particular application?

    #4 - Are those eyes likely to report what they find? Propose code solutions, or at least file bug reports?

    #5 - Do the devs actually get around to acting on the proposed code or bug reports?

    #6 - How fast do other people relying on this particular project stay up to date, either by downloading the code fixes and recompiling or downloading updated binaries?

    It's not really any "safer" if it's open source but someone's pet project that gets an actual new version source/binary release every 6-12 months at most...

    1. Re:PRECISELY THIS. by Anonymous Coward · · Score: 0

      > #4 - Are those eyes likely to report what they find? Propose code solutions, or at least file bug reports?

      #4.1 Are they being paid to overlook or deliberately include code that users might consider bugs? For example commercial vpn software with multiple backdoors that somehow got checked into their version control system without (officially) getting noticed.

    2. Re:PRECISELY THIS. by Moryath · · Score: 1

      Who said "commercial" is the only variety there? Remember what happened to TrueCrypt, and that was "open source".

  34. We lost the labor race by Tablizer · · Score: 1

    What's it being compared to? Closed-source orgs usually don't reveal details and problems. We only hear about them when enough people get screwed that it can't be kept from the public. For every closed-source breach you hear about, there may be dozens or even hundreds that go unreported.

    The world is full of bright but under-employed coders who have thousands of spare hours to dig for holes. Third-world standards of living and wages make the rewards for evil hacking large from their perspective. Thus, there's a lot of incentive among a lot of people to bust into things.

    The labor and incentives for prevention are simply too small compared to that for hacking.

  35. Security vs Law Enforcement: 2 impossible missions by holophrastic · · Score: 4, Interesting

    I have trouble with this industry-concept that software security should be put first -- it's an impossible business objective.

    Think about how many industries focus on security. Banks, sure. Money transport, of course. Prisons and jails.

    My air conditioner broke last week. It needed a new capacitor. It was a 5-minute $0 fix. Walk between the houses, open the compartment, pull out the breaker.

    Now imagine your air conditioner, with the software industry's concept of security. Can you? How many check-points for a repairman to get to my air conditioner? How much added hardware? How much added expense in dollars and time? What stops someone from throwing a paint-filled balloon from fifty-feet away?

    Security, when lives aren't at risk, is just so rarely worth it.

    And when lives are at risk? Maybe you have a lock on your front door. Maybe it's a deadbolt. Maybe it's a really fancy locking mechanism, super-secure. Your front door is likely right next to a glass window. Congrats on the lock. Enjoy the bars on your windows.

    And what stops your car, at highway speeds, from hitting another car at highway speeds? Right, a thin strip of white paint. Excellent. Sometimes the paint is yellow, even better.

    We've never focused on security. We simply cannot afford to.

    Instead, we talk about insurance, and criminal law enforcement.

    So that's what I'm suggesting for software. Law enforcement. Deterrents.

    Anything else, well, is just uncivilized.

  36. You misunderstood the concept. -2 days to fix by raymorris · · Score: 1

    You misunderstand what the quote is about.
    It says "... bugs are shallow", not "bugs don't exist".

    See:
    https://it.slashdot.org/commen...

    In the case of Heartbleed, it became public on April 7th.
    The fix was available on April 5th. Meaning it was patched, and some people protected, before users even knew there was a problem.

    Compare some IE bugs which were publicly acknowledged for seven YEARS before being fixed.

    1. Re:You misunderstood the concept. -2 days to fix by Anonymous Coward · · Score: 0

      Stop trying to blow yourself.

  37. Shallow, not "don't exist" by raymorris · · Score: 1

    It says "... bugs are shallow", not "bugs don't exist".

    See:
    https://it.slashdot.org/commen...

  38. Re:Exactly. Shallow, not non-existent. Personal ex by Aighearach · · Score: 4, Interesting

    My experience was, I saw a bug report in some open source and tried to fix it, and by the time I had a patch written a better one was already released upstream and I was the last person to upgrade because I was off trying to write a patch.

    There are so many freakin' eyeballs available, volunteers are mostly just jerks like me who are getting in the way trying to help! You have to have an inside line to the developers or security researchers to even learn about a bug early enough to have anybody notice even if you understood it as soon as you heard about it.

    Even writing new types of network servers; somebody announced they were abandoning a web middleware tool that was popular, and so I started plugging away at an apache module, but within a week somebody else released something similar enough to mine that I just stopped coding and used theirs. Sure, my architecture choices were better, but theirs weren't bad enough to amount to bugs so nobody would ever notice or care.

    Programming is easy, the hard part is finding an unserved use case! And fixing known bugs is a pretty obvious use case.

  39. Complex Question by ytene · · Score: 2

    I think there are a couple of aspects to this that might be a bit off the beaten track of threads posted so far...

    The first is that we need to think about like-for-like comparisons. When these observations were initially made, 20 years ago, how many projects [either closed source or open source] were using automated source code scanning solutions? i.e. technology specifically written to parse code for flaws?

    In other words, 20 years ago the "landscape" was likely to be close to "even". Today, however, many commercial software development shops use vulnerability scanning solutions and/or routinely conduct binary scans of resultant code. Today, many commercial development shops use automated test harnesses for load testing and regression testing. It is fantastic that they do. They do this because they can afford to and because the rapid advancement of this sort of technology has made it possible. Twenty years ago? Not so much.

    This would suggest that we might start to see a difference in post-production bugs between Open Source and Commercial/Closed Source software where the development environments differ between these two operating models.

    The second observation would be far more tenuous. In the same 20 year period, we have seen many different programming languages "come and go". Obviously the more established platforms (COBOL, C, C++, JAVA) continue to be popular, but this, too, brings differences in bug reports. The longer a language has been in existence, the more mature development becomes, the more libraries become available, the more skilled developers become in preventing even the more obscure bugs.

    I don't have access to the data [and wouldn't know where to look for it, tbh] but I think it would be easy to graph out "average number of vulnerabilities per thousand lines of code" - i.e. defect density - over a 5, 10 or even 20-year period of language use. It would be reassuring to see if that trended down - but even more interesting [and worrying] if it didn't.

    A while back I went looking to see if there were any "big rules" about different programming languages being more or less prone to vulnerabilities than others. I had read [maybe 25 years ago] that Ada was once thought of being a language with very few bugs. The theory was that it's compiler was so strict that if you could get your code to compile, it would probably run just fine. I was really surprised to learn that although there had been a few studies, there didn't seem to be any emergent evidence to suggest that there were differences between languages. I was surprised because my ignorance had suggested to me that helpful and/or heavily typed languages would be less bug-prone that more relaxed ones - i.e. that JAVA would have a lower defect density than C. Apparently [and I'd be happy for anyone to correct me] the evidence does not support this.

    Sorry that this is trending away from the original question, but I think that context is absolutely crucial to get to a good answer to the original post - and that we would find that, like forecasting the weather, it would be pretty hard to do...

    1. Re:Complex Question by phantomfive · · Score: 1

      . Today, however, many commercial software development shops use vulnerability scanning solutions and/or routinely conduct binary scans of resultant code.

      These vulnerability scans are about as effective as using Lint (which is effective). AI vulnerability scanners are in research, but they have a long way to go.......

      --
      "First they came for the slanderers and i said nothing."
    2. Re:Complex Question by ytene · · Score: 1

      Agreed... and sorry if my earlier comment was too abstract, but I was thinking of this in the context of, specifically, "many eyes make all bugs shallow" and the fact that, of course, any form of vulnerability scanner [static or dynamic] is the equivalent of "many eyes".

      The question for me, though, would be to determine whether commercial software shops, by virtue of having a budget to spend on this sort of thing, can now "buy" better bug identification capabilities.

      I'm starting to think there are no hard or fast rules to that. Two of my personal Windows 10 Pro/64 systems have just auto-updated to the latest major update and both have been completely trashed. Interestingly, the same two machines were trashed by the March update earlier this year and in both cases the symptoms are *exactly* the same. So even a company like Microsoft, with literally billions to spend and supposedly one of the best developer work streams money can buy, can still ship bug-ridden code. In my case the issues seemed to be GPU related, so I spoke with the retailer of my card and the vendor of my card and both tell me that they are drowning in issues as a result of the latest update.

      So maybe one of the more important factors with respect to code vulnerability is "pressure to release"?

    3. Re:Complex Question by phantomfive · · Score: 1

      I was about to give an example of a company that spends a lot on their team to find security bugs, Android, but then I realized Android is open source. So I don't know.

      --
      "First they came for the slanderers and i said nothing."
  40. Start by posting your idea by raymorris · · Score: 4, Interesting

    Your experiences remind me of something I learned about open source development. I now start by posting about what I intend to do. I've received these responses:

    John is working on that and expects to release it next week.

    No need to do all that, just use setting Xyx and skip the last part.

    That seemed like a good idea, but when we looked into it we noticed this trap.

    We decided we want Betaflight to focus on LOS. Your idea fits better with the iNav fork, which already does most of that.

    Hey that's a good idea. Can you also allow multiples? That would be useful for me. I can help test.

    1. Re:Start by posting your idea by Anonymous Coward · · Score: 0

      Really though? All your experiences have genuinely been like that? Just amicable exchanges without any disagreement on animosity? Come on.

    2. Re:Start by posting your idea by Moryath · · Score: 1

      General response I've gotten from opensource/linuxheads: "oh you think our code is bad? Why don't you fix it yourself then leech." So maybe YMMV.

  41. The Many Eyeballs is BS by SwashbucklingCowboy · · Score: 2

    It's pure BS. Yeah, you *can* look at the code, but how many do? And how many have the requisite knowledge to recognize it when something is wrong?

    As noted on Slashdot over 10 years ago (https://it.slashdot.org/story/08/05/11/1339228/the-25-year-old-bsd-bug) it took 25 years to fix a bug in some commonly used open source. My understanding is that the Samba team even coded around the bug instead of looking at the code and getting it fixed.

    Is open source security better than closed source? Sometimes yes; sometimes no. Depends on the developers, the projects and the companies involved. Security is about process and there's a lot more to the process than having access to the source code.

    1. Re:The Many Eyeballs is BS by Anonymous Coward · · Score: 0

      ^exactly this. The number of people with both the time and necessary skill to review the code you can count on your fingers, if code reviews and audits aren't baked into the process then really you are simply trading one set of weaknesses for another. That isn't to say Open source projects are bad (though some are fucking atrocious), but that open source is NOT a cure for security.

  42. Impersonating me AGAIN?... apk by Anonymous Coward · · Score: 0

    See subject: "Imitation=sincerest form of flattery" PROVING u WISH u were ME & poor imitation = u.

    * I don't post on hosts in topics that don't fit it (unless you of "moron kind" bring it up 1st)

    (Hence, you give yourself away you're impersonating me!)

    APK

    P.S.=> What are you trying (& failing) to accomplish? Trying to "make me look bad"?? I have to ask as it's EXTREMELY DIFFICULT for me to "think like 'your kind'" (no-mind do-NOTHING "ne'er-do-wells" that can't think, lol) to even TRY to understand your "mental processes" (none obviously that are up to any good)... apk

  43. Fuck you you stalking little cunt... apk by Anonymous Coward · · Score: 0

    See my subject: I'd kick YOUR FUCKING ASS for stalking & harassing me you unidentifiable little cowardly cunt - tell me your REAL name, address, & phone # so I can verify it's REALLY you & we can settle this once & for all, fucker...

    APK

    P.S.=> Everyone SEES you constantly stalking & harassing me bitch, so WHO ARE YOU FOOLING but yourself - & IF I ever get to you? You'll WISH you were dead cocksucker... I shit you not! apk

    1. Re:Fuck you you stalking little cunt... apk by Anonymous Coward · · Score: 0

      Fun Fact: APK blows goats and is a technically incompetent sped.

      numbnuts

  44. Not better, just differant... by bobbied · · Score: 1

    Open source isn't necessarily better than closed source and closed source isn't always better than open source.

    Both have their issues and advantages.. Both have their place.

    --
    "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
  45. Re:Exactly. Shallow, not non-existent. Personal ex by 93+Escort+Wagon · · Score: 2

    Somebody found the shell shock bug and suggested a fix. Over the next few hours, hundreds of people looked at it. Some saw that the suggested fix wouldn't quite cover this variation or that variation, so they tweaked it. Florian Weimer, from Red Hat, said those tweaks would never cover all the variations, and suggested an entirely different fix, one that went to crux of the problem.

    Shellshock. A bug that was shown to have existed since 1989, and was patched in 2014.

    I'm not sure this is the best example to use when discussing whether open source security is better than closed source security.

    --
    #DeleteChrome
  46. More bugs by VeryFluffyBunny · · Score: 1

    You'll certainly find more bugs in open source code, simply because they're easier to find. It doesn't follow that there are more bugs in open source code. It's probably more true that there are many more undiscovered bugs in closed source code.

    --
    Debate is a form of harassment. Do not question my truth.
  47. It's a perfect example of the difference. Meltdown by raymorris · · Score: 1

    I think it's a perfect example of the difference between "bugs don't exist" and "the bug is shallow - to someone". Lots. Of people looked into it deeply and couldn't figure out a good way to fix it. Weimer immediately saw what needed to be done - it was shallow to him, with enough eyeballs "the fix will be obvious to someone".

    Compare Intel's Meltdown patches. They release a patch and say everyone should use it. Then two or three weeks later "oh shit, don't install our patch! We'll make a new patch soon.". How many Meltdown patches has Intel released and then retracted? They are missing the set of eyeballs that would see the simple solution to the core problem.

    This is an entirely separate issue from avoiding bugs in the first place. Both are important. However, bugs that all the script kiddies have exploits for are much more dangerous than bugs nobody knows about. Therefore, fixing known issues quickly and correctly is a big deal for security.

  48. Re:Security vs Law Enforcement: 2 impossible missi by Anubis+IV · · Score: 1

    My father used to tell me that most crimes are crimes of opportunity, which I've largely found to be true in my experience. Someone leaves their car unlocked with valuables visible. Someone leaves their phone at the bar as they go to use the restroom. That sort of thing. In the real world, the criminals you're most likely to encounter are common ones with unsophisticated methods, so simple preventative steps coupled with the effective deterrents you mentioned are generally more than adequate to prevent any given person from becoming a target.

    But in a world of connected devices, everything that isn't locked down is effectively just as insecure as a valuable left behind an open door. Everything becomes a crime of opportunity. Not only that, but the opportunity is open to any criminal in the world, rather than being limited to those in your immediate vicinity. Prosecution is an ineffective deterrent when the criminal remains anonymous in most situations. Insurance is an insufficient redress for a "genie can't be put back in the bottle" situation like identity theft, which can have unforeseen, lifelong ramifications.

    Put differently, most traditional cases for physical security (e.g. your home example) come with low risks and simple remedies for the victims (i.e. things are mostly replaceable once there's a monetary payout, either via insurance or restitution), and low rewards with high risks for the criminals (i.e. they're physically limited in how much they can take, with each act increasing the likelihood they will be caught), meaning that our civilized, traditional approaches do well at handling those issues. Connected devices, however, flip those balances on their heads, with high risks and poor remedies for victims (i.e. important things can be lost and never fully recovered), and low risks and high rewards for criminals (i.e. with the ability to automate and attack from anywhere, criminals can do a lot more damage with very little exposure to themselves). As such, our traditional deterrents and redresses no longer function as well as they once did.

    Ideally, we'd restore those balances, but until and unless we succeed in doing so, it isn't an overreaction or an unreasonable response for people to take their security more seriously when it comes to their connected devices.

    P.S. The traffic example you gave was good, but I'll quibble about its inclusion, since it's addressing safety, not security.

  49. Re:Exactly. Shallow, not non-existent. Personal ex by LinuxIsGarbage · · Score: 1

    Somebody found the shell shock bug and suggested a fix. Over the next few hours, hundreds of people looked at it. Some saw that the suggested fix wouldn't quite cover this variation or that variation, so they tweaked it. Florian Weimer, from Red Hat, said those tweaks would never cover all the variations, and suggested an entirely different fix, one that went to crux of the problem.

    Shellshock. A bug that was shown to have existed since 1989, and was patched in 2014.

    I'm not sure this is the best example to use when discussing whether open source security is better than closed source security.

    On the closed source side of things, lots of bugs that impact Windows 10, will also impact Windows XP (with patches available to customers with agreements, or on XP embedded, or POSready). Back when older operating systems were supported, lots of bugs impacted XP, 2000, NT4, and 9x. So it's likely that many of these current bugs also impact ancient versions of Windows.

  50. Re:Security vs Law Enforcement: 2 impossible missi by drinkypoo · · Score: 1

    We already have laws against this stuff, but we can't hire enough people to staff the agencies that are supposed to handle enforcement. Clearly, your solution has already been tried, and it has failed.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  51. Visibility is required but insufficient by jbn-o · · Score: 1

    We need software freedom for all published programs. Merely being able to see some source code doesn't grant anyone the right to compile that code into an executable they can share (including distribute commercially), install, and run. So, source code for one's own vehicle under a free software license is needed. It's quite easy to maintain a code base where the malware isn't listed but is present in the executables people receive and run while publishing source code that has no malware in it and is licensed to users under terms that would allow public disclosure but not the other freedoms of free software.

  52. Re:Exactly. Shallow, not non-existent. Personal ex by phantomfive · · Score: 1

    Also, "Linus' law" was written before things like automatic bug reporting that every OS does these days. In other words, software companies noticed how useful it was, and started copying it.

    --
    "First they came for the slanderers and i said nothing."
  53. No real diff, but few days vs 3-9 months for fixes by Anonymous Coward · · Score: 0

    No real diff, but with proprietary code, only 1 entity **can** fix the issue or even admit the issue exists.

    With F/LOSS, there are many eyes who have a chance to see the issue and correct it, usually withing a few hours of discovery.

    F/LOSS fixes usually are available in a few days, at most.
    Proprietary software fixes take 3-9 months.

    Which is better?

  54. Re:Security vs Law Enforcement: 2 impossible missi by phantomfive · · Score: 1

    I have trouble with this industry-concept that software security should be put first -- it's an impossible business objective.

    It would be kind of cool if people could follow basic security principles, like, "Don't use telnetd" or "don't release software with default passwords." You don't need perfect security, but think about it a little, at least.

    --
    "First they came for the slanderers and i said nothing."
  55. Oh? by BrianMarshall · · Score: 1

    At home, I have used Linux - first Redhat, then Fedora - since about 1999. I have never used any sort of virus/malware scanning software. I don't know how common this is.

    --
    "When the going gets weird, the weird turn pro" -- HST
  56. Re:Exactly. Shallow, not non-existent. Personal ex by rtb61 · · Score: 2

    So lets fix the original line, so 'given enough 'competing eyeballs all bugs are shallow'. You did not fail in your attempt to correct a bug, you played a role, you solution not as good as the other but still a comparison and next time, yours might be the better solution. Fixing bugs is about applying the best solution and having a range to choose from, whilst it does delay things, still works to ensuring the best solution at the time is used. So your effort was most definitely not wasted, just part of the overall competing eyeballs, looking for the best solution.

    You might think you did a bad job but I think you did a good one, just part of the team effort. Sometimes you solution misses out and sometimes your solution will be the best one. Practice makes for better performance.

    --
    Chaos - everything, everywhere, everywhen
  57. Facebook uses Wordpress, by wolfheart111 · · Score: 1

    Just kidding...

    --
    [($)]
  58. It's more complicated by Casandro · · Score: 1

    First of all there's a significant difference between "Open Source" and "Free Software". The first only saying that the source code is publicly available, the later saying that your are actively invited to engage in the development process.

    Unfortunately people forget that "The freedom to improve the program" means that the program needs to be simple enough that individuals can have a decent chance of understanding it and making meaningful changes. We see a dangerous trend towards more complex and integrated software.

    Now if you have simple software which can be understood easily, you will have the eyeballs looking at it. There are some semi-free projects like the Linux kernel which have strict code reviews trying to main some level of control by always having a second set of eyeballs looking at it.

    What we tend to forget is that the emergency of mostly competently written Free Software in the 1990s raising in popularity in the early 2000s has caused many closed source software companies to try and get their act cleaned up. Microsoft, for example, had a program in which they tried to fix _all_ bugs. It used to be normal for computers to crash, now every crash is seen as a reason to stop using software from that company.

  59. Totally agree. by Qbertino · · Score: 1

    First of all: Hey, Gang, check it out! Bruce Perens replied to me on slashdot! Yeah man, I started a thread that was joined by Bruce Perens! Awesome! ... Ok, sorry, had to get that out of my system ...

    I get PHP pretty much the way you pointed out. "PHPs badness is it's advantage", I've argued before. There's a fresh Lerdorf talk on YouTube where he himself says it pretty clearly: "PHP runs shitty code very, very well." ... Big upside that is. The downside is, of course, that PHP is *so* easy to do stuff with, that everyone gets to discover their own version of OOP. After they've built a mess of a CMS, that for some odd reason might become hugely popular ... Maybe because it's got nice buttons to click on or something.

    I do PHP for a living (nice book on PHP 5 btw., It got me started. Thanks!) and I'm always torn hither and fro between "take the cash and run" and moving on to Go, TS or something. I've just decided to stick with PHP, since there's so much work to do here and can get certifications ( customers like those) and a gig at every street corner.

    --
    We suffer more in our imagination than in reality. - Seneca
    1. Re:Totally agree. by Bruce+Perens · · Score: 1

      :-)

      Some of the work I do is painful, like arguing over Open Source licensing so that it will continue to be fair for everyone. So, it's nice to hear from people who say I've helped them. I think about them when it gets difficult. Thanks!

      Someone else wrote that book. I was the series editor, which was mostly setting policy, doing PR, and looking over book proposals. That was the first Open Publication book series, and preceded Creative Commons.

      If you learned a language from a book, you can learn another 30. Time to push yourself. Right now, I really like Crystal. It might become as big as Rails at its peak, eventually. And there is no certification in it yet.

  60. Wrong question by Anonymous Coward · · Score: 0

    The right question is "trust". Do I trust those who designed and built the software if they don't want me to look into it?

    These days intentional misfeatures are more relevant than unintentional bugs.

    Whose agent is Excel? Exactly. So if Microsoft's and my interests happen to align, fine for me. If not, I've got a traitor in my house.

    (And beware of all those half-assed "open source-ish" things, which try to keep the control at the other side, as Chrome or Android are, be it by hardware-locked keys, be it by store tricks or some such: they are a honeypot)
    Thanks but no, thanks.

  61. And what happens when people find bugs? by yarbo · · Score: 1

    There are a lot of projects (SystemD, Linux kernel) where the maintainers are hostile to people submitting security patches or filing bugs relating to security.

    https://www.theregister.co.uk/2017/07/28/black_hat_pwnie_awards/

    https://www.theregister.co.uk/2017/11/20/security_people_are_morons_says_linus_torvalds/

    Eyeballs don't help when they find things and are told to fuck off.

    1. Re:And what happens when people find bugs? by Anonymous Coward · · Score: 0

      List one security patch for Linux that was rejected for reason other than it was shit and didn't do what it was supposed to or broke something else.

      Linus is hostile to idiots, they are everywhere and have invaded the computer security realm. They lack real education and try to pass themselves off as experts using shitty security certs(all of which are shit).

      numbnuts

  62. Re:Security vs Law Enforcement: 2 impossible missi by Anonymous Coward · · Score: 0

    The difference is that every software exploit, fundamentally, involves an attacker asking for access. They may "ask" in all manner of ways, but they all involve sending data - a sequence of bits - with the meaning that the attacker would like access to this computer, please.

    I don't expect my house to have umpteen locks or bars on its windows, the same as I don't expect my computer case to be built of bulletproof titanium. What I would like is for my butler to open the door for me, and only for me.

  63. Can't think of any animosity. One guy was picky by raymorris · · Score: 1

    I can't think of any animosity, no. Of course I've never sent utter crap to Linus. That gets a fun response.

    One module owner was "picky" about following all the guidelines exactly, and really thinking through how to do things. That got frustrating at times. It resulted in high-quality software, though. Once when we could couldn't agree on approach A or approach B I suggested we try talking on the phone, thinking just *maybe* a different mode of communication would make a difference. It definitely did make a difference. Halfway through the conversation he thought of approach C, which sounded really good to both of us.

    People sometimes have different ideas, or disagree, but I listen carefully to understand their thoughts and concerns and we find an approach that works for both of us. Recently I sent a pull request for a module which is a simple wrapper around a more complex module. I wanted to add an option. He thought the change should instead be made in the more complex, embedded module. I explained why I thought that wasn't the right way to go. He didn't want to make XML::Simple more complex by adding options, so instead we decided to change the default behavior of XML::Simple and not make it an option.

  64. Re:Security vs Law Enforcement: 2 impossible missi by strikethree · · Score: 1

    We've never focused on security. We simply cannot afford to.

    That is because you and many other people fail to understand how the concept of security is to be applied.

    Ultimately, if security is seen as a "state of things", then the ONLY way to be secure is to freeze time since any changes could lead to making things less secure.

    Ultimately, things change. Managing that change intelligently is security. Just follow a few simple steps:

    Establish what you want to do.

    Look for any risks associated with that activity.

    Determine if any of those risks can thwart your original intention.

    If your original intention can be thwarted, you are free to spend as much energy mitigating the risk as you will on the original activity.

    If your original intention can NOT be thwarted by the risks, then it is absurd to spend the same, or more, energy than the original intention.

    The final step is to determine if any of the mitigations prevent you from executing your original intention. If the mitigations prevent you from executing your original intention, your security has failed. If your mitigations have increased the energy cost by more than 100%, then your security has failed.

    --
    "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
  65. Sounds like an appropriate response to "this is cr by raymorris · · Score: 1

    That sounds like a response I would expect if I sent "this is crap".

    I've read and re-read this semi-humorous article to make sure I remember the serious points it includes:
    http://www.catb.org/esr/faqs/s...

    The gist of it is, if I want something done, I do as much of it as I can, sometimes that's describing the problem in as much detail as possible, including describing what I expected to see happen instead. For a feature request, that means identifying the use case - who would use this new feature, fot what? Other times I send a pull request - I do fix the problem. Normally I only do a pull request (fix) for very simple problems. For more complex ones I send a message describing what I plan to fix first, asking for feedback.

  66. Re:Security vs Law Enforcement: 2 impossible missi by holophrastic · · Score: 1

    I don't know where you live, but maybe you should consider moving.

    I would agree with your father that crime is mostly of opportunity -- I say you can't ever stop Ethan Hunt, so certainly I'd agree that crime prevention is of opportunistic crimes.

    But crime prevention isn't about security.

    My beloved left her iPhoneX in a restaurant bathroom last week. When she realized, an hour later, she found it at the front. That means at least one woman saw it in the bathroom, and handed it to at least one waitress paid minimum wage, who had this unlocked $1'250 iphone for an hour downtown. And no, she doesn't put a passcode onto it, because that makes the phone unusable in reality.

    Currently, and for the last sixty days straight, I have $200 of garden hose and sprinklers on my front lawn. I also keep about $1'500 of gardening tools on the front porch, in plain sight.

    I've never owned a car that locks its windshield wipers. I've watched locksmiths and parking lot attendants break into a car in under thirty seconds. Just last week I broke into a car with a wire hanger in under three minutes.

    Smashing a window next to a front door is pretty convenient. And with about an hour of practice, picking a lock is just as easy.

    I park my convertible open in parking lots all the time. I don't worry about the $200 of stuff that I leave on the seat. I worry about the birds perched on the lightstand above, or the kid with the ice cream cone.

    It's not opportunity that stops me from stealing your stuff. It's ethics.

  67. Re:Security vs Law Enforcement: 2 impossible missi by holophrastic · · Score: 1

    That's like saying the lock on your front door "asks" for a key with the right pattern of bumps, and picking the lock is just sending the bumps a different way.

    I don't want to ring my bell and wait for my butler. I want to walk into my house unattested. I also don't want to pay for a butler, nor live with one around. That's why I have a lap-dog, not an attack-dog.

  68. Re:Security vs Law Enforcement: 2 impossible missi by holophrastic · · Score: 1

    My point is best encapsulated by your final sentence -- all security efforts increase the energy cost by more than 100%.

    I want to drive fast. I build a road. I don't want someone else on that road to bump into me, which would kill me and thus impede my original intention of driving forward, fast. So I need to put concrete dividers between the lanes.

    Building a road is easy. Even paving a road isn't so bad. But bringing in concrete dividers, and orchestrating entrances and exits to them is absurdly expensive.

    Hence, we use white and yellow paint, and just presume that people aren't trying to kill each other with cars.

    Think about what a handful of ball-bearings or tire-spikes would do if you just flung them onto a highway?

  69. Re:Sounds like an appropriate response to "this is by Moryath · · Score: 1
    I've sent in some pretty detailed stuff like you are describing - steps to re-create, use case, etc. You can only waste time so much though trying to get through the barrage of:

    -Works in MY rig/environment

    -RTFM (I already did, this isn't in there)

    -Fix it yourself we're working on bigger things, the point of giving you the code is YOU fix it

    Hell, with most projects even trying to get them to fix typos and grammar issues in the tooltips or help-docs is frustrating.

  70. Something is missing. Link? by raymorris · · Score: 1

    Something is missing in this story. Care to show me a link to one?

    -Works in MY rig/environment
    Means we need to know exactly which environment it doesn't work in (along with what "doesn't work" means).

    -RTFM (I already did, this isn't in there)
    Often means the person didn't know which word they were looking for in the manual, and therefore didn't see it without reading *carefully".

    Seriously, if you're frequently not getting good responses, it's very likely the way you habitually handle / report things is missing some important element that you don't realize you need to include.

    Either something you don't realize you need to include, or an aggressive, off-putting attitude. I seriously did read ESR's semi-serious piece at least three times, so I don't forget.

  71. Re:Security vs Law Enforcement: 2 impossible missi by Anubis+IV · · Score: 1

    Agreed, but that misses what I was saying. In real life, people like you are who I commonly deal with. In a connected world, unethical people are who I’m bound to encounter because the boundaries have been removed by connectivity. Ethics work fine when we surround ourselves with people like ourselves. They fail when anyone can reach us.

  72. Re:Security vs Law Enforcement: 2 impossible missi by holophrastic · · Score: 1

    ...and hence, I'm saying we make the connected world work like the real life that it is. We start enforcing the laws. We make examples of people. We call them criminals. We make it just as easy to fine them.

    And let's be clear, I don't necessarily mean that we always need a big huge court case.

    I live in a wonderful little city, next to a giant huge city. We have some very wonderful neighbour-to-neighbour systems. For example, in my city, you are expected to work out the fence situation with your neighbour. It is expected that the two of you will come to an agreement, and no one else cares what that agreement is. However, you have a right to a fence, if you want one. So if you can't come to an agreement with your neighbour, you are allowed to just go ahead and build a fence, on the property line, send half the bill to the city, and the city will pay it instantly, and simply add it onto your neighbour's property tax bill.

    The same is true if your neighbour doesn't shovel the snow from their sidewalk, lets their grass/weeds over-grow, or generally lapses on anything that good-neighbours are expected to do.

    There's no court case, there's no question. I call the city, the city calls them, if they don't comply right away, the city comes out and does it for them, and charges them for it.

    There are plenty of such systems, including those that don't require owning a home. I should think that the connected world would be no different.

    And again, I understand the intricacies of accidents. Stumbling upon someone's machine by mis-typing an IP address is like tripping and stumbling into someone's garden. Downloading all of their files is like meticulously picking their flowers. Deleting their files is like unearthing their plants. Doing it multiple times, and after they've asked you to stop is the unequivocal crime.

    I think the problem with our laws today, are that they don't allow for obviously equations. I've said this from the street-level cameras. My living room couch isn't public -- even if it's visible through a window, even if the curtains are open. Someone with an x-ray telescope in the street doesn't get to say that I put my couch where it could be seen. The laws were written when houses were long drives from the public street. The law was never written properly. It was never context-aware.

  73. Re:Security vs Law Enforcement: 2 impossible missi by Anubis+IV · · Score: 1

    I agree with everything you're saying about how things should function. Enforcing our laws is a good idea. Full stop. It's how other things function in real life and it's how things should work in the digital world as well. I'm not disagreeing with you about that. Nor am I disagreeing with you over what is or isn't a crime. We seem to be on the same page about all of that.

    But how do we put it into practice? Your suggestion that "we start enforcing the laws" is predicated on the assumption that we are capable of enforcing the laws. I don't think we are. Going back to my original response:

    Connected devices, however, flip those balances on their heads, with [...] low risks and high rewards for criminals (i.e. with the ability to automate and attack from anywhere, criminals can do a lot more damage with very little exposure to themselves). As such, our traditional deterrents and redresses no longer function as well as they once did.

    Put differently, I think the laws are fine, and I agree that we should be enforcing them, but I think that we are already enforcing them to the best of our ability, which only serves to prove that our ability to enforce them is broken. We certainly should be working towards enforcing our laws more effectively, and where we have an inability to do so we should be figuring out how to overcome those hurdles. But, during periods where the law can't keep up with criminals, the only reasonable choice a person can make is to secure their property themselves.

    That's all I'm advocating for. I'm not saying we should do it instead of enforcing the law. I'm saying that we should do it until we can enforce the law effectively.

  74. Re:Security vs Law Enforcement: 2 impossible missi by holophrastic · · Score: 1

    Then let's address that part -- "that we are capable of enforcing the laws".

    A long time ago, there was something call the wild wild west. Perhaps www has always stood for wild wild west. The wild wild west was defined by the imbalance of powers, mostly due to two things: the power of criminals with unlimited access to guns, and the lack of power of corporations to actually secure anything like money.

    A gang of thieves with horses and guns could easily threaten any business, and any sheriff. Today's "organized crime" isn't in contrast to today's small criminals, it's in contrast to the gangs of criminals in the wild wild west, where holding up any bank was exactly that easy.

    This parallels, in my mind, to our conversation at-hand. Corporations have no ability to secure their data, and hackers have unlimited access to hacking tools and escape horses.

    But banks haven't become any more secure over the last thousand years. Sure, there are big huge vaults that are very secure. But ATMs are less secure than a 1'000 year-old safe, and they are easily ripped from the wall with a few obvious tools. Similarly, a brinks truck is nothing more than a few humans, easily attacked by a gang of ten teenagers with hammers.

    But in the wild wild west, there were deterrents that limited crime to only bands of outlaws. Death-penalties were much more common.

    I'm not suggesting that we should kill hackers. I am suggesting that we should eliminate their online freedom in the same way. I don't think it would be difficult to effectively revoke a criminal's general hacking tools (connection, real equipment, et cetera). And hey, if the internet really is an essential human right (which is ridiculous, by the way), I'm sure we can develop a consumer-only tablet-style device for these criminals, that really can't do much more than surf the web.

    Maybe, that's actually easier than I think. Maybe it comes down to nothing more than curating their data connection -- in the same way that a prison guard curates a prisoner's movements. We'd be jailing their data connection. It might be as simple as that.

  75. Re:Exactly. Shallow, not non-existent. Personal ex by Aighearach · · Score: 1

    It didn't need fixing; if you didn't understand it, it isn't a fix to change it to mean the thing you misunderstood it to be.

  76. GOF Patterns Rant [Re:More eyes] by Tablizer · · Score: 1

    Architecture affects things like how quickly large programs can be built, how readily they can be modified and extended with large and complex new features.....When do you use these [patterns]? It depends on the requirements of the job at hand.

    Yes, I fully realize that some structure is needed for non-trivial software. That's not news. But there is nothing close to clear-cut science about when to use architecture/pattern X over architecture/pattern Y; and equally important, why X is better than Y. The reasoning GOF-ers give often cherry-picks narrow future change scenarios. I can often think of many more possible future change scenarios that floods their narrow thinking into the gutter. And the reality of actual change is even more brutal than me as it unfolds. It's far more "scenario clever" than I can be, even though I can out-scenario the GOF fans/writers by about 4 to 1. I slap them twice, reality slaps them a dozen.

    And it often depends on the domain, as you hint. If you don't know the domain, your crystal ball will fail too often. After you build 20 games, you probably have a good feel about how requirements change and how some stay similar over time. But at Game #1, you know shit about that. I can articulate my experience in a domain about what's likely to happen and not happen, but that's NOT real science: it's merely applying the lessons of experience. (Granted, it may be an early step in science, but that just means we are in the bronze age of software science.)

    It lacks anything close to real science. It's Argument From Authority.

    And I feel that many heavy GOF-ers are anti-database, and reinvent in code what should be in the database or queries. ER diagrams are easier to absorb and navigate than large tangled OOP pasta. If your particular mind doesn't like databases and feels weaving complex "noun webs" in code is better, that's your prerogative, but don't assume I or anybody else should enjoy what appears to be moldy pasta to us. Databases make it easier to query and study noun info from "different angles". We are not stuck with the nesting or code file structure of the original author. It's more "meta". Show me all green creatures with blue spaceships having a life-span of less than 200 years who came from planets without large moons.