[HN Gopher] An Unbelievable Demo
       ___________________________________________________________________
        
       An Unbelievable Demo
        
       Author : SerCe
       Score  : 2058 points
       Date   : 2021-06-04 04:21 UTC (18 hours ago)
        
 (HTM) web link (brendangregg.com)
 (TXT) w3m dump (brendangregg.com)
        
       | purpleidea wrote:
       | I was fortunate enough to happen to be live at LISA13 where
       | AFAIK, Brendan gave his first public flamegraphs demo. I'm glad I
       | saw it. I love learning about areas (performance engineering)
       | where I'm weaker. Great demos! I've tried to keep my personal
       | live demos at a high quality too. Can't wait to see what he comes
       | up with next!
        
         | Tabular-Iceberg wrote:
         | Flame graphs completely blew my mind, but most people I talk to
         | about them just don't seem to get it.
         | 
         | I'm a generalist, but I've been thinking lately if performance
         | engineering is something I should be specialising in. I'd love
         | to hear any advice from those in the field.
        
           | jakub_g wrote:
           | Specializing in anything is good if you have 5+ years of exp
           | IMO. It's always good to stand out from the crowd of generic
           | developers.
           | 
           | The other plus is, if you frame yourself as a specialist in
           | X, it might be easier to explain not knowing Y. You can't
           | simply know everything, especially if you invest heavily in
           | specializing in other things.
           | 
           | Personally I've been a web performance (i.e. mostly
           | JavaScript/HTML) guy lately and it's been fun. There's a
           | million of React devs in the world, but only a few dozen web
           | perf guys with web presence (Twitter / blogs), and I almost
           | know all of them by name at this point.
           | 
           | Of course it depends what you want to do. Typically it's big
           | corps who look for specialists. Small companies prefer
           | generalists.
        
       | galacticaactual wrote:
       | TIL that people fly around the world demoing DTrace...
        
         | rodgerd wrote:
         | At the time, Sun were pushing it heavily as one of the two
         | salvations for Solaris, so I'm not surprised.
         | 
         | I have to say that my limited experience in dealing with Sun as
         | a customer mirrors Brendan's comments around a remarkable
         | arrogance, and it probably played no small part in their
         | downfall.
        
           | mannykannot wrote:
           | This has me imagining a struggling engineer at Sun, trying to
           | live up to the arrogance and falling short, who finds
           | Brendan's work and decides to save his career by passing it
           | off as his own. Then some high-level executive decides to
           | make it one of the straws that will save the company...
           | 
           | This is a made-up story, so you are free to make up your own
           | ending as to whether this was the world-travelling VIP, and
           | if so, whether he had some partial or complete flashback on
           | hearing Brendan's name. One thing we can be sure of: whoever
           | 'carelessly' stripped the copyright notice out of Brendan's
           | code had seen his name before (and it was, perhaps, the part
           | of the code he was most familiar with!)
        
           | toyg wrote:
           | > At the time, Sun were pushing it heavily as one of the two
           | salvations for Solaris, so I'm not surprised.
           | 
           | Yeah, I remember that. I kept thinking "this tool might be
           | nice for C wizards but it does _nothing_ for my day-to-day
           | experience as smalltime Linux user  / admin". The other big
           | thing was ZFS, which was interesting, but they were extremely
           | uncooperative with the license, basically ensuring it would
           | never make it big.
        
         | tooltower wrote:
         | 16 years ago, it must have been pretty refreshing.
        
       | jlkuester7 wrote:
       | Recently I was struggling to understand MotionLayout in Android
       | and how to make it do what I wanted for my app. I had searched
       | all over the internet reading blogs and forum posts trying to
       | figure out what I was doing wrong. I ended up watching one
       | particularly helpful presentation video (I think it was from a
       | DroidCon) given by this guy named Jason Pearson. It helped a lot,
       | (watched various parts of the presentation multiple times) but
       | eventually I still got myself stuck again. I ended up dropping a
       | question out on StackOverflow in desperation just to see if
       | anyone might be able to point me in the right direction. Well,
       | fast forward a bit and someone responds to my question with a
       | really great answer that helps me understand what I was missing.
       | Happened to look at the user who wrote the answer and saw his
       | name was Jason Pearson... Then I had to double-check and sure
       | enough, it was the same guy!
       | 
       | So, shout out to Mr. Pearson for a great presentation and a
       | really helpful SO answer!
        
       | widforss wrote:
       | I almost had an heart attack last week when I noticed that a
       | library I've used for work in the last year wasn't open source,
       | but rather source available.
       | 
       | Thankfully, my employer had some licenses for the library without
       | my knowledge, but it ain't fun to break licenses at work,
       | especially when you don't notice until months later.
        
       | greyhair wrote:
       | I had a similar, smaller scale of that happen, in a sort of
       | reverse direction a few years ago. My director dropped a resume
       | on my desk for someone coming from a company I had worked at ten
       | years prior, thinking I might have met them (it was a small
       | organization). I didn't recognize the name, but skimmed through
       | the resume quickly, and their primary claim on their work history
       | was something I invented just six months before leaving the
       | organization. I couldn't believe it. What were the odds of that
       | resume ending on my desk? Basically zero, but what a huge
       | mistake. And they didn't claim they had maintained and extended
       | it, they claimed they had invented it! He didn't get called in
       | for an interview.
        
         | dhosek wrote:
         | I thought this was going in the direction that I experienced. I
         | had a recruiter try to recruit me for the position that I was
         | already in (we were expanding the team, not replacing me).
        
         | steelframe wrote:
         | Having conducted technical interviews at FAANG companies for
         | over 10 years, I've gotten to the point where I never believe
         | anything anyone claims on their resumes unless I can
         | independently verify them. I also make it a point to ask
         | probing questions about where they got the idea of "inventing"
         | what they did and what alternatives to "making a brand new
         | thing" they considered at the time.
         | 
         | However one of my favorite questions to ask is, "What don't you
         | like about what you invented?" A true creator of something is
         | always acutely aware of its flaws. They're unsettled about its
         | shortcomings and wants to do better. In describing the flaws
         | they demonstrate deep insight into the problem space, and they
         | explain expertly how things don't go perfectly in certain
         | corner cases or how the code could have been better organized.
         | 
         | The poser will almost always struggle to come up with
         | criticisms of what they "invented" and try to pass it off as a
         | spectacular feat of engineering brilliance.
        
           | Aperocky wrote:
           | > "What don't you like about what you invented?" A true
           | creator of something is always acutely aware of its flaws.
           | 
           | OH YES.
           | 
           | I've done a lot of things for both work and side, and this is
           | the one thing I can go on and on.
           | 
           | Things that are a choice of the lesser evil, things that are
           | unfortunate, things that we just don't have time for.
        
           | TimPC wrote:
           | Your favourite question has some cultural gaps as in many
           | countries in interview settings people downplay weaknesses
           | and flaws. It's why a lot of weakness questions are often
           | ineffective. Unless you are acutely aware of when a person is
           | doing this BECAUSE it's an interview you're going to get some
           | answers that might lead you to reject good candidates.
        
             | bradlys wrote:
             | Honesty is something that never goes down well in an
             | interview when it comes to being critical. (At least in the
             | US)
        
             | lowbloodsugar wrote:
             | Amazon thinks otherwise. This is their Earn Trust
             | Leadership Principal:
             | 
             | "Leaders listen attentively, speak candidly, and treat
             | others respectfully. They are vocally self-critical, even
             | when doing so is awkward or embarrassing. Leaders do not
             | believe their or their team's body odor smells of perfume.
             | They benchmark themselves and their teams against the
             | best." [1]
             | 
             | [1] https://www.amazon.jobs/en/principles
        
               | TimPC wrote:
               | There is a difference between being self-critical once
               | employed (where I agree it's a useful practice) and being
               | self-critical during an interview (which is often viewed
               | as the process of selling yourself in order to get a
               | job).
        
               | harshalizee wrote:
               | Amazon's "principles" is also just that, corporate
               | shpiel. 100% of Amazon employees, including Jeff Bezos,
               | would fail if they were actually tested against their own
               | dogma.
        
       | JohnBooty wrote:
       | As an American, I found this and the other cultural anecdotes
       | very interesting. We definitely do a lot of obnoxious things, or
       | at least things that can seem obnoxious to other cultures. No
       | arguments there. We should be better. =)                   To an
       | Australian, introductions in the US can sound          boastful,
       | but they can also be useful as a quick          way to share
       | one's specialties.
       | 
       | But this one puzzles me a bit. Typically, we talk up the people
       | we're introducing - I'm not sure I've ever heard anybody talk
       | themselves up during an introduction!
       | 
       | "Sally, this is Bob. Bob's been doing some really cool stuff with
       | XYZ lately. Sally, I know you have too!"
       | 
       | (At which point Sally and Bob often politely insist that no,
       | they're nothing special at XYZ)
       | 
       | I've always thought of this as gracious and not boastful. I
       | definitely agree it would be obnoxious to talk one's self up!
        
       | busyant wrote:
       | Just to throw in an analogous story.
       | 
       | I was hosting a research talk given by quasi-famous professor at
       | a biotech startup that I worked at.
       | 
       | Quasi-famous prof was describing a gene (gene "xyz") being used
       | as a tool in his lab, "but the specifics of what gene xyz is and
       | what it does are not important. It's just a gene we use in these
       | assays...."
       | 
       | Me: Do you know who has 2 thumbs and discovered xyz? This guy.
        
       | baobabKoodaa wrote:
       | My reaction to this presentation would have been... let's just
       | say, less gracious than the author's.
        
       | perlpimp wrote:
       | Once I worked at company X, while there I have seen a said
       | Library for universally accessing things in OS. It was written by
       | our senior architect. Year later I worked at another company,
       | there was this high strung developer boasting about his own
       | library. He even put it up on a webpage - was before GitHub. It
       | was same library at company listed above, so I ratted to the
       | developer who wrote that library. I usually feel queasy about
       | ratting, for some reason I did not feel a slight bit of
       | dissonance.
        
         | hutzlibu wrote:
         | ". I usually feel queasy about ratting, for some reason I did
         | not feel a slight bit of dissonance."
         | 
         | I feel it would have been ratting to the original creator to do
         | nothing.
        
       | mothsonasloth wrote:
       | Is the "D" prefix in things like DTrace a Sun
       | standard/convention?
       | 
       | What does it mean, for example in the JVM arguments start with
       | "D" as well.
       | 
       | Any history to this?
        
         | [deleted]
        
         | j-pb wrote:
         | TL;DR: DTrace uses a minimalistic C dialect called D to write
         | it's probes, hence the name.
         | 
         | In order to trace arbitrary code, it has to inject these into
         | the code site that you want inspected.
         | 
         | If you could just inject arbitrary C, you'd get the issue of
         | potentially adding probes which change the behaviour of your
         | code under test to a degree where new bugs/behaviours are
         | introduced or old bugs/behaviours are masked.
         | 
         | DTrace solves this by using a C subset which helps you avoid
         | such unwitting changes, by not including loops or other
         | operations which could change the memory or timing behaviour of
         | the existing system.
        
           | layoutIfNeeded wrote:
           | >DTrace uses a minimalistic C dialect called D
           | 
           | Which is completely unrelated to the other language called D,
           | also known as DLang. (which was released 4 years earlier than
           | DTrace by the way)
        
             | eppsilon wrote:
             | Should've called it C--.
        
               | tapotatonumber9 wrote:
               | Or, if less is more, perhaps "C-+"?
        
               | gowld wrote:
               | https://en.wikipedia.org/wiki/C--
        
       | zfxfr wrote:
       | I read a large bit of the article before I finally realized it
       | was not about some demo (understand demoscene) I did not know :)
        
       | mark_l_watson wrote:
       | I had a vaguely similar experience. I was working on virtual
       | reality race car simulators that used sophisticated custom
       | designed and built motion platforms. I had several
       | responsibilities, the first was the software that controlled the
       | motion platform. When it was done, and I proceeded to the sound
       | effects system, my boss turned over my motion platform code to
       | his good friend who he had brought on to the project with no
       | interviews. A month later in a status meeting, the new guy said
       | that he had to replace about 20% of my code to fix defects. I was
       | curious, looked, and saw that there were zero code changes, but
       | the comment blocks were changed replacing my name with his. Kind
       | of sad for him. He literally had done no work.
        
         | Aperocky wrote:
         | What made him think that it would fly, especially with you
         | present in the same meeting?
        
           | mark_l_watson wrote:
           | I really don't know. I did not embarrass him in the meeting
           | but we had a smaller group talk later
        
       | micimize wrote:
       | Wait but what happened? Did he do something about it after, like
       | contact Sun saying "Stop! You have violated the law!" or
       | whatever? If not, why on earth not?
       | 
       | What's the point of publishing with a copyleft license if you
       | aren't going to do anything when someone literally walks into
       | your office and says "we at Big Corp are selling your work
       | without any attribution?"
        
       | 29athrowaway wrote:
       | Once, someone tried to refute my argument using a post by a ghost
       | user from github.
       | 
       | That ghost user was an older account of mine. Their
       | interpretation of the post was wrong though.
       | 
       | I reacted to the situation by laughing slightly but didn't even
       | bother explaining why. Because of the poor tone, I decided to let
       | that person enjoy being wrong.
        
       | [deleted]
        
       | mpermar wrote:
       | Awesome story.
       | 
       | I'm not sure if this is just my personal feeling but I would say
       | that stealing intellectual property was sort of common at that
       | time. Open source was not widely known, knowledge was scarce,
       | communities were just ramping up and really anyone with lack of
       | principles could pretty much steal anything and get away with it.
       | 
       | It happened to me a few times with online content I wrote.
       | Essentially tutorials, articles, etc. around Open Source. Once my
       | own company sent me a newsletter which contained one of my
       | articles signed by another employee from a different place. It
       | felt pretty weird.
        
         | peterkelly wrote:
         | The article says the story was from 2005. Open source was very
         | much widely known at that time. Linux was 13 years old by then,
         | and Sun themselves open sourced both DTrace and Solaris that
         | same year.
        
           | mpermar wrote:
           | Widely known... by a few techies. Well, certainly many more
           | than in 1995, right? But can't compare those times to these
           | days.
        
             | anthk wrote:
             | You must be young. Everyone on IT/CS related knew about
             | Linux/BSD and the GPL2/BSD licenses.
        
             | BlueTemplar wrote:
             | More than a few "techies", around here at that point
             | software licenses were already part of the mandatory
             | undergraduate "computer literacy" course...
        
       | throwawaye3735 wrote:
       | Ok, maybe i'm too old or experienced with these type of things to
       | really enjoy this article. The author might honestly be sincere
       | as he wrote this but I felt it was a bit overblown and coming
       | from negative feelings of being brushed off and rightfully so
       | being upset that his code was stolen. It could just be there are
       | some cultural misunderstandings as well.
       | 
       | He mentioned this "VIP" is a "Developer and dtrace expert". But
       | reading that and the other details, I think this is probably not
       | the reality and maybe was communicated incorrectly to him. I
       | really doubt this guy was a "VIP" as he says.
       | 
       | My guess is this "VIP" was actually a pretty normal member on the
       | dtrace project, could be a little senior and got the opportunity
       | to go around and talk about it. I am sure they had a team
       | somewhere who put together most of the software, maybe he was
       | involved a little bit, but probably he was just as confused as
       | everyone else about using that open source software - he probably
       | knew enough to teach it, and how it worked, but so many people
       | work on these type of projects, unless they sent the lead
       | engineer he probably didn't know it deeply except enough to
       | evangelize and teach how it works.
       | 
       | He mentions about being slighted by this guy a lot, saying things
       | like "He wasn't impressed", "gave me a look like he didn't really
       | believe me" etc. This might be true, but i suspect it's coming
       | from his negative interpretation of the situation. This guy just
       | traveled all the way around the world, was super exhausted, was
       | possibly honestly confused what's going on - i certainly have
       | been in that situation before.
       | 
       | The author also mentions he felt it odd that he (the author) was
       | producing more dtrace tools than Sun was. This almost sounds a
       | bit like indirect boasting. Large companies are slow. A dedicated
       | passionate developer who is working alone or with a small team
       | will always run laps around huge companies. This isn't odd at
       | all. Companies often get distracted, can't focus on what's
       | important, or decide not to do what is important for a product
       | due to other business reasons.
       | 
       | In fact, as he found out, some engineer somewhere just ripped his
       | stuff cause it was faster and easier for them to do it. Sun's
       | team was not professional at all, even possibly breaking the law,
       | which I think is the point of the article but the descriptions of
       | the Dtrace guy who's job was to show Dtrace around the world
       | lessened my enjoyment of the article.
        
         | bcantrill wrote:
         | I have said this elsewhere on this thread, but just to
         | reemphasize: the person that Brendan met had absolutely nothing
         | to do with DTrace -- to the point that when he told this story
         | to me, I didn't even recognize the name. (And can't now
         | remember it.) The DTrace team was very small (there were three
         | of us), and the community of early DTrace users inside of Sun
         | -- the earliest folks who could rightfully call themselves
         | DTrace experts -- can be seen in the acknowledgements section
         | of our 2004 USENIX paper.[0]
         | 
         | [0]
         | https://www.usenix.org/legacy/publications/library/proceedin...
        
         | anyfoo wrote:
         | Brendan Gregg has a lot of clout. Besides that, he did
         | eventually work at Sun proper, and later Joyent. I have no
         | reason not to believe his account.
        
           | throwawaye3735 wrote:
           | I am not saying it's factually incorrect. My point is that it
           | includes a lot of Gregg's personal feelings (and maybe was
           | informed incorrectly about the situation) and I'm just not
           | sold that the guy who was assigned to show off Dtrace was the
           | bad guy here
        
             | brendangregg wrote:
             | In the article I included my guess about real cause for
             | this: Sun's assumption that any good work had to be from a
             | Sun employee. I'd guess the sequence of events was:
             | - DTrace is the new hotness, we need it in our UI.       -
             | Everyone's using Brendan's tools, let's add them (so far,
             | so good).       - Oh, why do they say copyright Brendan? He
             | made a mistake: Sun employees should be putting copyright
             | Sun on them. (THIS is the mistake, as I wasn't a Sun
             | employee).       - I'll just delete his name and stick
             | copyright Sun on them all.       - Developer gets picked to
             | go do a world tour (and may genuinely not know what
             | happened).
             | 
             | As for how I was treated: I guessed why in the article as
             | well, the low-key introduction as is the norm in Australia.
        
               | mnw21cam wrote:
               | As for how you were treated - I don't think the low-key
               | introduction can be fully blamed. The VIP should have
               | known that smart people exist in various places around
               | the world, and sooner or later one does bump into them.
               | When you meet someone knowing absolutely nothing about
               | them (and an introduction doesn't count), and then they
               | start talking intelligently about a topic, then you have
               | one data point (that they have talked intelligently), and
               | you should draw an appropriate conclusion from that. It
               | sounds like the VIP had serious preconception issues.
        
               | throwawaye3735 wrote:
               | I worked for a government research lab and it was the
               | same, only work coming from inside the lab was respected
               | and contractor work was looked down upon.
               | 
               | That's really interesting, since you were so close to Sun
               | they actually thought you were a Sun employee!
        
         | lukeh wrote:
         | The example in the article is an exception but, companies
         | (including Sun) are generally very careful about using open
         | source, and using it without attribution would be the exception
         | not the rule.
         | 
         | Large companies are slow, indeed. In the late 90s I wrote a few
         | operating system plugins (nss_ldap, pam_ldap, GSS SASL plugin
         | for the Netscape directory server) which were eventually
         | obsoleted by native Solaris equivalents. The Sun versions were
         | on the whole better engineered, if less flexible, because their
         | OS team had a depth of experience that I didn't have at the
         | time.
        
       | neilv wrote:
       | There's a long industry history of stealing code, but I'm
       | surprised to hear this story of Sun allegedly doing it.
       | 
       | My impression is that reason for the stealing usually makes
       | sense. For example, a key library that's hard to write that's
       | just copied into the source tree, ignoring licensing. Or an
       | appliance developer didn't want to deal with licensing for Linux
       | or BusyBox. Or an individual developer in over their head quietly
       | copies code.
       | 
       | The time I heard an explainable incident happened with my code,
       | was in mid/late-'90s. An acquaintance, who'd offered to be one of
       | the testers for an unreleased Java desktop application I wrote,
       | then reportedly ran it through a decompiler, and passed it off as
       | his own code, in a demo to investors. He later acknowledged doing
       | this, and said he'd send me a Sun (ha) workstation as
       | compensation. I declined.
       | 
       | Then there are incidents for which the reason isn't obvious, like
       | the one from the article. I speculate that sometimes the
       | explanation might simply be that the perpetrator wasn't quite
       | right in the head at the time, like in some famous cases of
       | journalism fabrication.
       | 
       | An inexplicable one involving my code was when an open source
       | developer took a substantial and novel package that I wrote,
       | stripped out my name and license notices, including out of the
       | main file, and posted the package with themself identified as the
       | author. There were also a couple other incidents with that person
       | that seemed like that hadn't yet learned how to play well with
       | others, in engineering or open source. I asked a mutual
       | acquaintance, in confidence, what was going on with that person.
       | The acquaintance checked, and was also baffled. In that case, I
       | suppose that maybe the perpetrator was going through a difficult
       | time, and not thinking clearly. Or maybe it was a combination of
       | unlikely accidents that looked worse than the intent was (which
       | happens).
       | 
       | In the article's story of the Sun incident, I'm a little
       | surprised that (speculating) an engineer could do this _despite_
       | all the other people in engineering who might be in a position to
       | notice something funny going on. And Sun had been the dot in some
       | dotcoms by 2005, so presumably they had some strong engineering
       | processes around what goes into product.
       | 
       | Maybe the demo was something put together by a systems engineer,
       | working as part of a small marketing/sales team, rather than
       | under an engineering organization, so a lot fewer engineers were
       | aware of it?
        
         | toyg wrote:
         | You are very compassionate towards people just literally
         | stealing code. My experience is that a lot of folks just don't
         | care about licenses: they steal and rebrand by any mean
         | necessary, I guess to accumulate reputation.
         | 
         | I wrote a few silly scripts in my lifetime, all small-time
         | stuff (so trivial it never got me hired as a Dev anywhere). No
         | matter whether I marked things as GPL or BSS, I often found
         | them copied on GitHub with my copyright notices stripped. In
         | the case of the BSD license, that's literally _the only thing
         | you can 't do_!
         | 
         | In some cases it was utterly blatant: _cloning from my own
         | GitHub repo_ and then replacing authorship notices in the very
         | first commit. I mean, come on guys, at least try to be smart;
         | you can add your name just fine... When I politely asked to, y
         | 'know, respect license terms and reinstate the notices, some
         | people just took down their repo rather than doing that. I bet
         | they then re-uploaded it somewhere else.
        
       | thomashabets2 wrote:
       | Heh. I've a few times asked questions, only to be pointed to my
       | own blog for answers.
       | 
       | To be fair, yes those articles were on the same topic, but I'm
       | actually trying to take the next step here. :-)
        
         | vidarh wrote:
         | I've found my own blog posts in the search results while
         | searching for something more than once.
         | 
         | The best part is when my own blog posts actually have the
         | answer I was looking for - at which point I start feeling old
         | and forgetful.
        
       | ksec wrote:
       | The only great thing I get from the story, at least a multi
       | Billion dollar company thought your tools were so amazing it
       | deserve paying their own VIP going on World Tour.
       | 
       | And no wonder why Sun failed to compete. A Cultural and
       | management failure.
        
       | knolan wrote:
       | My stories are very minor. I did my PhD in a reasonably well
       | regarded mechanical engineering lab. My area is experimental
       | fluid mechanics. I ended up writing a lot of Matlab code while
       | there and even worked with a spin out company from the lab in the
       | biotech sector for a while.
       | 
       | I'd get a lot of other students coming to me for coding help.
       | Most just wanted me to do their job for them and I was too naive
       | to say no. One wanted to count cells in a microfluidic device
       | using image processing. I sat down with them for a couple of
       | hours and walked them through a few methods they could look into
       | to get started collecting all the examples in a script. Basic
       | stuff so they wouldn't feel overwhelmed. A few months later I see
       | he published my simple introduction as a paper with zero
       | modifications. He had the good grace to at least thank me in the
       | acknowledgments.
       | 
       | Several years later while working a $BIG_TECH lab we interviewed
       | a candidate from my old lab. They presented their work and had
       | performed some data analysis of thermal camera images. Turns out
       | they were using a script I'd written there and it was still
       | actively used to work with the thermal camera. Nobody ever
       | modified or improved the code -- many engineering students are
       | terrified of code. I was annoyed because there was no interest in
       | further development the code, I don't think they even read it or
       | understood it.
       | 
       | While at the spinout company I developed a software tool for the
       | PCR optofluidics platform that was being developed. It was
       | considerably faster and more robust than the hacked together
       | script they were using before and had a user friendly UI that I
       | build with feedback from the biologists on the team. A few years
       | later the founder and one of their new students published a paper
       | documenting _their_ amazing tool without any reference or
       | acknowledgment whatsoever. That one pissed me off.
       | 
       | There is a lot of ignorance around code authorship and respect
       | for the developer in physical sciences research. Like I said,
       | many are terrified by code but don't value the time and expertise
       | it requires; once they have it they no longer think about its
       | maintenance or acknowledging the author.
        
         | stdbrouw wrote:
         | > I'd get a lot of other students coming to me for coding help.
         | Most just wanted me to do their job for them and I was too
         | naive to say no. One wanted to count cells in a microfluidic
         | device using image processing. I sat down with them for a
         | couple of hours and walked them through a few methods they
         | could look into to get started collecting all the examples in a
         | script. Basic stuff so they wouldn't feel overwhelmed. A few
         | months later I see he published my simple introduction as a
         | paper with zero modifications. He had the good grace to at
         | least thank me in the acknowledgments.
         | 
         | That can't be the whole story, surely? You verbally suggested a
         | couple of possibilities for what might work and wrote down a
         | couple of lines of code, and then I imagine the student tried
         | out all of those possibilities and reported what did and didn't
         | work? I mean, what academic journal would want to publish half-
         | working examples with unstudied properties?
         | 
         | Mind you, I agree about your broader point that (especially in
         | academia) a lot of people don't really understand and respect
         | code authorship.
        
           | erosenbe0 wrote:
           | IMO, academia is not better or worse -- often they do apply
           | their citation culture to code.
           | 
           | The overall problem is that people tend to think only in
           | terms of first order consequences. A little copying here and
           | there might have minimal financial or reputational risk. But
           | the second order consequences of that becoming the example
           | and the norm for the junior ranks and the next generation
           | causes larger organizational risk. So got to consider the
           | bigger picture and nip the ethical lapses immediately.
        
           | knolan wrote:
           | I've checked the paper again and there is also some basic CFD
           | analysis performed by a third author.
           | 
           | He had some sample images he had taken and I used them to
           | demonstrate the basic code. The figures in the paper are the
           | ones I generated in my sample code.
        
         | sleepydog wrote:
         | I think it is very common for code to outlast its authors in
         | academia for non-CS/EE fields, where programming is seen more
         | as a means to an end rather than its own pursuit. For example,
         | my wife in her Psych PhD inherited a giant hairball of Matlab
         | code for interfacing with an eye tracker and scripting various
         | experiments. She made her own modifications, and I helped too.
         | The last we heard, the code is still being used. There are
         | likely dozens of copies of it under various names, with
         | sections commented out or added to the end.
         | 
         | I'm sorry to hear about you not getting credit, that's
         | inexcusable, in the same way that not accrediting the
         | researchers who did the work in a paper or book (I have heard
         | this story too often) is inexcusable.
        
         | technofiend wrote:
         | I had a friend who worked at Compaq on tools that did desktop
         | imaging. There was one tool he used that had a big splash
         | screen when it started naming the author. Everyone was in awe
         | of _that_ guy so he used the cachet of people knowing his name
         | to move on to bigger and better roles. My friend decided to see
         | if he could replicate that success and when he wrote the next
         | version of the tool he too had a big splash screen with his
         | name up front. Sure enough it worked and for a certain subset
         | of everyone, everyone at Compaq knew his name and he too was
         | able to move on to what he considered a better role.
         | 
         | There were a couple of downsides; he got calls for years after
         | asking for help with the tool, and one boss seemed envious
         | which led to other issues.
        
       | digitaltrees wrote:
       | What a great story. Thanks for posting. And being a tall poppy.
        
         | kragen wrote:
         | Sergey Tselovalnikov is not Brendan Gregg.
        
           | [deleted]
        
       | Twirrim wrote:
       | Years ago, I interviewed a candidate for a role on my team. As
       | usual, one of the ways I break the ice with candidates is to get
       | them to talk "war stories".
       | 
       | The team he'd worked on had produced a tool that was only ever
       | intended to be used by the team to solve a particular problem
       | they had. It contained proprietary code.
       | 
       | Unknown to the team, word had spread about the tool, and others
       | had started to use it, including solutions architects. Who
       | started shipping it to customers to use, who absolutely loved it.
       | 
       | That'd be fine except one of the core libraries it used was GPLv3
       | licensed, and there was non-open source proprietary code used in
       | the tool.
       | 
       | The nightmare scenario he found himself in was having to rapidly
       | re-architect the tool around a non-GPLv3 licensed library,
       | without breaking any functionality, all the while having to have
       | regular sync up meetings with a furious CEO and Legal department
       | (who, to be clear, were mad about the situation, not this
       | particular developer or his team, who weren't to blame)
        
         | rusk wrote:
         | An app so killer they're willing to rewrite a part of it. Nice
         | problem to have!
        
         | Aachen wrote:
         | > having to rapidly re-architect the tool around a non-GPLv3
         | licensed library
         | 
         | ... or just go with it and have it be open source? The old
         | version is already open and free for anyone to request the code
         | of. No rush at that point, you can withhold updates for a
         | little while while you rearchitect this or take the situation
         | as it is and have the next few bugfix releases also fall under
         | GPL until you get around to replacing the core component (iff
         | one insists that the future additions must absolutely be
         | proprietary).
         | 
         | Quickly removing the code doesn't change the previously
         | released versions' license.
        
           | Aeolun wrote:
           | It does hopefully prevent any of your customers from ever
           | asking for it.
        
           | Twirrim wrote:
           | > ... or just go with it and have it be open source?
           | 
           | They didn't have the legal right to do so.
        
             | Aachen wrote:
             | How is that? The company added code to a GPL project, that
             | means it is a derivative work and also comes with software
             | freedoms, or at least that's how the story reads to me
             | since there is no mention of other claims or parties to the
             | mix. That means the company owns the copyright to the added
             | code and is free to comply with the contract (license).
        
           | awwaiid wrote:
           | The license of the previous code didn't magically become the
           | GPL altogether, instead it by default became un-
           | distributable. They were required to (a) stop distribution of
           | the existing code since it at best had no clear license, and
           | (b) if they wanted, going forward remedy the license by
           | clearly making it GPL or doing the rewrite of the dependency.
           | Or even reach out to the library author and ask for an LGPL
           | or other alternative - there is sometimes (often?) some
           | flexibility there.
           | 
           | The built-in conflict resolution in the GPL is no-
           | distribution.
        
           | alkonaut wrote:
           | > Quickly removing the code doesn't change the previously
           | released versions' license.
           | 
           | But would $BIG_CORP publish source on request for a
           | proprietary product just because they built one version with
           | a GPL library by mistake and later fixed it? Has this been
           | successful, ever?
        
             | Macha wrote:
             | Isn't this how OpenWRT got started?
        
             | erosenbe0 wrote:
             | Depends on the composition of CORP. If it is comprised of
             | developers with strong respect for OSS or FS community they
             | might not stand for non-disclosure. OTOH, plenty of orgs
             | would be mainly folks without a strong opinion either way
             | and would just follow executive direction.
        
           | rst wrote:
           | Depends who had rights to the proprietary code. If it was
           | someone else's (for example, if the internal version had used
           | both GPLed code and some proprietary third-party library),
           | open sourcing the whole thing just might not be possible.
        
         | duxup wrote:
         | I worked in support and came up with a quick script to check
         | for a very specific issue. It was super simple and really just
         | applied to one customer to find one bug they encountered. It
         | really didn't do much more than look through a bunch of
         | counters and a bunch of if statements ...
         | 
         | Next thing I knew someone had copied it and started running as
         | a rule on every data set / customer they could get their hands
         | on, and of course it was false positive city.
         | 
         | Finally after lots of emails where I would just type "Don't use
         | that script, it doesn't work." some engineer wandered up the
         | stairs to support to talk to me.
         | 
         | They were fielding escalation after escalation for these false
         | positives. Support would run the script, see some flags, and
         | turn their brain off and escalate. Management was so scared of
         | this bug / issue that they would do the same.
         | 
         | So he tells me to use a trick he used with a similar situation.
         | 
         | I announced a new and improved script and management militantly
         | demanded everyone use it, and that all escalation using the
         | 'outdated ' script would be rejected.
         | 
         | The new script just identified if it was the right customer for
         | that script and set a bit if it wasn't. If that bit was set the
         | engineer knew immediately they could ignore the output and
         | would say that their analysis didn't find the problem in
         | question and advised some basic troubleshooting next steps
         | (copy and pasted mostly).
         | 
         | The support soon realized that just running that script wasn't
         | getting them much more than a few minutes of breathing room
         | away from the case, management realized this too and saw all
         | these next steps coming back and the focus switched to 'hey we
         | should do these next steps all the time too'.
         | 
         | That was also one of the ways I started to understand how the
         | engineering team worked and really helped start a good
         | relationship with them.
        
           | SiempreViernes wrote:
           | That was a very valuable anecdote, thank you!
        
         | lurkerasdfh8 wrote:
         | > one of the core libraries it used was GPLv3 licensed
         | 
         | it's still untested in the real world if gplv3 "taints"
         | derivative work that broadly.
         | 
         | Would they had to open source the entire solution? or just
         | changes made to the library? nobody knows, and there's a lot of
         | FUD to promote BSD licenses instead of sitting down and
         | properly defining the limits in a practical way.
        
       | squarefoot wrote:
       | Almost been there. I was once hired and given some sources to
       | work on by a company, and those were the same exact sources I
       | wrote at another company years before, although my name and all
       | recognizable comments were stripped, save for a few almost
       | invisible traces I left like my initials paired with reserved
       | words to make them appear like directives, pragmas, etc. The guy
       | who had given me the "new" sources was without any doubt
       | responsible, since he was PM at the old company having access to
       | everything, but almost certainly he had no right to use them over
       | the old company. It took like 10 seconds to me to recognize them
       | as filenames, function names, network usage, variables and
       | structures all were the same, so it went like. "Hah, no problems,
       | I recall this very well, in fact there should be my name
       | somewhere... oh rats, it got deleted somehow, no probs however,
       | consider it done":=).
        
         | Tepix wrote:
         | I for one wouldn't be so forgiving. Stripping the author's name
         | from source code is an absolute no-go.
        
           | squarefoot wrote:
           | Yes, but that code wasn't mine either as I wrote at another
           | company as their product. When I added my "hidden" traces I
           | did that with no intention to claim ownership, but rather to
           | leave a signature just in case. Technically the 1st company
           | should have sued him, but I can't know for sure the details;
           | the old project was then dead, and he could have purchased
           | the sources legally, although I doubt that.
        
           | loup-vaillant wrote:
           | Consider GP's position: they wrote some code for their old
           | employer, and therefore had no copyright over it (I hate
           | capitalism). Point is, they had very little stake, beyond
           | personal pride and ethics.
           | 
           | So now they see that their code has been stolen from the
           | previous company, and they're being asked to work on it, what
           | will they do? Refuse to use the code and risk being fired for
           | being too slow? Report the crime and risk being accused of
           | attempted to cover their own tracks? Talk to HR and being
           | hated by one's closest bosses?
           | 
           | I see no way to really win here. At least, not reliably.
        
           | axiosgunnar wrote:
           | It's a textbook copyright violation and could earn the author
           | at least four to five figures when he settles.
        
             | dhosek wrote:
             | Only if the copyright was registered before the infraction
             | can you file for punitive damages. Otherwise you're only
             | eligible for actual damages.
        
               | fastball wrote:
               | Isn't anything you write automatically copyright?
        
               | axiosgunnar wrote:
               | Yes, and you can get actual damages without registering.
               | It's for the punitive damages that you register.
        
               | axiosgunnar wrote:
               | Interesting, thanks
        
         | yaur wrote:
         | I personally wouldn't work on code that I knew was stolen from
         | a previous employer, especially if its code I worked on
         | directly. Ethics aside, if you ever get caught you are
         | personally going to be subjected to entirely to many questions
         | and its the kind of thing that could follow you around for the
         | rest of your career even if you really did nothing wrong.
        
       | willcipriano wrote:
       | I did not see that coming, well worth the read if you just came
       | here for the comments. I won't spoil it for you.
        
         | dstick wrote:
         | Thanks for this heads-up. Wow. What a plot twist...
        
         | aero-glide2 wrote:
         | It was quite obvious the way he worded it
        
         | quasarj wrote:
         | I guessed it right away, but had no one to see my glory
        
         | nwsm wrote:
         | I was expecting something Theranos-esque
        
       | dctoedt wrote:
       | An analogous experience: I once chaired an American Bar
       | Association committee that developed and published "fair and
       | balanced" model software license provisions, extensively
       | annotated. Twice in the following year, in working on client
       | deals, lawyers for The Other Side proposed draft license
       | agreements that were indisputably copied wholesale from the model
       | provisions -- but with certain fair-play features omitted.
        
       | DonHopkins wrote:
       | >The belief at Sun that only Sun could make good use of its own
       | technologies, and anything created outside of Sun was trash.
       | 
       | As a former Sun employee, I can tell you that's true: people at
       | Sun wouldn't even look at competing technologies because they
       | were sure there was nothing useful to be learned from them.
       | 
       | That's why Bill Gates and Anders Hejlsberg were able to screw Sun
       | so badly by examining and copying the good things about Java, and
       | making something much better: C# and CLR.
       | 
       | While Sun totally failed to learn from any of the good things
       | that Microsoft or Apple or anyone else did.
       | 
       | >We are better off with all the wood behind one arrow.
       | 
       | Nice reference to the old Sun slogan and 1999 April Fools Day
       | prank, in which Sun employees put an enormous arrow through Scott
       | McNealy's office.
       | 
       | https://findery.com/johnfox/notes/all-the-wood-behind-one-ar...
       | 
       | All your wood notwithstanding, it also helps to chose an arrow
       | that isn't flawed and doesn't totally miss the target. For what
       | it's worth, Scott McNealy also put all his wood behind another
       | arrow named Donald Trump.
       | 
       | Scott McNealy has long been one of Trump's few friends in Silicon
       | Valley
       | 
       | https://www.sfchronicle.com/politics/article/Scott-McNealy-h...
       | 
       | Trump held fundraiser at former Sun CEO Scott McNealy's Silicon
       | Valley house on Tuesday
       | 
       | https://www.cnbc.com/2019/09/17/trump-silicon-valley-fundrai...
       | 
       | Scott McNealy gets touchy feely with Trump: Sun cofounder hosts
       | hush-hush reelection fundraiser for President
       | 
       | https://www.theregister.com/2019/09/17/mcnealy_trump_fundrai...
        
       | zwischenzug wrote:
       | I once had an interview where someone quoted one of my blog posts
       | at me. 'Oh, I wrote that', I said. It felt good.
        
         | MandieD wrote:
         | And I thought it was fun when a colleague who publicly
         | belittled me on a somewhat regular basis for scripting ("we're
         | not programmers!") triumphantly showed a blog post he'd found
         | to solve a problem he was having.
         | 
         | A blog post on my blog.
         | 
         | In fairness to him, it was still on a domain that didn't
         | identify me at all, though the "About" page had my name on it.
         | 
         | He then proceeded to launch up the chain of command to get me
         | in trouble for publishing company secrets on said blog.
         | 
         | I promised to only write it outside of work hours and not to
         | directly copy any code (scripts, one-liners) I wrote at work,
         | and that was the end of that.
         | 
         | There were other less-antagonistic instances of others in this
         | large company finding solutions on my blog, which says
         | something about the value to the company of posting generic
         | stuff like this on publicly-searchable platforms instead of an
         | internal-only SharePoint or Confluence instance, and definitely
         | instead of the PDFs our senior management insisted on for all
         | documentation.
        
         | throwaway2037 wrote:
         | Can you share your blog URL?
        
           | zwischenzug wrote:
           | https://zwischenzugs.com
        
             | jjkaczor wrote:
             | Thanks... first article I see about "IT Transformation" is
             | soooooooo painfully accurate!
        
       | jasonkester wrote:
       | It makes me sad that the way a developer is expected to react
       | when they discover that the Valuable Thing that they gave away
       | for free is being sold by a Big Company for Big Money is to try
       | to ensure that the Valuable Things they give away in the future
       | remain free.
       | 
       | I'd much prefer to see the people who build Valuable Things show
       | more interest in capturing some of that value.
       | 
       | There's this overwhelming narrative revolving around Open Source
       | that makes it seem shameful to profit from your work. It's
       | maddening to watch. There's no reason we as developers need to be
       | the low man on the totem pole getting tread on by business
       | people. We just set ourselves up that way and socially punish
       | anybody who doesn't.
        
         | pjc50 wrote:
         | This works in the other direction: how many developers are
         | willing to pay for their dependencies? Would things like npm
         | even exist if you had to pay invoices for every bit of code
         | loaded?
        
         | rwmj wrote:
         | If that's what you took from the article, then you got
         | completely the wrong end of the stick. The problem was the
         | removal of the author's attribution and illegal relicensing. He
         | says himself he was glad when Apple later included his tools in
         | macOS _with_ correct attribution and licensing.
        
           | jasonkester wrote:
           | Exactly. That was the problem that he saw.
           | 
           | The problem he should have noticed was that the Sun was
           | selling the code he wrote for hundreds of thousands of
           | dollars and not passing any of that on to him.
           | 
           | Step one shouldn't have been to worry about putting his
           | header comment back in place and getting them the latest
           | version of his code to sell to their customers. It should
           | have been negotiating a redistribution license for his code
           | if they wanted to continue selling it.
        
             | rwmj wrote:
             | No, the problem was the licensing change and removal of
             | attribution. I would strongly suggest reading what Brendan
             | says in the article.
             | 
             | On this topic, I work for Red Hat where we made $3.4
             | billion in revenues in the last published year (before
             | being acquired), making exclusively open source software
             | which you can download yourself for no cost.
        
             | ricardobeat wrote:
             | If you want to sell your code, just use a commercial
             | license. He released his code as OSS.
        
         | BlueTemplar wrote:
         | IMHO the problem is the term "free software" :
         | 
         | https://www.gnu.org/philosophy/selling.en.html
        
       | joeldo wrote:
       | Great read, curious to hear what happened after the demo.
        
       | EvanAnderson wrote:
       | I worked with a tech from a software vendor who had a link to one
       | of my Server Fault answers in their setup docs. We got to that
       | bit of the setup and I mentioned that I wrote the answer his doc
       | was referencing. I quite enjoyed it.
        
       | kortilla wrote:
       | Can someone elaborate on why he takes a weird detour in the
       | middle of the post to discourage forks? Is there some particular
       | issue with supporting bpf tooling forks?
       | 
       | As someone who has spent a lot of time in open source, forks are
       | not a problem, they are indicative of a problem.
       | 
       | Don't cry when people fork and go a different direction, try to
       | figure out why and see if you're willing to change the project to
       | accommodate them. Dropping chastising "more wood behind fewer
       | arrows" platitudes is pointless when half of the wood wants to
       | break off in a different direction anyway.
        
         | kbenson wrote:
         | > As someone who has spent a lot of time in open source, forks
         | are not a problem, they are indicative of a problem.
         | 
         | Forks because the main project is not responding to a need are
         | not a problem. Forks just because some project or _product_
         | believes it gives them more control and they don 't interface
         | with the original project usefully are a sort of a problem.
         | Those aren't necessarily started because of a community need,
         | but some business need or perceived business need which may
         | have nothing to do with the reality.
         | 
         | I think that's the situation he's asking to avoid here, as he
         | mentions observability products. He's saying please don't fork
         | just to have it under your own repo and for no other reason,
         | when it can be developed jointly.
        
           | kortilla wrote:
           | Why? If someone wants more control their interests already
           | aren't aligned with the community. Developer resources aren't
           | just some faucet easily redirected.
           | 
           | It's worse to have people trying to jam shit into the main
           | project if they don't actually care about the main project.
           | That's how you get contributions that are huge hacks and
           | require more work to review and iterate on than is worth it
           | to the community.
           | 
           | If some company forks for an observability product and
           | doesn't contribute back, they clearly don't want to. Don't
           | try to force them.
           | 
           | git is an incredible tool for managing forks and this anti-
           | fork mindset is right out of old school open source culture
           | from the early 2000s.
           | 
           | Demanding people contribute to your project instead of
           | forking just sounds like demands to pay homage more than
           | anything.
        
             | kbenson wrote:
             | > That's how you get contributions that are huge hacks and
             | require more work to review and iterate on than is worth it
             | to the community.
             | 
             | And yet the author here is saying please work together.
             | Presumably he or the community is okay with picking apart
             | those huge hacks. I'm not sure why you should care what
             | that community is willing to accept, unless you're part of
             | it.
             | 
             | > If some company forks for an observability product and
             | doesn't contribute back, they clearly don't want to. Don't
             | try to force them.
             | 
             | Who's forcing anyone? Did you not notice the "please" he
             | starts that statement with?
             | 
             | > Demanding people contribute to your project instead of
             | forking just sounds like demands to pay homage more than
             | anything.
             | 
             | That's just a straw man, nobody demanded anything, and I'm
             | not sure why you'd even try to insinuate he was when he
             | literally says please.
             | 
             | If I had to paraphrase the part of the post you're
             | critiquing, I would do so as "If you're using these tools,
             | don't feel like you have keep any stuff you do separate.
             | We'd like to build something better for everyone, so feel
             | free to contribute to the project rather than keeping it
             | separate and we can all build on each other's work." That's
             | pretty standard open source ideals IMO.
        
               | kortilla wrote:
               | > If I had to paraphrase the part of the post you're
               | critiquing, I would do so as "If you're using these
               | tools, don't feel like you have keep any stuff you do
               | separate. We'd like to build something better for
               | everyone, so feel free to contribute to the project
               | rather than keeping it separate and we can all build on
               | each other's work." That's pretty standard open source
               | ideals IMO.
               | 
               | Sure, that's just a completely different writing of
               | what's actually there. The original post is an
               | instruction not to do something. Your interpretation is a
               | much more open "pull requests accepted".
               | 
               | His reply clarifies that he doesn't want broken shit out
               | there so your reading is incorrect. He does want to
               | discourage forks because they are subtle to get correct
               | and doesn't want shit out their sullying bpf's
               | reputation.
        
               | brendangregg wrote:
               | I appreciate the discussion as I want to do a follow on
               | post about this in more detail. It doesn't do the BPF
               | community any good to have people running old broken
               | versions of my tools (just as back in 2005, Sun was
               | selling DTrace by distributing my half-finished
               | socketsnoop.d). Now, some people are going to port anyway
               | regardless of what's good for BPF. But if I can reach
               | developers who may be on the fence about it, I can
               | explain the pros of just building upon the existing
               | tools. To start with, you get updates for free by kernel
               | engineers at Facebook, Netflix, etc. Also, by pushing
               | fixes back you'll find people will try to help you in
               | return for when you need it (some startups, like Cilium,
               | have done so much for BPF that I'd happily help them with
               | anything they need (provided there isn't a clash with my
               | current employment)).
        
         | brabel wrote:
         | The criticism is of forks that are done in order to re-brand
         | and re-sell a project, and then never contribute anything back
         | to the original, and likely, never pull improvements from the
         | originally forked project (which can include critical bug
         | fixes) after that.
        
           | kortilla wrote:
           | Serious question, how does that hurt the original project?
           | This has never been a concern in the projects I've worked on.
           | Getting mad every time some developer writes code that didn't
           | go to your project is a good way to be mad all of the time.
        
             | IcePic wrote:
             | Obviously it hurts if your project gets bad rep from an old
             | unmaintained fork. If "everyone knows $your_project is
             | broken, don't use it" it will spill back on you.
             | 
             | Somewhat like when powershell on windows had aliases for
             | wget and curl that was just shell aliases for a simple
             | downloader, making some scripts work without those two
             | installed, but also confusing anyone that wanted to do
             | anything outside of "get one single file from url".
        
             | brendangregg wrote:
             | Just a couple of example scenarios:
             | 
             | - Someone sells you BPF observability that's buggy and
             | dissapointing, and you avoid BPF in the future. So in that
             | case it's hurt the BPF community.
             | 
             | - Funding goes to a project that gives nothing back,
             | instead of funding a project that does. Again, it hurts the
             | community as funding isn't infinite.
        
               | kortilla wrote:
               | > Someone sells you BPF observability that's buggy and
               | dissapointing, and you avoid BPF in the future. So in
               | that case it's hurt the BPF community.
               | 
               | Ok, so someone sells me closed source tooling that uses
               | BPF and it's buggy and disappointing, so I avoid BPF in
               | the future. This association problem exists regardless of
               | closed source vs a fork vs an old release.
               | 
               | > Funding goes to a project that gives nothing back,
               | instead of funding a project that does. Again, it hurts
               | the community as funding isn't infinite.
               | 
               | This only hurts if it's a closed/hidden fork. This also
               | presumes that the fork isn't just stripping out tons of
               | upstream features (I've had to do this for clients
               | because "security").
               | 
               | My view is that forks of open source (GPL in particular)
               | should be encouraged and done in public. Iterating on
               | central projects only is just so slow and stifling.
               | 
               | Maybe your projects have very little churn so lots of
               | people experimenting in parallel doesn't make sense, but
               | this has been my experience with larger infrastructure
               | projects. Let a thousand flowers bloom.
        
         | brendangregg wrote:
         | Yes, there can be good reasons to fork (especially after making
         | a fair effort to have things fixed), and bad reasons.
         | 
         | But also yes: There are two particular issues with bpf tooling
         | forks. 1) They look deceptively simple, but those that are
         | kprobes-based are really kernel-specific and brittle, and need
         | ongoing maintenance to match the latest changes in the kernel.
         | One ftrace(/kprobe) tool I wrote has already been ported a
         | bunch of times, and I know it doesn't always work and one day
         | I'll go fix it -- but how do I get all the ports updated? No
         | one porting it has noticed it has a problem, and so the same
         | problem is just getting duplicated and duplicated. Which is
         | also issue 2) Unlike lots of other software, when observability
         | tools become broken it may not be obvious at all! Imagine a
         | tool prints a throughput that captures 90% of activity and no
         | longer 100% (because there's now a fast-path taking 10%). So
         | the numbers for some deep kernel activity are now off by 10%.
         | It's hard to spot, and that increases the risk people keep
         | deploying their old broken ports without realizing there's a
         | problem.
        
           | kortilla wrote:
           | > They look deceptively simple, but those that are kprobes-
           | based are really kernel-specific and brittle, and need
           | ongoing maintenance to match the latest changes in the kernel
           | 
           | It seems like there is a missing formal interface here if
           | this is so brittle, no? If it's hitting a bunch of internal
           | kernel stuff shouldn't this stuff just live with the kernel
           | itself?
        
             | brendangregg wrote:
             | The formal interface is tracepoints. So tracepoints in
             | theory aren't brittle (they are best-effort stable) and
             | don't need so much expert maintenance (which is mostly the
             | case). In theory, someone could port tracepoint-based tools
             | and almost never need maintenance.
             | 
             | But kprobes is basically exposing raw kernel code that the
             | kernel engineers bashed out with no idea that anyone might
             | trace it. And they can change it from one minor release to
             | another. And change it in unobvious ways: Add a new
             | codepath somewhere that takes some of the traffic, so gee,
             | seems like my tool still works but the numbers are a bit
             | lower. Or maybe I measured queue latency and now there's
             | two queues but the tool is only tracing the first one, or
             | now there's no queues so my tools blows up as it can't find
             | the functions to trace (that's actually preferable, since
             | it's obvious that something needs fixing!).
             | 
             | I really don't like using kprobes if it can be avoided
             | (instead use tracepoints, /proc, netlink, etc). But
             | sometimes it's solve the problem with kprobes or not at
             | all.
             | 
             | Now, normally such code-specific-brittle things should
             | indeed live with the code like you say, so normally I'd
             | think about putting the tools in the kernel code. But we
             | don't want to add so much user space to the kernel, and, it
             | also opens the door as to whether these should actually be
             | tracepoints instead (which begins long discussions:
             | Maintainers don't want to be on the hook to maintain stable
             | tracepoints if they aren't totally needed).
             | 
             | Another scenario where the tools should ship with the code
             | base would be user space applications. E.g., if someone
             | wrote a bunch of low-level tracing tools for the Cassandra
             | database that used uprobes and were code specific, then
             | they would be too niche for bcc, and would probably be best
             | living in the Cassandra code base itself.
        
               | JoelJacobson wrote:
               | Thanks Brendan for creating the bpfcc-tools! I'm using it
               | in magicmake [1] which is a tool to automatically find
               | missing packages when compiling, based on file path
               | accesses.
               | 
               | [1] https://github.com/truthly/magicmake
        
       | elric wrote:
       | It's a small world. Many, many years ago, I wrote a little help
       | desk application for a one man ISP. The only requirement? "I have
       | to be able to respond to support requests using WAP". This was,
       | of course, before smart phones were a thing. Typing long replies
       | on a phone with only a numpad was not pleasant. So I built
       | something with a lot of prehashed replies and parts of replies,
       | which could be accessed by entering a couple of digits (with some
       | very rudimentary context awareness).
       | 
       | Fast forward 10 years or so, I'm consulting at a company. When I
       | see one of their support engineers using a tool that looked
       | vaguely familiar. Turns out the company had acquired the one-man
       | ISP and had continued developing the little helpdesk application
       | I'd made for WAP all those years ago.
        
       | crackercrews wrote:
       | So is this "developer-splaining"?
        
       | trollian wrote:
       | I worked at a company that was interfacing with the AOL Instant
       | Messenger network in the early 2000s. Finally the business people
       | got a deal and AOL made us sign NDAs to get access to the
       | official API docs. We were excited because we were using the docs
       | that one of the open source clients had produced from their
       | reverse engineering efforts.
       | 
       | AOL's docs were the same ones from the open source project, with
       | the GPL message intact.
        
         | Tabular-Iceberg wrote:
         | What does an NDA-encumbered GPL document mean in practice?
         | You're allowed to spread the document, but not tell anyone
         | where you got it from?
         | 
         | I once received a library under a modified Apache 2.0 license,
         | where all the conditions under section 4 (attribution, etc.)
         | were just inverted for a given number of years (effectively an
         | NDA), after which the normal Apache 2.0 would apply. Which
         | worked because it came straight from the original copyright
         | owners, but here I assume AOL weren't.
        
         | DaiPlusPlus wrote:
         | Trillian?
        
           | [deleted]
        
       | axiom92 wrote:
       | Hah. Reminds me of this incident: https://newatlas.com/ai-art-
       | auction-obvious-belamy/56984/
       | 
       | Someone downloaded the code for GANs (generative adversarial
       | networks) from Github, generated (sampled) a painting using it,
       | slapped the GAN objective function as a signature, and sold the
       | painting for over $400k!
        
       | bilalhusain wrote:
       | > I've learned ... instead to simply say "I have a lot of
       | experience with that technology" and leave it at that.
       | 
       | Shows Brendan's maturity.
       | 
       | I am not sure what should be the appropriate reaction or
       | corrective measure in these situations. We should talk more about
       | handling these unfair situations.
       | 
       | Someone else can become more successful building on top of one's
       | open source project. On a resume, a top contributor and a minor
       | contributor to open source project might have same weightage
       | depending on how you present it - making the situation unfair for
       | a person dedicatedly working on a single project (quality) vs
       | minor contributor to multiple projects (quantity).
       | 
       | But deleting name and credits is wrong. An acknowledgement from
       | the benefitting person (if not the recognition/reward) has far
       | more positive impact on career than justifying to other's that
       | your work was stolen.
       | 
       | It was a bit strange to read some of the initial negative
       | comments. I see Brendan being a sport. I would argue that reading
       | the story as a report against unknown persons at Sun makes more
       | sense. I don't see much sense in blaming victim. And, in my
       | opinion, the VIP had a good run but he isn't the bad guy here.
        
         | stevebmark wrote:
         | I didn't read maturity from this. I read timidness, conflict
         | aversion, lack of standing up for oneself. Someone touring the
         | world making hundreds of thousands of dollars, demoing your own
         | software and claiming its their own? Violating your license
         | setup, the foundation of OSS? I would have spelled it out as
         | clearly as possible, including the legal implications, spelled
         | out my assumption this person was claiming they worked hard on
         | these tools when instead they did minimal stealing, and either
         | talked about legal follow-up action or financial follow-up
         | action. This is a time where anger, frustration, and being
         | stern are justified.
        
         | brendangregg wrote:
         | Thanks. There was a time when many observability products were
         | adding latency heat maps, and at one conference expo floor
         | there were three companies with latency heat maps on their
         | screen at the same time, pitching them as a flagship feature.
         | If I walked near them they'd start trying to explain them to
         | me, and I never figured out an appropriate response. If I said
         | "hey, great to see you added them, I invented these back at
         | Sun" I'd get funny looks.
         | 
         | I think it's a small world, and everything is software, so the
         | chance you'll bump into someone who wrote software you are
         | using I think is pretty high. I was once trying to get my head
         | around Andi Kleen's pmu-tools, and I had the github repo open
         | in my browser on my laptop I was carrying, when the guy sitting
         | next to me on a bus says he's Andi Kleen. (Ok, it was a bus
         | taking Linux conference attendees to an event, not a random
         | bus, but I still found it remarkable timing -- I was studying
         | pmu-tools at that exact time!)
        
           | loup-vaillant wrote:
           | > _If I said "hey, great to see you added them, I invented
           | these back at Sun" I'd get funny looks._
           | 
           | I don't understand. What kind of funny looks were they?
           | Disbelief? Distrust? Fear of your mental health? Realization
           | of having been lied to by their bosses (oops it wasn't really
           | an internal tool)?
           | 
           | Also, what were the impact of those funny looks? How did they
           | make you feel? Was there any longer term consequences of
           | telling them you wrote the thing?
        
           | mijoharas wrote:
           | Years back I was at a deep learning conference and was
           | reading Andrej Karpathy's blog during one of the talks. Demis
           | hassabis had come in slightly late and sat at the last free
           | seat that happened to be next to me.
           | 
           | He leaned over, asked if I liked the blog, and (slightly
           | proudly if I remember correctly) mentioned that deep mind had
           | hired Andrej for an internship starting soon.
        
           | bostonsre wrote:
           | Thank you for sharing some of what you've learned with
           | everyone in everything that you've published. I've been
           | reading the latest addition of your systems performance book
           | the past few weeks and it is amazing. You're work is pretty
           | awe inspiring.
        
             | bostonsre wrote:
             | s/'re/r/g
        
           | FridayoLeary wrote:
           | Still, it must be quite rewarding to know that _everyone_ ,
           | no matter how big is using your tools. Before i knew anything
           | about open source, i was somewhat surprised to see that even
           | the giant that is Apple had open source licenses on their
           | iPod. I assumed that apple had enough resources to develop
           | all their own software, but no, they go just like everyone
           | else and pick off-the-shelf software.
        
         | Cthulhu_ wrote:
         | > I am not sure what should be the appropriate reaction or
         | corrective measure in these situations. We should talk more
         | about handling these unfair situations.
         | 
         | Start recording; have them, a big multinational with a massive
         | legal department, admit to violating and stripping a license
         | from source code. Then sue them. They should know better, and
         | they're making billions off of other people's work. That in
         | itself is fair enough, if the license permits it, but removing
         | the license is crossing the line.
        
           | nix23 wrote:
           | But in most country's you get sued first for illegally
           | recording other peoples, and your proof is nothing worth
           | because it's illegally obtained.
           | 
           | Better make detailed notes, who said what with time and date.
        
             | steego wrote:
             | Check the laws first. Some places only require one party
             | (you the recorder) to consent.
        
               | nix23 wrote:
               | >Some places only require one party (you the recorder) to
               | consent
               | 
               | Some places...nord Korea? You the recorder have to
               | consent?? I consent to myself that i record others
               | without their knowledge?
        
               | kbelder wrote:
               | Oregon.
        
               | cge wrote:
               | Laws around recording typically also cover cases where an
               | outside person, who isn't a party in the conversation, is
               | recording. The idea is that there are three
               | possibilities: all parties in the conversation consent to
               | recording, one of the parties consents (almost certainly
               | the person who wants the recording), and none of the
               | parties consent (ie, someone is spying on the
               | conversation). One-party consent is legal in a variety of
               | countries and regions of countries, while zero-party
               | consent is illegal pretty much everywhere I know.
        
               | cromulent wrote:
               | Most of Australia, for example.
               | 
               | https://www.sydneycriminallawyers.com.au/blog/is-it-
               | legal-to...
        
               | dvlsg wrote:
               | The majority of the states in the US have one-party
               | consent too, I believe.
        
           | simonh wrote:
           | Oh it needs to be redressed and some knuckles soundly rapped,
           | maybe someone even fired depending on the situation, but
           | suing is a last, last, last resort. "WARNING: Do not feed the
           | Lawyers".
        
           | jclulow wrote:
           | Be extremely careful recording conversations without consent
           | in the US.
        
             | apendleton wrote:
             | Most jurisdictions in the US are one-party-consent. I think
             | the tech crowd tends to have a skewed perception of
             | recording consent rules because California happens to be
             | one of the relatively few two-party-consent states, but
             | it's the exception rather than the rule.
        
         | lowbloodsugar wrote:
         | >I am not sure what should be the appropriate reaction or
         | corrective measure in these situations.
         | 
         | When it happens internally, i.e. I catch someone doing it, then
         | either it is a "first time offense" of the clueless, or it is
         | the act of an unethical person who will be unrepentant. For the
         | clueless, it might be that they undervalue themselves, and
         | therefore undervalue assigning credit. The unethical person,
         | however, understands what they are doing and is simply
         | untrustworthy. They will also likely have a lawyer, because
         | they've done this before. So it can be pricey to get rid of
         | them, but get rid of them you must. They are poison to your
         | team.
        
       | nautilus12 wrote:
       | Are we being fools? Do you only get ahead in the world if instead
       | of spending our precious time building things we use it
       | cannabalizing other peoples work?
        
       | drstewart wrote:
       | Could you fit in your nationality a few more times in the
       | article? I can't tell what country you're from.
       | 
       | P.S: if you constantly boast about how humble your country is,
       | you're probably not that humble.
        
       | nailer wrote:
       | > It was something I and my consulting colleagues had run into
       | before: The belief at Sun that only Sun could make good use of
       | its own technologies, and anything created outside of Sun was
       | trash.
       | 
       | Yep. See Sun's response to the Linux SPARC maintainers technical
       | critique of Solaris for SPARC. Meanwhile at Red Hat we started
       | hiring all the ex-Sun people that had been pushing for x86
       | internally at Sun and gotten frustrated with the flip flops (RHEL
       | 3 on Xeon already demolished Solaris/SPARC) .
        
         | cryptonector wrote:
         | A lot of us at Sun in the Solaris org had no love for SPARC.
         | Sun made a very typical and terrible mistake: it sat on its
         | laurels. Sun created some awesome things then tried to lock-in
         | and milk customers. Sun (and later Oracle) did this with SPARC
         | and J2ME, among others. All the products they did this with are
         | as good as dead today in terms of market share -- surprise!
         | 
         | Vendor lock-in is not great for the customer, but when you try
         | to _milk_ the customers, you end up risking taking them to the
         | FYO point [0], and _that_ is catastrophic for the _vendor_ ,
         | and the vendor never sees it coming and can't help themselves.
         | 
         | Sitting on your laurels is not good. Don't do it. Innovate.
         | Then innovate some more. Then never stop innovating.
         | [0] Let me google that for ya:
         | https://www.google.com/search?q=fyo+point
        
       | chromatin wrote:
       | Great story. One of my open source bioinformatics tools was
       | ripped off, with name AND GPL license stripped off, by a person
       | working at the EMBL/EBI (European Molecular Biology Laboratory
       | European Bioinformatics Institute; a prestigious scientific
       | institution)
       | 
       | Management, when alerted, made it right, but I think the point of
       | my story is that this is perhaps more common than anyone
       | realizes.
        
       | allurbase wrote:
       | Great article. Disgusting behavior. Seems like the sort of
       | experience that sticks with you for years.
        
         | andi999 wrote:
         | Was there actually no follow-up? Change of header?
        
           | brendangregg wrote:
           | I never got a chance to see it again. I ended up spending
           | more energy with another Sun project that wanted to switch
           | the CDDL license to the GPL, only because they wanted to
           | avoid going through the legal approval procedure to ship
           | mixed-licensed products. Maybe I'll share that story one day:
           | it was another eye-opening experience.
        
             | andi999 wrote:
             | Thanks! Also, you never heard back from the Dtrace expert?
             | (silly question, ok)
        
               | brendangregg wrote:
               | Nope, never heard back again. I'm not too surprised, Sun
               | was a big company.
        
       | ryandrake wrote:
       | I'd love to hear stories from the other side. Behind each of
       | these "someone else taking credit" war stories is the engineer or
       | product owner at the other company who decided this was an
       | ethical course of action. How did you justify this to yourself
       | and to your boss, and what was the plan if/when you got caught?
       | Doesn't your company have an internal process for vetting the
       | licenses of software you use? It seems like these cases are
       | failures at multiple levels in the company. It would make an
       | interesting post-mortem. Use a throwaway account if you like!
        
       | BrissyCoder wrote:
       | Were there any legal repercussions? Was the employee fired? Were
       | you as calm about this at the time as you seem now?... I would be
       | furious!
       | 
       | EDIT: For some reason I assumed OP was the author. Someone with a
       | twitter account should ping him and get him over here to
       | participate in discussion.
        
         | brendangregg wrote:
         | I was in shock, and a bit furious at being ripped off, but
         | didn't feel there was a lot I could do about it. I edited this
         | bit out (I was trimming the post):
         | 
         | "You might wonder why I didn't talk about this first case
         | publicly at the time. I'd already informed them of the problem
         | privately and how to fix it, so there wasn't more to say. Also,
         | Sun was the number one employer in town, and to be publicly
         | critical could be career ending."
         | 
         | I don't know what happened to the US developer. But I didn't
         | think it made sense to burn bridges with Sun about it. I was
         | more worried about giving people a bad experience with DTrace
         | by running older versions of my software.
        
           | sydthrowaway wrote:
           | Sun was the number one employer in town in Australia? What?!
        
             | [deleted]
        
             | brendangregg wrote:
             | Sorry, should have said "tech" employer, and this is
             | referring to Sun and its ecosystem. A few years earlier I
             | gave a talk to a local University about the job market and
             | asked the comp sci students to have a showing of hands as
             | to whether they thought they'd work on Windows or Solaris
             | when they graduated. Most hands went for Windows. Then I
             | showed the local job statistics: Sun Solaris was number
             | one.
        
               | Aperocky wrote:
               | A few years earlier?
               | 
               | I thought Solaris is being completely eclipsed by Linux.
               | 
               | Even windows are surprising because hardly anything
               | except gaming and limited local clients are windows.
               | Granted some people choose to develop on Windows.
        
               | yitchelle wrote:
               | I come from Melbourne and know that there are several
               | rather large multimational engineering centers in
               | Melbourne around this time period. Ericsson, NEC and
               | Robert Bosch comes to my mine..
               | 
               | Perhaps largest in Sydney...Great article btw!
        
               | phist_mcgee wrote:
               | How fantastically different to my experience. I graduated
               | 2010 in Australia, and we were just entering into the
               | pre-cloud age. A lot of us expected to either move to SV
               | or just work at local consultancies for banks or
               | insurance companies (which I did). 10 years earlier, I
               | would have gone to work at Sun!
        
           | rorykoehler wrote:
           | Are there no legal recourse options for breaking the license
           | so blatantly?
        
             | ivanbakel wrote:
             | Was there a license violation if the software wasn't
             | distributed?
        
               | gpm wrote:
               | Yes. Making copies internally is also copyright
               | infringement... Performing it to Brendan might also have
               | been (but not sure on that one).
        
               | oefrha wrote:
               | > Yes. Making copies internally is also copyright
               | infringement...
               | 
               | No, GPL FAQ specifically addresses internal distribution:
               | https://www.gnu.org/licenses/gpl-
               | faq.html#InternalDistributi...
               | 
               | > Is making and using multiple copies within one
               | organization or company "distribution"?
               | 
               | > No, in that case the organization is just making the
               | copies for itself. As a consequence, a company or other
               | organization can develop a modified version and install
               | that version through its own facilities, without giving
               | the staff permission to release that modified version to
               | outsiders.
               | 
               | > However, when the organization transfers copies to
               | other organizations or individuals, that is distribution.
               | In particular, providing copies to contractors for use
               | off-site is distribution.
               | 
               | Please consult sources before making a strong statement.
        
               | gpm wrote:
               | > No, GPL FAQ specifically addresses internal
               | distribution
               | 
               | Which couldn't be more irrelevant, because
               | 
               | a) This software doesn't appear to be licensed under the
               | GPL.
               | 
               | b) The question here is not whether or not it's
               | distribution, it's if it's copyright infringement. Making
               | copies of copyrighted material is illegal (up to fair use
               | and licenses) regardless of whether or not you distribute
               | them.
               | 
               | c) The GPL also requires you maintain the license header
               | when you are making copies (GPLv2 term 1, "You may copy
               | [...] the Program's source code as you receive it [...]
               | provided that you [...] keep intact all the notices that
               | refer to this License [...]" (other terms and conditions
               | do apply, hence the ...'s).
               | 
               | d) The _license_ (and the law, and court rulings) is the
               | source material, not GNU 's not legally binding faq.
        
               | oefrha wrote:
               | TFA does say the code was under GPLv2 and CDDL. I would
               | say it's entirely within your right to distribute it in
               | accordance with what the GPL FAQ considers okay, which
               | includes internal distribution however you want. License
               | header is required when distributing externally.
        
               | gpm wrote:
               | Oh weird, read over that line. Removes one of my bullet
               | points but doesn't change the result. I agree you can
               | distribute it internally, i.e. you can pass around the
               | hard drive with the single unmodified copy. You can't
               | make copies of it without the header, regardless of
               | whether you keep it internal.
        
               | jcheng wrote:
               | https://www.gnu.org/licenses/gpl-
               | faq.html#GPLRequireSourcePo...
               | 
               | > Does the GPL require that source code of modified
               | versions be posted to the public?
               | 
               | > The GPL does not require you to release your modified
               | version, or any part of it. You are free to make
               | modifications and use them privately, without ever
               | releasing them. This applies to organizations (including
               | companies), too; an organization can make a modified
               | version and use it internally without ever releasing it
               | outside the organization.
        
               | gpm wrote:
               | Yes, I'm not arguing otherwise.
               | 
               | You're not free to make copies without the license. You
               | are free to make copies with the license, because that's
               | what the license granted you permission to do. You aren't
               | free to do so without preserving the license, because you
               | don't have a license to do that and that's copyright
               | infringement.
               | 
               | You aren't required to publicly release derivative works
               | or their source, simply because the license grants you
               | the ability to produce derivative works (provided you
               | keep the copyright information intact) without publicly
               | releasing them. You are required to keep the copyright
               | information intact, because the license does not grant
               | you permission to produce derivative works if you do not.
               | 
               | The requirement to keep the copyright information
               | attached is simply not connected to your choice to
               | distribute it or not. It's a requirement any time you
               | make a copy or make a derivative work, even if you're
               | only making that copy or derivative work for yourself.
        
               | jessaustin wrote:
               | IANAL, but in what sense is a copy that isn't distributed
               | a copy at all?
        
               | gpm wrote:
               | In the sense that previously one computer was running the
               | software at a time, and now 1000 computers are running it
               | because I copied it onto all of their disks/memory
               | banks/CPUs.
               | 
               | I still control all 1000 computers, but I'm doing
               | something I fundamentally cannot do with a single copy.
               | 
               | The question is a bit murky, not because it's unclear I'm
               | making copies, but because some copying is fair use. For
               | example to execute a program I need to copy it from the
               | hard drive to ram, and (pieces of it) from the ram to the
               | CPU. That's generally considered to be legal, despite
               | being copying, approximately because it's necessary to
               | use the program. The exact line here is not well defined.
               | 
               | (Also not a lawyer, just a nerd)
        
             | user-the-name wrote:
             | As he said, he did not want to burn his bridges.
        
               | rorykoehler wrote:
               | That's a pretty interesting thought experiment. How
               | likely is it to burn bridges with a multibillion dollar
               | corp by taking them to court to protect your IP? They
               | might even respect you for it. Most likely the people
               | working there will move on eventually and especially if
               | they are responsible for IP theft that results in a heavy
               | legal bill. Companies sue each other over ip all the time
               | and then still do business with each other. I'm also
               | assuming OP's bridges with the persons directly
               | responsible are already burnt. So which bridges exactly
               | are being protected?
        
               | scubakid wrote:
               | I don't know much about law, but I wonder what the
               | ballpark out-of-pocket legal costs might look like for an
               | individual going after a large corporation with an IP
               | suit... i.e. how likely is it the corporation could win
               | simply by dragging out proceedings and exhausting your
               | resources / burying you with legal fees?
        
               | denton-scratch wrote:
               | You don't need to get into legal proceedings, if the
               | facts are clear.
               | 
               | If you can prove it's your invention, and they're
               | distributing it without your permission, they won't want
               | to waste money defending a suit.
               | 
               | You may be a little guy, without enough dosh to launch a
               | suit; but you could sell your interest to
               | $COPYRIGHT_TROLL, then they'd be in trouble. So just ask
               | them nicely to propose a settlement.
               | 
               | It's not like war, or anything; tech-company legal
               | departments are there for just this kind of thing. Unless
               | there are arseholes involved, it can all be friendly and
               | business-like.
        
               | rorykoehler wrote:
               | You're right but it kind of renders copyright law to be
               | another elitist construct. I wonder if there are lawyers
               | or organisations who take up these types of cases to
               | negate the behaviour you have outlined. Would EFF for
               | example find it in conflict with their mission?
        
           | ramraj07 wrote:
           | Wouldn't you have made significant bank if you had sued? To
           | the extent that you never had to work for a paycheck ever?
           | Just curious if a lawyer consult might have been useful.
        
             | cryptonector wrote:
             | Brendan has "made more bank" since then than he could have
             | made in that one suit or since that suit if he'd filed it.
             | Brendan's a pretty big shot nowadays and is almost
             | certainly very well compensated, but when you demonstrate
             | that you're too happy to sue you tend to get discriminated
             | against, so if he had sued... it might have ended his
             | career.
        
       | hnmullany wrote:
       | To be honest, Sun's whole culture treated software as an
       | afterthought - which is part of the reason they ended up where
       | they did
        
         | abruzzi wrote:
         | they also (in my limited experience) treated sales as an
         | afterthought. Its the only time I've contacted a company to
         | inquire about a product, and had them actively dissuade me from
         | buying the product (IAM).
        
         | cryptonector wrote:
         | That's not true. I was there, and I was there at the time. Sun
         | had a lot of problems, but software was not an afterthought, at
         | least not within the Solaris org.
        
       | Timothycquinn wrote:
       | I wonder if @bcantrill was aware of this at the time it happened?
        
         | bcantrill wrote:
         | Definitely not -- see my earlier comment[0], but when I met
         | Brendan in person later that year (and he relayed this incident
         | to me), I didn't even recognize the name. Certainly, it wasn't
         | someone who should have been claiming to be a DTrace expert!
         | And honestly, by that time, any _actual_ DTrace expert inside
         | of Sun definitely knew of Brendan -- and likely vice versa.
         | 
         | [0] https://news.ycombinator.com/item?id=27396911
        
         | rurban wrote:
         | The VIP can only be Bryan himself, caught with his pants down.
         | Amusing
        
           | brendangregg wrote:
           | No, it wasn't, I don't even remember the VIP's name. Met him
           | that once and never heard of him again.
        
             | rurban wrote:
             | Thanks. Not a VIP then
        
               | naikrovek wrote:
               | lol that's a very weird take.
               | 
               | there were many people inside Sun that were not Bryan
               | Cantrill. In fact, almost all of them were not Bryan
               | Cantrill. But there can only be one VIP and it can only
               | be Bryan?
        
       | krzrak wrote:
       | It would be fun to make the American guy sweating profusely by
       | saying something like "I'm going to sue the shit out of you" ;)
        
       | lukeh wrote:
       | Good story; I do find the "Australians are just the little guys"
       | narrative a bit frustrating and a self-fulfilling prophecy
       | though.
        
         | strken wrote:
         | It's frustrating at times; at other times, it's a breath of
         | fresh air to deal with engineers who just tell you what they're
         | doing, without the overblown sales pitch.
         | 
         | Swings and roundabouts.
        
         | BrissyCoder wrote:
         | Agree it's cringe. The whole "little guy punching above his
         | weight" thing is even worse in NZ.
        
           | ZephyrBlu wrote:
           | Why do you find it cringe? In NZ I think it's even more true
           | than Australia. It's a tiny, isolated country with a small
           | population that isn't the hub of anything really.
           | 
           | Aussie and NZ compared to the US are completely different
           | worlds in my eyes.
           | 
           | (I'm a Kiwi btw)
        
             | oblio wrote:
             | It's not a tiny country... it's about average for country
             | size and when you consider that it's an archipelago, the
             | area of the world it controls through territorials waters
             | and such is basically continent sized. New Zealand is
             | actually smack-bang (#75) in the middle of the list: https:
             | //en.wikipedia.org/wiki/List_of_countries_and_dependen...
             | 
             | I'd group countries in 4 categories:
             | 
             | 1. Continent sized (Russia, Canada, China, US, Brazil,
             | Australia).
             | 
             | 2. Large countries: anything below 1 up to probably about
             | 500k sqkm.
             | 
             | 3. Middle of the pack countries: everything from 500k down
             | to about 100-200k sqkm.
             | 
             | 4. Small countries. Everything below 100k sqkm (200k sqkm
             | if you want to stretch it out).
             | 
             | The categories are somewhat fluid since for example
             | Indonesia is not continent sized in landmass, but it's an
             | archipelago that does stretch over the area of an entire
             | continent, when you consider it end-to-end and include its
             | territorial waters. Plus having a very high population for
             | your group also moves you up. Germany is average in size
             | but in population it's a large country. Same for Japan.
        
             | BrissyCoder wrote:
             | I think it's a myth that NZ "punches above it's weight" is
             | all. Show me some empirical evidence if you disagree.
             | 
             | I'm a Kiwi too - but living in Aus.
        
               | ZephyrBlu wrote:
               | I think there are lower expectations of Aus/NZ because
               | they're relatively small and out-of-the-way countries
               | (Maybe less so for Aussie), so it's surprising how often
               | they seem to excel in things.
               | 
               | The obvious examples that come to mind would be sports.
               | NZ excels in Sailing, Cricket and Rugby against much
               | larger countries.
               | 
               | Though it could be that in general, Aus/NZ have the same
               | skill distribution as other countries, but they just
               | stand out more because there are lower expectations or
               | highly skilled people are rarer overall due to lower
               | populations.
        
               | oblio wrote:
               | > The obvious examples that come to mind would be sports.
               | NZ excels in Sailing, Cricket and Rugby against much
               | larger countries.
               | 
               | Those are niche sports, very popular in that part of the
               | world. They're not major sports, though.
               | 
               | Cricket is sort of a major sport, but it's also very
               | culturally concentrated. Outside of UK & some former UK
               | colonies, almost nobody plays it/watches it.
               | 
               | Does New Zealand have any famous footballers, basketball
               | players, athletes, etc.?
        
               | Intermernet wrote:
               | Edmund Hillary?
        
               | oblio wrote:
               | I guess that counts :-)
        
               | BrissyCoder wrote:
               | I knew someone was going to mention the sailing...
               | suprised no one brought up Lord of the Rings.
        
             | BrandoElFollito wrote:
             | See, at least you realize you are a tiny country with a
             | small population and the ego adapted to that.
             | 
             | I am French and we are a country with a great past - but
             | not looking ahead. We still assume that we radiate across
             | the world and that our voice counts.
             | 
             | It does not, and this has to be clear. There are countries
             | that can influence events, but this is not ours.
             | 
             | A typical example is how angry we were after the recent
             | pirate act of Lukashenko (Belarus forced a EU plane flying
             | form one EU country to another to land when above their
             | territory to arrest an opponent of theirs). Our president
             | said that there would be consequences and there are no
             | consequences.
             | 
             | This is not to spit on my contry but sometimes egos are
             | much bigger than the reality. We are in good company there.
        
               | not2b wrote:
               | But there are consequences; Belarus is now cut off from
               | air travel except with Russia. Flights are avoiding their
               | airspace. They are a pariah.
        
               | lostlogin wrote:
               | Have you seen the coverage of the interview of Roman
               | Protasevich? The visible injuries on his wrist and his
               | recently adjusted attitude are alarming.
               | https://www.bbc.com/news/world-europe-57353413
        
               | kzrdude wrote:
               | That's why it's so disappointing that the plane ended up
               | diverting.
               | 
               | For Roman there is no way back after that. It's an
               | atrocity, but ultimately Belarus authorities are
               | responsible for those and the torturing.
               | 
               | Europe needs to ensure its planes are not hijacked mid-
               | air like this in the future, to protect all of us and
               | foremost journalists and activists.
        
               | randoyt wrote:
               | Have you been to west and central Africa. Frances still
               | has huge influence here. Like you can't be President
               | without their implicit backing. And you can't last as one
               | if you loose their support. May change with China coming,
               | but only time will tell
        
               | satysin wrote:
               | I am British but have lived in France for a while now and
               | I feel the same as you about both the British and the
               | French.
               | 
               | If Brexit showed us anything it is that the UK is no way
               | near as important as they like to think they are.
               | Watching the UK and France at loggerheads has been a mix
               | of frustration and amusement for someone like myself
               | clearly caught in the crossfire.
               | 
               | As an "outsider" in France my biggest complaint is the
               | staunch opposition to change. Any change. As you say they
               | simply cannot look ahead. It is as if they only know how
               | to live in their past glories rather than working towards
               | future ones.
               | 
               | The UK is sort of the opposite but in a terribly executed
               | manner. They have dreams of the future but do everything
               | possible to make those dreams harder to achieve due to
               | arrogance they can "do it alone". Harping back to "the
               | good old days of the Empire" and "Blitz spirit!" as if
               | the Blitz was some wonderful time (wtf?).
               | 
               | The sad thing is the French and British could learn a lot
               | from each other but seems both sides are too myopic to do
               | so.
        
               | webmobdev wrote:
               | I am French and we are a country with a great past - but
               | not looking ahead.              I feel the same as you
               | about both the British and the French.
               | 
               | Add India to the list.
               | 
               | The right-wing in India are obsessed about our past, and
               | worse, desperate to associate everything about it with
               | "Hindu religion" or "Hindu culture" despite the huge
               | influence of Buddhism, Islam and the imperialists
               | (largely the British who finally got the upper hand on
               | our sub-continent).
               | 
               |  _" We were the richest country in the world till we were
               | looted by Muslims and Christians."_
               | 
               |  _" We had brilliant Hindu brahmin scientists who
               | excelled in mathematics, medicine and astronomy /
               | astrology._
               | 
               |  _" Look at these huge ancient temples built with
               | extraordinary artistry that have survived for
               | centuries."_
               | 
               | And so on, are proof of our "great past" that they
               | believe automatically should earn us the respect of the
               | world.
               | 
               | In their obsession with the past, they totally disregard
               | the achievements of modern independent India just because
               | our freedom movement were lead by people like Gandhi and
               | Nehru who opposed their idea of a theocratic-fascist
               | state, and chose to create a secular state that treated
               | everyone as an equal and gave every citizen equal rights.
               | 
               | For a country that won its independence in a non-violent
               | manner from the most powerful empire of the world, and a
               | country that has lifted millions of its citizens from
               | poverty and is today self sufficient in agriculture (one
               | of the largest in the world), and one of the few
               | countries with an active and self-sufficient space,
               | nuclear and defence program we have really made a lot of
               | strides.
               | 
               | But for the right, India is not "respected" by the world
               | because anti-Hindus chose secularism and thus since "we
               | Hindus" don't respect our "Hinduness", the world also
               | ignores Hindu cultural achievement and denies us our true
               | place.
        
               | Ice_cream_suit wrote:
               | Your country does count.
               | 
               | France is a major actor in African and regional
               | conflicts.
               | 
               | It is the third largest exporter of weapons ( After the
               | USA and Russia ) to conflict zones.
        
               | throwaway2037 wrote:
               | To offer some off-topic support: France is indisputably a
               | cultural giant -- tourism, food, TV/film (Canal+!), the
               | arts. Do not underestimate that!
        
               | oblio wrote:
               | TV/film - is there something new even remotely popular
               | across the world that's French?
               | 
               | It was the case up to the 2000's, I think, but I can't
               | even remember the name of a new French director since
               | then. The last one I remember is Luc Besson. Kind of
               | similar story for actors/actresses, are there some major
               | French stars popular across the world?
               | 
               | I feel most of the influences are leftovers from a
               | different era, folks like Depardieu.
        
               | fian wrote:
               | For what it is worth, as an Australian I quite enjoyed:
               | 
               | Zone Blanche Lupin L'ascension Le grand bain
        
               | webmobdev wrote:
               | TV/film - is there something new even remotely popular
               | across the world that's French?
               | 
               | Indian here who doesn't know French - just finished
               | watching all four seasons of _Dix Pour Cent_ (Call My
               | Agent) and really enjoyed it. I also watched _Lupin_
               | (after learning that it stars Omar Sy who I loved in the
               | movie _The Intouchables_ ).
        
               | miloignis wrote:
               | Seconding Lupin, it was great and also my first thought!
               | (American who doesn't know French)
        
           | andi999 wrote:
           | Can you explain? Is "little guy punching aboce his weight"
           | applied to the country level? It is the first time I hear it
           | in connection to NZ or AUS.
        
           | toyg wrote:
           | Have you ever been to the UK? That sort of mindset is
           | widespread. In fact, there is basically an obligation that
           | the country _must_ , at all times, fight wildly above its
           | level.
        
       | kuroguro wrote:
       | A colleague of mine was attending a local tech conference just
       | before Covid hit. I believe it was aimed at newcomers and various
       | companies tried to show off exciting tech that interns/new coders
       | could potentially work on.
       | 
       | She couldn't believe what she saw. A major govt. backed logging
       | company (which does do a lot of dev work themselves) were showing
       | off one of our projects as theirs! We were using depth cameras to
       | estimate the volume of wood loaded on a truck as it drives trough
       | a gate. They even used screenshots that I had made!
       | 
       | Now, they were involved in the project. But they were basically
       | clients of our client. They provided us with a place to test the
       | system as their trucks ran trough. They didn't own the software
       | let alone did any work on it. Why they would present it as
       | something interns could potentially work on is beyond me.
       | 
       | People are weird.
        
         | jgilias wrote:
         | Maybe they wanted to show something that the interns could try
         | and replicate. I mean, if everything your in house dev team is
         | working on are CRUD applications built on 90s tech, that's not
         | very exciting.
        
         | imhoguy wrote:
         | Maybe they hunted for some passionate overzealous intern to
         | rewrite it from scratch for them. Kind of "make me a clone of
         | facebook for $10" gigs :)
        
         | toxicFork wrote:
         | I would imagine they would say to an intern once they joined,
         | "yeah you won't work on THAT project, but here's some other
         | thing for you to do". It's like the estate agency putting a
         | listing of a nice place on a website and then when it comes to
         | viewing the place they say "well that one was just taken but
         | let me show you something similar".
        
         | gowld wrote:
         | Does logging software have extensive logging?
        
       | Tepix wrote:
       | What rights does a developer have in these cases? Can you get
       | some compensation/damages for the license/copyright violation
       | even if you were giving away the software originally?
       | 
       | Can you get more money if they violate the OSS license if you
       | offer the software under a commercial license as well?
        
         | [deleted]
        
       | cperciva wrote:
       | Reminds me of when Apple started providing "smaller size updates"
       | to OS X. I was curious about the details since my doctorate had
       | touched on the topic, so I worked my contacts (I had a few in
       | Apple engineering from the FreeBSD / OS X relationship) and after
       | a few months I got back as answer: "We're using a tool called
       | bsdiff, are you familiar with it?" I was indeed, since I was the
       | author of said tool.
       | 
       | (Just to be clear, there was no license violation involved in
       | this case; just a lack of awareness of the provenance of the open
       | source software they were using.)
        
         | rubicon33 wrote:
         | I don't understand what bsdiff does, or is. I am a software
         | developer and I frankly have no clue what I would ever use
         | bsdiff for! I've read what it does (libraries for building and
         | applying patches to binary files) and still don't really have a
         | sense for what the purpose of this tool is.
         | 
         | What are some real life use cases for it? When does a developer
         | need such a tool?
        
           | codeulike wrote:
           | Its old now but here's a description from Chromium about
           | something they use called Courgette which is similar/related
           | to bsdiff
           | 
           | https://blog.chromium.org/2009/07/smaller-is-faster-and-
           | safe...
           | 
           | The explanation here is pretty fascinating
           | 
           | https://www.chromium.org/developers/design-
           | documents/softwar...
        
             | kevincox wrote:
             | The really cool TL;DR here is that courgette "disassembles"
             | the binary before diffing. Basically turning internal
             | references into symbolic references. This way adding an
             | extra instruction to a function won't affect all of the
             | relative addresses in surrounding code.
        
           | [deleted]
        
           | faeyanpiraat wrote:
           | If you have a game, where you have large packs of files (like
           | a 2GB sized textures.pak), and in a patch you want to add 2
           | small things, you can just ship the differencd between the
           | old anc new pack file, and skip transferring the rest.
        
             | OldTimeCoffee wrote:
             | They do this, but not as a binary diff. The new files are
             | just shipped as an override of the old files that are
             | loaded after the old files. It's substainally faster than
             | applying a binary diff and file sizes really aren't a
             | concern for the most part.
             | 
             | The game industry really hasn't used binary diffs and
             | patching since the 90s when they used RTPatch.
        
               | mcguire wrote:
               | I've noticed.
               | 
               | Flight Simulator downloads tens of GB every time I start
               | it. :-/
        
           | throwaway3699 wrote:
           | Implementing software updates where you don't want to ship
           | entire binaries again (and only the diff) would be one. In
           | some video games the assets are also packed into massive
           | binaries, so you don't want to ship gigabytes of data because
           | you replaced one icon. Sadly many games do this anyway
           | nowadays.
        
             | maccard wrote:
             | One of the reasons games do this is the data is compressed,
             | so a "patch" might be indistinguishable from a real update.
             | 
             | Also, as a dev, you have no idea what version your users
             | are updating _from_. You either need to generate some
             | number of patches for every version you could be updating
             | from, and figure out if you should just download the whole
             | thing again in any of those cases anyway.
        
               | kevincox wrote:
               | There are solutions to this!
               | 
               | The simplest one is generate patches for recent versions,
               | where recent can be years in the past. It is a linear
               | operation but you only run it on release so it probably
               | isn't a huge cost. You can also use some heuristics such
               | as if if diff is >20% of the file just stop and force
               | users still on that version to do a full update.
               | 
               | A second option is using zsync[1]. zsync is basically a
               | precomputed rolling checksum. The client can download
               | this manifest and they download just the parts of the
               | file they need. This way you don't care about the source,
               | if there is any similarity they can save resources.
               | 
               | And of course these can be combined. Generate exact
               | deltas for recent versions and a zsync manifest for
               | fallback.
               | 
               | [1] http://zsync.moria.org.uk/
               | 
               | Side note: One nice thing about zsync is that the actual
               | download happens from the original file using range
               | requests. This is nice for caching as a proxy only needs
               | to cache the new data once. Is there a diff tool that
               | generates a similar manifest for exact diffs? So instead
               | of storing the new data in the delta file it just
               | references ranges of the new file.
        
               | oblio wrote:
               | > One of the reasons games do this is the data is
               | compressed, so a "patch" might be indistinguishable from
               | a real update.
               | 
               | Does this happen with more advanced compression
               | algorithms? I've rsynced zip files of different versions
               | of internal software and the diff was always much, much
               | smaller than the entire package.
        
               | kevincox wrote:
               | In general yes. After the first difference the compressed
               | streams will be basically random compared to each other.
               | However there are numerous things that may avoid this.
               | 
               | For zip files each individual file is compressed
               | independently. So unchanged files and prefixes don't need
               | to be resent, even if once a file changes the entire tail
               | end of it needs to be resent.
               | 
               | Some times compression algorithms "reset" periodically.
               | For example the `gzip --rsyncable` patch. This basically
               | resets the compression stream so that a change will only
               | affect part of the compressed file. This does have a cost
               | in terms of compressed size because the compressor can't
               | deduplicate across resets. However if the resets are
               | infrequent you can maintain fairly good delta transfer
               | with little space overhead.
               | 
               | Additionally some delta transfer tools detect common
               | compression and decompress the file "in transfer",
               | performing the delta checks on the original file.
        
               | whelming_wave wrote:
               | Kind of an aside from your question, but binary patches
               | not being much smaller than the full thing might happen
               | more with modern games?
               | 
               | Heresay, but from what I've heard modern games may ship
               | multiple copies of some assets with different levels or
               | features so they can be loaded as a sequential read off
               | the disk. While a block-oriented compression algorithm
               | might sync up more reliably, if you're packing 200MB of
               | assets for a level and they're all compressed to take
               | advantage of the fact they'll be read sequentially could
               | mean a change 25MB in would still ship ~175MB of changes.
        
               | erosenbe0 wrote:
               | Windows game devs just traditionally didn't treat things
               | with such granularity as you might find in a *nix
               | environment where every little thing is a file. Content
               | is then managed as larger blobs and you have a database
               | of offsets or mappings.
        
               | uuidgen wrote:
               | So far in in most of the world even platter disks (which
               | have really poor performance with modern Windows) are
               | faster than network. Which means you can download
               | description of the difference and reorder the file
               | locally much faster than downloading it. Yes it needs the
               | file to made in a way that is update friendly - most
               | current compression algorithms can be configured like
               | that. Yes, compression will be slightly lower, but you
               | will save on both download size AND disk space, because
               | right now most patches require you to download patch and
               | then apply it, requiring twice the space. If you have 5%
               | larger asset file but can patch it with a few memcpy on a
               | mapped file it is a win in every way imaginable.
               | 
               | It is just really poor programming, nothing more. And
               | it's everywhere. If find source >/dev/null takes 6
               | seconds there is no reason for gradle to take 2 minutes
               | on a rebuild. If the dev is used to that, why would they
               | even think about patch optimisation?
        
               | maccard wrote:
               | I can't say, I'm not sure what compression we used on the
               | last two games I worked on, sorry!
        
               | wruza wrote:
               | It is very unlikely that it was a "continuous"
               | compression anyway. Continuous archives disallow random
               | file access property, and games require exactly that for
               | assets. You can't decompress few gb on average to fetch a
               | sprite of a cat.
               | 
               | The reason games (and software in general) do full
               | downloads instead of binary patches is purely
               | overdefensive and/or stupid. Store software could just
               | check checksums after a patch and re-download only if
               | they fail.
        
               | maccard wrote:
               | it's a UE4 game so the code is available on Github, I
               | believe it was a header, with an encrypted index into a
               | large binary blob of compressed data.
        
               | BlueTemplar wrote:
               | Well, whether they use full versions or diffs is also
               | going to depend on how much they care about bandwidth.
        
               | sgtnoodle wrote:
               | Zip files have all the metadata in a footer rather than a
               | header. As a result, compressed files can be added and
               | overwritten by appending to the file without disturbing
               | already compressed data. Additionally, the "deflate"
               | compression likely does not span across files, so files
               | that did not change from version to version would have a
               | similar compressed byte sequence, regardless of the order
               | they were added to the archive.
               | 
               | I'd argue that zip is a relatively simple compressed
               | archive format. Its simplicity is its charm and the
               | reason it's so popular. More space-efficient algorithms
               | would be less likely to be "patchable" as there would be
               | less redundancy / structure in the compressed
               | representation to exploit (the best compression seems
               | like it would have similar properties of random data.)
        
               | BBC-vs-neolibs wrote:
               | zstd strikes a nice balance here. It can inject markers
               | in the bytestream to make it "rsync friendly", but one
               | could just as well say "binary diff friendly".
               | 
               | zstd itself also has the (pretty new) ability to use a
               | shared file as shorthand during compression. What that
               | means in practice is that diffs can be REALLY tiny if you
               | have the previous archive download.
               | 
               | Hi dang.
        
               | versteegen wrote:
               | > Additionally, the "deflate" compression likely does not
               | span across files
               | 
               | Clarification: .zip (unlike .tar.gz for example, or
               | "solid" .7z) compresses each file separately, that's
               | nothing to do with the compression algorithm used. In
               | addition, DEFLATE, the LZ77-based compression which is by
               | far most commonly used in .zip (and also by gzip) has a
               | window size of 32kB (uncompressed). So yes, even if you
               | used DEFLATE on a solid stream (e.g. zipped a .tar
               | archive) it couldn't remove any cross-file redundancy
               | once it's gone past the first 32kB of each file.
        
               | beagle3 wrote:
               | On the other hand HIgh voltage sid collection (hvsc)
               | distributes a zipped zip;
               | 
               | Each file is 1k-20k, of which there are 40,000 or so. But
               | they are catalogued in 3-4 deep directories, so if you
               | just zip them, the metadata takes 30% or so of the zip.
               | 
               | But the metadata does compress very well, so they zip it
               | again.
        
               | xmprt wrote:
               | If you know a user is on version 3 and need to update to
               | version 5, then why not just send out all the patches
               | between 3 and 5? Why do you need to generate a new patch
               | for each pair of versions.
               | 
               | It feels a bit egregious when I have to download a 100MB
               | update just because a few characters were buffed or
               | nerfed. More involved changes end up being over 1GB.
        
               | milankragujevic wrote:
               | It can go worse - some cheap and badly designed Android
               | phones which download updates from every month when you
               | first buy it until the current month, so maybe 10+
               | updates, but they aren't deltas (diffs) but full images.
               | Ridiculous on so many levels.
        
               | beagle3 wrote:
               | It's because they only tested updates from one version to
               | the next, and not every version to every newer version.
               | 
               | It is a complete image, but phones today have nontrivial
               | state that may be a problem - e.g. your baseband
               | processor might have its own rom with its own update
               | protocol, which changed between image 2 and image 7, so
               | image 10 after image 1 will be unable to update the
               | baseband.
        
               | maccard wrote:
               | Because it's not just version 3 to version 5, it's
               | version 3 to version 84.
               | 
               | Not all versions are made equal either - one might be a
               | character buff, another might reorder assets in the "big
               | huge binary blob file" for performance improvements. At a
               | certain point, rather than downloading 30MB per update
               | for 25 versions, and applying each incrementally
               | (remember that you have to do them in order too), just
               | download the full 1GB once and overwrite the whole whing.
        
               | xmprt wrote:
               | I'd personally like to see a company put a little thought
               | into innovating how they store data on disk so patches
               | can be quickly applied like with git while also not
               | requiring a full source recompilation.
        
               | uuidgen wrote:
               | Microsoft made sure in windows 10 that it's almost
               | unusable without SSD. SO you big binary blob file have
               | random r/w access.
               | 
               | Most backup software is able to do good binary deltas of
               | arbitrary data for decades. Even dumb checkpointing
               | resolves problem of downloading 25 versions - you
               | download latest checkpoint and deltas from there.
               | 
               | Don't excuse poor design and programming, when you know a
               | file structure, creating a differential update should be
               | short task. With a tiny bit of algorithmic knowledge you
               | could even optimize the process to only download needed
               | assets inside of you big binary blob - if the asset was
               | changed 7 times during your last 25 version you only need
               | to download the last one.
        
               | mewse wrote:
               | We usually don't _compress_ the data on disk;
               | decompression would make loading and file access slower.
               | 
               | Instead, we just pack the uncompressed files together
               | (frequently using normal zip in a no-compression mode) so
               | that we can avoid needing to ask the OS to open and close
               | files for us or examining the contents of a directory,
               | both of which can be kind of startlingly slow (by video
               | game standards) on some common OSes. Instead, we will
               | generally cache the directory data from the zip file and
               | just use that rather than go to disk.
               | 
               | (of course, the whole download/patch would all be
               | compressed for network transfer, but files would then be
               | decompressed during the installation process)
        
               | maccard wrote:
               | > We usually don't compress the data on disk;
               | decompression would make loading and file access slower.
               | 
               | _You_ mightn't but the last three AAA games I worked on
               | do/did. PS5 expectes compressed files, and does HW
               | decompression (ahem, mostly) on the fly.
        
               | sumtechguy wrote:
               | I could see that keeping one big file would still be
               | advantageous too in that environment. As a fopen on a set
               | of small sized files plus read plus close over and over
               | does add up. Just in cpu time and memory slack. Whereas
               | treating it as one giant packed backing store would have
               | advantages in speed. But at a cost of dev time. Even if
               | you are compressing it as well could be an advantage. But
               | I would expect there to be some spot where it crosses
               | over from being an advantage to a disadvantage. I suspect
               | it would be on small files/objects. But that would just
               | be for speed. You may have to optimize for size in some
               | cases. In the end it is usually better to build some test
               | code and find out. Sometimes the results are what you
               | expect. Sometimes you are spending time on things that do
               | not matter anymore but were a big deal 20 years ago.
        
               | Danieru wrote:
               | On the switch the reads are so slow the fastest loading
               | requires atbleast mild compression. At least it did when
               | I was testing packaging for my latest switch release.
               | Despite the weak cpu.
               | 
               | Ps4 also did the compressed packages by default thing if
               | I remember right. The upside there being ample cpu for
               | decompression such that no compression was never fastest.
        
               | PeterisP wrote:
               | IIRC in a bunch of scenarios compression makes loading
               | and file access faster, as you're I/O limited and it's
               | quicker to read less data and decompress. You do need to
               | choose simple/quick/not-that-much-compressing compression
               | algorithms for that.
        
               | greyhair wrote:
               | I have worked on a number of embedded products which ran
               | from compressed root file system from eMMC. The overhead
               | was a wash because RAM is so much faster than eMMC. What
               | you spent in decompression time was covered by reduced
               | eMMC access time.
        
               | tialaramex wrote:
               | > We usually don't compress the data on disk;
               | decompression would make loading and file access slower.
               | 
               | Did you actually benchmark this? It probably makes sense
               | in your head, but on any vaguely modern hardware it's
               | very unlikely to actually be true because of how
               | exponential the memory hierarchy is.
        
               | bsenftner wrote:
               | Console hardware tends to have fast processors & cache
               | but extremely slow RAM. Benchmarking a console's memory
               | vs cache access tends to be one of the first things a
               | team of principal game devs do and that information
               | becomes bible for their titles.
        
             | OldTimeCoffee wrote:
             | There are other solutions to this problem that the game
             | industry uses. Binary diff patching is slow, incremental,
             | involves large diffs and has the possibility of corruption.
             | It was used back in the mid 90's (RTPatch was the big
             | name), but really isn't used anymore because of the
             | drawbacks.
             | 
             | Games frequently use an override directory or file. The
             | patch contains only the files that have changed and is
             | loaded after the main index and replaces the entries in the
             | index with the updated ones. This is the most common way of
             | doing a patch if it's not just overwriting the original
             | files.
             | 
             | Some games load their file as a virtual filesystem and then
             | the patch just replaces the entries in the virtual store
             | with new ones. Guild Wars 2 works this way. This is only
             | common in MMOs though.
        
               | derefr wrote:
               | Different things.
               | 
               | Games are directories/packfiles containing many
               | individual files, mostly binary art assets, plus one
               | executable that takes up a negligible proportion of the
               | total size. When binary art assets in the
               | directory/packfile are updated between versions, they
               | don't really "change" in the sense that a source-code
               | file might be changed a git commit; instead, they get
               | replaced. (I.e. every file change is essentially a 100%
               | change.)
               | 
               | The "binary diff patching" you're talking about the game
               | industry using, was just the result of xor-ing the old
               | and new packfiles, and then RLE-encoding the result (so
               | areas that were "the same" were then represented by an
               | RLE symbol saying "run of zeros, length N"). For the
               | particular choices being made, this is indeed much less
               | bandwidth-efficient than just sending a new packfile
               | containing the new assets, and then overlay-mounting the
               | new packfile over the old packfile.
               | 
               | bsdiff isn't _for_ directories full of files that get
               | 100% rewritten on update. (There 's already a pretty good
               | solution to that -- tar's differential archives, esp. as
               | automated by a program like
               | http://tardiff.sourceforge.net/tardiff-help.html .)
               | 
               | Instead, bsdiff is for updates to _executable binaries
               | themselves_ (think Chrome updates), or to disk images
               | containing mostly executable binaries + library code
               | (think OS sealed-base-image updates -- like CoreOS; or,
               | as mentioned above, macOS as of Catalina + APFS.)
               | 
               | In these cases, almost all the files that change, change
               | partially rather than fully. Often with very _small_
               | changes. The patches can be _much_ smaller, if they 're
               | done on the level of e.g. individual compiled function
               | that have changed within a library, rather than on the
               | level of the entire library. (Also, more modern
               | algorithms than xor+RLE can be used -- and bsdiff does --
               | but even xor + RLE would be a win here, given the shape
               | of the data.)
               | 
               | There's also Google's Courgette
               | (https://www.chromium.org/developers/design-
               | documents/softwar...), which goes further in optimizing
               | for this specific problem domain (diffing executable
               | binaries), by having the diff tool understand the
               | structure/format of executables well-enough to be able to
               | create efficient patches for when functions are inserted,
               | deleted, moved around, or updated such that their emitted
               | code _changes size_ -- in other words, at times when the
               | object code gets rearranged and jumps /pointers must be
               | updated.
               | 
               | The goal of tools like bsdiff or Courgette isn't to
               | reduce an update from 1GB to 200MB for ~10k customers.
               | The goal is to reduce an update from 10MB to 50KB for 100
               | million customers. At those scales, you _really_ don 't
               | want to be sending even a 10MB file if you can at-all
               | help it. The server time required to crunch of the patch
               | is more than paid off by your peering-bandwidth savings.
        
               | marcan_42 wrote:
               | XOR+RLE is almost useless for binaries, because almost
               | any change will cause instructions to be added or
               | deleted, offsetting the entire binary after the first
               | change, making the xor fail to converge. On top of that,
               | these changes cause changes in addresses in the first
               | part of the binary, so you end up with a zillion similar-
               | looking xor deltas in the first part of the file that
               | won't compress well with RLE.
               | 
               | In fact, if you use smarter compression than RLE, I
               | wouldn't be surprised if the update was _larger_ than the
               | original binaries after the xor, as an offset xor will
               | likely increase chaos (entropy) in the file, making it
               | compresss worse than the original.
               | 
               | bsdiff was specifically designed to intelligently handle
               | these situations, which is why it works.
               | 
               | Just tested it on Chromium from my package server
               | (90.0.4430.72 vs 90.0.4430.212):
               | 
               | - Original binary: 266MB
               | 
               | - Gzipped binary: 106MB
               | 
               | - Gzipped XOR "patch": 228MB
               | 
               | - bsdiff patch: 47MB
        
               | derefr wrote:
               | Pedantic point: it's not "almost useless for binaries."
               | It's almost useless for _compiled, PIC_ binaries in
               | modern executable formats like PE or ELF that allow for
               | lots of load-time address-space rearrangement.
               | 
               | XOR-and-RLE works well for binaries from non-HLL
               | languages (assembler, mostly) where -- due mostly to
               | early assemblers' lack of support for forward-referencing
               | subroutine labels from the data section -- subroutines
               | tend to ossify into having defined address-space
               | positions.
               | 
               | You can observe this by the fact that IPS-patchfile
               | representations (which, while a different algorithm, is
               | basically equivalent to XOR-and-RLE in its results) of
               | the deltas between different versions/releases of old
               | game ROMs written in assembly, are actually rather small
               | relative to the sizes of the ROM images themsleves. The
               | v1.1 ROMs are almost always byte-for-byte identical in
               | ROM-image layout to the v1.0 versions, except for where
               | (presumably) explicit changes were made in the assembler
               | source code. Translated releases are the same (sometimes,
               | but not always, because they were actually done by the
               | localization team bit-twiddling the original ROM, because
               | they didn't have access to the original team's assembly
               | code.)
               | 
               | (This is also why archives that contain all the various
               | versions/releases of a given game ROM, are highly
               | compressible using generic compressors like LZMA.)
        
               | marcan_42 wrote:
               | Yes, if we're talking about 8-bit era games, certainly
               | things were different back then and things rarely moved
               | around in memory between versions :-)
        
               | formerly_proven wrote:
               | Games also use this because it's a straightforward way to
               | almost guarantee a physical ordering of the files in the
               | VFS, which is/was a common optimization strategy in the
               | days of CDs and hard drives (profile what order the game
               | needs files, then put them in the archive in exactly that
               | order = tada, loading 4000 files behaves like a
               | sequential read).
               | 
               | Another reason is that certain operating systems
               | originating in the state of Washington have performance
               | problems when you access small files or directories
               | containing many files.
        
               | smoldesu wrote:
               | To my knowledge, most developers have gone back to binary
               | patching for obfuscation purposes. Bethesda does this now
               | (and ID, by extension), as well as many other developers
               | I've seen.
        
               | derefr wrote:
               | For at least the Nintendo Switch (not sure other modern
               | conosles), the digital distribution infrastructure is
               | built in terms of overlay packfiles. Games, updates, and
               | DLC on disk are all single-file archives / filesystem
               | images. The OS, when launching a game, mounts the game +
               | its updates + its DLCs together as a transparent overlay
               | filesystem. The game just sees a unified representation
               | of its newest version, with whatever DLC has been
               | installed, sitting under (IIIRC) /title.
               | 
               | I wouldn't be surprised if the other consoles also do
               | things this way. It's a very sensible way to manage
               | updates -- especially when a game is running off of
               | physical media but the updates are held in local storage.
               | It also means there's no point where the update gets
               | "merged in" to the base image, which means updates can be
               | an atomic thing -- either you have the whole update file
               | downloaded + sig-checked (and thus it gets added to the
               | overlay-list at boot) or you don't.
               | 
               | And, if all the consoles are doing it, I wouldn't be
               | surprised if studios that do a lot of work on console
               | don't just use that update strategy even on PC, for
               | uniformity of QA, rather than for "obfuscation."
        
               | spinax wrote:
               | Circa 1995: we (company) used RTPatch as the users at the
               | time were floppy based via Post, but enjoyed BBSes (and
               | Prodigy, etc.) as it was a social community due to the
               | nature of the software/industry. We could upload small
               | RTPatch based updates and bugfixes to our tiny company
               | BBS, users could dial in and download a rtpatch a lot
               | faster than a floppy in the mail (besides avoiding the
               | usual corrupt floppies that plagued the tech).
        
               | codefreakxff wrote:
               | Fun fact. This is not a new concept. Doom used overrides
               | with their WAD file format. Mod authors could release
               | their mod files replacing or adding content without
               | stealing the game level files.
               | 
               | There may be prior art to that, but as a young coder that
               | was the first time I'd seen it
        
               | Riverheart wrote:
               | That's how Tales of Maj'Eyal (ToME) supports modding
        
               | erosenbe0 wrote:
               | Yes, overrides. I've heard talks on this at conferences
               | with a couple big publishers. A lot of effort is put into
               | it but obviously if we were distributing OS security
               | updates like Apple it would be a whole different
               | ballgame.
        
             | erosenbe0 wrote:
             | Speaking from experience, AAA games have quite a bit of
             | architecture behind them that can date back a decade or
             | two. So you end up with some tradeoffs. The code may be
             | well-tuned, resource efficient, and mostly crash proof, but
             | some elements can be a bit dated relative to the size and
             | scale of modern assets.
        
           | masklinn wrote:
           | > I don't understand what bsdiff does, or is.
           | 
           | It's a binary diff/patch utility.
           | 
           | > What are some real life use cases for it? When does a
           | developer need such a tool?
           | 
           | Incrementally update binary files e.g. assets or runnable
           | binaries instead if having to re-send the entire thing on
           | every update so e.g. games, browsers, package managers, ...
           | 
           | The standard diff/patch utilities are text-based and even
           | when they do extend to binary data their algorithms and
           | heuristics tend to be biased towards textual contents.
           | 
           | Bsdiff was built specifically with an eye towards
           | executables.
        
           | cperciva wrote:
           | Does it help if I tell you that bsdiff has saved end users
           | somewhere over 10,000 years of waiting for software updates
           | to download?
        
             | throw14082020 wrote:
             | yea well thats not enough! Xcode should be using it too.
             | They make us download 12GB for every update.
             | 
             | /s end open source entitlement section
             | 
             | Thanks for your great work
        
           | nix23 wrote:
           | Chrome and Chromium used bsdiff for updates:
           | 
           | https://www.chromium.org/developers/design-
           | documents/softwar...
        
             | codeulike wrote:
             | The page says they use something called Courgette which is
             | similar to bsdiff
        
               | nix23 wrote:
               | They used bsdiff before and now Courgette.
        
         | YakBizzarro wrote:
         | I used and hacked bsdiff in the past. A very neat concept and
         | tool, many many thanks for making and publishing it!
        
         | vanderZwan wrote:
         | While I'm not the author of anything, I did on one occasion
         | share Russ Cox' articles on regexes with a fellow developer,
         | only for that developer to reply _" that guy is making a
         | mountain out of a molehill, just use re2"_.
        
           | nostrademons wrote:
           | Google interviewing lore is that there once was a candidate
           | who was asked if they were familiar with MapReduce and
           | replied "MapReduce? Is that like Hadoop?"
           | 
           | Reportedly, this was also a major factor in Google's strategy
           | shift to open-source a lot of their infrastructure (GRPC,
           | Bazel, TensorFlow, LevelDB, etc.)
        
           | phkahler wrote:
           | >> "that guy is making a mountain out of a molehill, just use
           | re2"
           | 
           | That's an odd thing about the tech world, it's accessible. As
           | you get better in different areas you are actually more and
           | more likely to make contact with important people (big names?
           | people who did important stuff?). This can creep up on you if
           | you're not aware what level you're operating at. It can be a
           | small world.
        
             | toddmatthews wrote:
             | yep. i remember asking a question on google groups about
             | some AppEngine query early on a Saturday morning thinking,
             | "this will never be answered".
             | 
             | about 15 minutes later Guido van Rossum answered my
             | question.
        
               | derefr wrote:
               | Also, people who say so-and-so company (usually Google)
               | is hard to contact for support, or that they require
               | expensive support contracts before they'll talk to you,
               | have likely never tried sending email to the appropriate
               | mailing list for the product.
               | 
               | It's amazing how often doing this completely bypasses any
               | corporate first-line-support structure in the way, and
               | just puts the email right into the inbox of the line
               | engineers working directly on the product. It's also
               | amazing how quickly those line engineers reply. (It's as
               | if they treat "replying to random messages on the product
               | mailing list" as their highest-priority job. Or maybe
               | it's just that they're technical people, and my questions
               | are usually very nerd-snipe-y, and get them hooked.)
        
               | TimPC wrote:
               | It depends on your issue. We got good support emailing
               | with the TF Lite team on a neural net bug. I think if
               | you're interacting with open source in a value add way
               | google support is often quite good. If you're looking for
               | support for integrating for sales or classic customer
               | support it can be terrible to non-existent.
        
               | shaftway wrote:
               | > If you're looking for support for integrating for sales
               | or classic customer support it can be terrible to non-
               | existent.
               | 
               | > Maybe it's just that they're technical people, and my
               | questions are usually very nerd-snipe-y, and get them
               | hooked.
               | 
               | Integrating sales or classic customer support is boring.
               | 
               | I mean, I get that it pays the bills, but when I've got a
               | million priorities, boring work that I don't really get
               | credit for goes to the bottom of the pile.
        
               | 0xEFF wrote:
               | The appropriate mailing list email address is often
               | listed right at the bottom of the blog article too.
        
               | mercer wrote:
               | I've more than once had one of the core developers of
               | Elixir or Phoenix answer a question almost right after
               | asking it in the Slack or IRC channel. I often felt a bit
               | embarrassed to take up their time considering how 'basic'
               | these questions were.
               | 
               | I've had similar experiences in other language/framework
               | communities. It's amazing how helpful some of these very
               | productive people can be to random chat visitors :)!
        
               | rantwasp wrote:
               | no. there is a big difference between having support and
               | having someone that is passionate about something helping
               | you out. support should be there and should be available
               | from the simplest issues to the most complicated things
               | about A PRODUCT. you will not get much traction if you
               | ask the same things to the people expert person on a
               | mailing list.
        
               | derefr wrote:
               | I guess I've never needed "support" in that sense.
               | 
               | I almost always solve problems with the products/services
               | we use myself -- up to and including forking the vendor's
               | codebase to fix their shit for them -- because it's
               | almost always the fastest way to do things. I've already
               | been working with their product for a while, and I
               | already know exactly what my own problem is. Provided I
               | also know the language _their_ code is written in, that
               | translates to being able to code a patch myself, faster
               | than I can get someone on their end to comprehend the
               | problem I 'm having.
               | 
               | That applies up until the point where there's a problem
               | surface that's just plain _inaccessible_ to me (i.e. the
               | inside of a proprietary mobile app or SaaS service), at
               | which point I have to reach out to tell them that it 's
               | broken / missing something on their end. (And even then,
               | if I have a spare hour and access to the offending
               | binary, I'll reverse-engineer it a bit to see if I can
               | hotpatch it while waiting for them to get back to me.)
               | 
               | I suppose, for people who don't think this way, there can
               | be value in "support." But IMHO there's _more_ value in
               | just hiring some DevOps engineers who _do_ think that
               | way. Then all the easy  "support" requests get handled
               | in-house, and so you'll only ever _need_ the kind of
               | "support" that involves direct bug reports to the
               | engineers from the vendor who built the thing.
        
               | gowld wrote:
               | > forking the vendor's codebase to fix their shit for
               | them
               | 
               | How well does that work for a hosted cloud service?
        
               | derefr wrote:
               | I mean, if I know that some service is using e.g. Redis
               | under the covers, and the problem is in Redis itself,
               | then submitting a patch upstream to Redis; waiting for it
               | to get upstreamed; and then telling the cloud host to
               | update their Redis version to solve the problem -- is
               | usually a pretty reliable path.
               | 
               | But otherwise, like I said, that's when "the problem
               | surface is inaccessible."
        
               | rantwasp wrote:
               | you are by definition a power user. if your product is
               | for power users that's fine.
               | 
               | if your product is targeted to everyone but only power
               | users can figure it out when there is an issue... well
               | you have a problem.
               | 
               | also, being able to figure something out != you should
               | figure it out. your time is limited and the complexity of
               | remembering all those things that you figured out (even
               | if you have the time) will quickly overwhelm you. unless
               | it's literally your job to support the product you should
               | care about the interface of the product and what
               | guarantees it makes
               | 
               | re: hiring devops engineers. i'm sorry, what? if my email
               | suddenly does not work I'm supposed to hire a devops
               | engineer now?
        
               | deanCommie wrote:
               | It's a great concept in theory, but in practice...find me
               | the email list for Google Photos. Or Google Keep. These
               | are two Google products that I use daily (including
               | paying for one!)
        
               | derefr wrote:
               | Well, yeah, there does have to _be_ a public mailing
               | list.
               | 
               | My point was that there _are_ often public mailing lists,
               | where engineers with real engineering problems could
               | discuss those problems with the engineers responsible for
               | the product /service; and yet the engineer with the
               | problem nevertheless doesn't even think of using the
               | mailing list to reach out, but instead decides to go
               | through regular customer-service support channels to get
               | their problem solved.
        
               | filoleg wrote:
               | >Well, yeah, there does have to be a public mailing list.
               | 
               | Imo, this is not scalable or sustainable, and mailing
               | lists are not a replacement for adequate customer
               | support.
               | 
               | The only reason sending emails directly to mailing lists
               | for specific Google products works is precisely because
               | those mailing lists are not public and not flooded with
               | bajillions of emails from the general public. So those
               | who send the emails are already somewhat pre-screened in
               | a way, because if you know that mailing list email
               | address in the first place, you are very unlikely to send
               | something like "my cousin couldn't remember password to
               | their google photos account, can you fix this please".
               | That's why everything there ends up being read and
               | addressed. If those mailing lists were public, then they
               | would be just as useless and ineffective as the current
               | customer support routes currently are for Google.
               | 
               | Tl;dr: mailing lists for specific products are a nifty
               | workaround for the time being, but they aren't a good
               | sustainable solution for shitty customer support. Making
               | those mailing lists public will not only not help solving
               | the problem, it will just make those mailing lists as
               | ineffective as the current customer support. There is no
               | "one weird trick" to solve the customer support adequacy
               | issues with Google,it has to be an actual customer
               | solution that won't be easy and will take time.
        
               | Silhouette wrote:
               | I've also got serious problems (as in, the service we're
               | paying real money for is totally broken) solved by
               | contacting a friend who worked at $BIG_COMPANY and the
               | friend escalating internally.
               | 
               | The point is that _I shouldn 't have to_ bypass the
               | official channels that way. These organisations are
               | operating at the level of ad-hoc individual heroics,
               | which is the lowest tier in terms of organisational
               | maturity. In a start-up where everyone has to do
               | everything and no-one has worked anything out yet, that's
               | completely understandable. In a many-billions-of-dollars
               | business with enough influence that someone's quality of
               | life or the viability of some other business could be
               | profoundly affected if the giant screwed up, we should be
               | demanding better by now.
        
               | criddell wrote:
               | I read about a similar example this week. Some news orgs
               | filed FOIA requests for Dr. Anthony Fauci's email and I
               | was surprised at how many regular people just emailed him
               | and got a response.
               | 
               | Apparently the guy answers about 1000 emails per day.
        
           | jffry wrote:
           | For anybody who's lost: Russ Cox is the original author of
           | re2, a fast C++ library implementing regular expressions that
           | are guaranteed to run in linear-time.
           | 
           | There's a collection of articles they wrote talking about
           | regexes and various pitfalls: https://swtch.com/~rsc/regexp/
        
         | gowld wrote:
         | Nowadays, Apple ships the whole 4GB OS, even when they have to
         | ship 3 point updates in one month for small bugs.
        
         | grupthink wrote:
         | Yeah, but did you win the Putnam?
        
           | mishraprince wrote:
           | That one reply in that flame war is still hilarious so many
           | years later. To anyone who didn't get the reference of Putnam
           | https://news.ycombinator.com/item?id=35079
        
             | bredren wrote:
             | tldr;
             | 
             | In 2007, an academic argues with PG and others. After long
             | exchange, academic defensively states their own
             | achievements.
             | 
             | Another user challenges academic with GP question, to which
             | academic provides unexpected affirmative response.
        
               | yuppiemephisto wrote:
               | I don't agree with that phrasing. A lot of people on that
               | thread seemed sure cperciva was some arrogant dickhead
               | bound for failure, but tarsnap is going a lot stronger
               | than many of them are. Also people in the thread were
               | amazingly rude to him, while he seemed pretty polite to
               | me.
        
               | cperciva wrote:
               | I think you're giving cperciva too much credit. He was
               | just as arrogant as people thought, and he was definitely
               | defensive.
        
               | gowld wrote:
               | But does he refer to himself in the third-person? That's
               | the pinnacle of arrogance.
        
               | cperciva wrote:
               | cperciva rarely refers to himself in the third person,
               | but it does occasionally happen.
               | 
               | More often, we refer to ourselves in the first person
               | plural.
        
               | yjftsjthsd-h wrote:
               | I wonder how many people will downvote you without
               | looking at your username?
        
               | belter wrote:
               | This thread is turning out to be better than the one from
               | 2007...
        
               | pjerem wrote:
               | I think you missed the point. Scroll up, it's the same
               | guy :)
        
               | bredren wrote:
               | Haha. I did. That's wonderful.
        
             | ksec wrote:
             | Interesting this reply and one above are from accounts that
             | is rather new.
        
             | abalaji wrote:
             | wow, that's one helluva response. HN in 2007 seems like a
             | wonderful place
        
               | amznthrwaway wrote:
               | It really was. There was also vibrant adjoining
               | professional community.
               | 
               | It's part of why I find it so sad that the moderation
               | here is abhorrent; strongly emphasizing social cohesion
               | amongst a specific group over much more valuable
               | principles.
        
               | Hallucinaut wrote:
               | I like the part where someone calls cperciva's idea bad,
               | he says what's bad about it then the founder of Dropbox
               | replies saying they're just starting and it sounds like
               | they're in the same space.
               | 
               | Pretty good bad idea
        
               | libria wrote:
               | Like the featured article, HN threads - then and now -
               | are pretty low-key in regards to participant
               | introductions. Usernames are just text, no flair or
               | qualifiers so the focus is on the speaker's content
               | itself. `libria` is free to converse with `cperciva` as
               | an equal peer which is nice, because most other IRL
               | forums I'd be acutely aware that's not the case ;)
        
           | mercer wrote:
           | But just the once, though, huh?
        
       | vzaliva wrote:
       | Nice story and judging by it congrats on overcoming your "low-
       | key" austrailian manner handicap ;)
        
       | satysin wrote:
       | I have a similar experience to this myself.
       | 
       | A long time ago (early 2000s) I wrote a handful of tools to ease
       | physical to virtual (P2V) migration for Windows Server. I was a
       | systems administrator in the UK working for a large American
       | firm.
       | 
       | I wrote the tools in my own time and unlike in other countries my
       | employer had no ownership of them, just to clear that up at the
       | start. I did use these tools at work but never developed them on
       | company time or resources. They were released as open source.
       | 
       | Fast forward 6 months and we had a meeting with a virtualisation
       | consultancy trying to sell us some tools to assist in a wider P2V
       | programme. We had a sales guy and a tech guy visit to show us
       | their stuff. After half an hour of them talking up all they can
       | offer the tech guy fired up a tool and I instantly recognised it
       | was _my_ tool but with some rebranding.
       | 
       | My manager looked at me slightly confused as he recognised it
       | too. I let them continue for a few minutes to properly confirm my
       | suspicions then mentioned that this tool was in fact a tool we
       | already use. They were very confused until I loaded up my version
       | on a remote system to show them.
       | 
       | Needless to say the rest of the presentation was extremely
       | awkward. I believe these two gentlemen thought they were in fact
       | their own tools developed in house. It turned out several of
       | "their" tools were in fact rebranded versions of mine.
       | 
       | I would love to say there was some kind of exciting conclusion
       | but in reality all that happened was they were clearly spooked by
       | this as their/my tools were removed and never included again in
       | their P2V toolkit.
       | 
       | I suspect the moment they left the meeting with us they called to
       | report what happened and rather than risk me following up (not
       | sure how I could do that to be perfectly honest, it was FOSS
       | after all just not used the proper way) they decided it would be
       | safer to just pull these non-critical tools. They were just "nice
       | to haves" anyway.
       | 
       | My boss excitedly share the experience with the team and we had a
       | good laugh about it and how the sales guy went from Mr Confident
       | to stammering and stressed in a matter of seconds.
       | 
       | We never did buy their toolkit.
        
         | thinkindie wrote:
         | did you follow up with that company to make sure they granted
         | you recognition and money for your tools?
        
           | fifilura wrote:
           | Recognition - yes, but money - why? It was open source.
           | 
           | This meeting does not sound at all awkward to me if I was the
           | sales person. To me this sounds like how lots of companies
           | work with open source to make a business.
           | 
           | They take some open source tools (maybe they built it
           | themselves, maybe not), package then and maybe sell some
           | cloud service around it or simply just support.
           | 
           | If I was the sales person I would be delighted to meet the
           | person who wrote a part of the package.
           | 
           | The only reason to be embarrassed is if it did not contain
           | the correct attribution and recognition.
           | 
           | Edit: the fact that it happened 2000 could have made it
           | embarrassing though. Many things have changed since then...
        
             | satysin wrote:
             | Yes the tools were all open source. This was in 2004 and I
             | just zipped up a compiled exe, the src directory and a
             | license.txt (GPL2) and put it on my website. Similar to
             | Nirsoft which is what inspired me.
             | 
             | The reason behind it being awkward was for half an hour the
             | sales guy had talked up how they were the only company
             | developing tools like this, etc, etc. How the 'big players
             | like VMware don't care about these pain points admins have
             | to deal with' or words to that effect (which was true and
             | why I made the tools in the first place).
             | 
             | Then the moment he finished the sales pitch and I see these
             | 'one of a kind tools' they have been developing I respond
             | with "That's my tool, see..."
             | 
             | I believe the sales guy, at least, believed all the tools
             | he was talking about were made in house. Open source wasn't
             | a widely understood thing back then with Microsoft talking
             | about Linux and open source being a "cancer" and such.
             | Really knocked him off course as I guess he had never been
             | in that situation before (I doubt many have?).
             | 
             | As for following up with the company. I did nothing. I was
             | young and while I knew what they did was wrong (they
             | literally removed my name, link to my website, etc. and put
             | their company name but changed no functionality of the
             | tools as far as I could see and certainly no source code
             | was available!) I didn't have the confidence (or desire
             | tbh) to chase up on some little tools I made to learn and
             | make my life a little easier at work. The company
             | disappeared (I don't know why) sometime around 2010 iirc.
        
             | mywittyname wrote:
             | Honestly, it sounds like they might have been willing to
             | purchase a license from you to redistribute the code. Had
             | you reached out, you may have received a few bucks and
             | proper attribution for your work (and your work would have
             | reached a broader audience).
        
               | satysin wrote:
               | Possibly. Of course they could have contacted me first
               | rather than modifying my program to pass it off as
               | theirs.
               | 
               | I mean it was GPL2 so they could have just used it as is.
               | 
               | Of course this was the early 2000s where many people saw
               | "open source" and felt like it meant they could just do
               | whatever they want. I bet they never entertained the idea
               | I would ever find out let alone be sitting in a sales
               | pitch :)
        
       | Cthulhu_ wrote:
       | Something I should be aware of; in Go programming, they sometimes
       | encourage you to just copy some code instead of add another
       | dependency. However, if you copy code from a codebase with a
       | certain license, you should, if everything is above board,
       | include the license as well then for that bit of code.
       | 
       | I mean in practice it's tiny utilities that I'm too lazy to
       | reimplement in the exact same way, but still, it's something to
       | keep in mind.
        
       | thundergolfer wrote:
       | Thankfully the "DTrace expert" didn't turn out to be Bryan
       | Cantrill. He's a big fan of Scott McNealy's engineering
       | principles for Sun Microsystems, which includes "Don't Cheat",
       | and the behaviour in this story very much seems not in the spirit
       | of that principle. I wonder if this bit of 'cheating' ended up
       | getting someone at Sun in trouble.
        
         | sam_lowry_ wrote:
         | You do not know.
        
           | bcantrill wrote:
           | It definitely (obviously?) wasn't me. I had introduced
           | Brendan to DTrace in 2004 (over e-mail) when I discovered his
           | earlier psio work[0] (which was based on TNF, a tracing
           | facility that predated DTrace that was better than nothing --
           | but not by much). I knew that he was going to be very excited
           | to learn about DTrace, and it wasn't long before he was
           | delighting us with some really creative scripts. (His
           | shellsnoop.d[1], in particular, really got people's attention
           | as to what what could do with DTrace!)
           | 
           | While he and I had corresponded a bunch, ironically the first
           | time I met Brendan _was_ in 2005, it _was_ in Sydney, and I
           | _was_ on a tour of Australia talking about Solaris 10 -- but
           | it followed this incident by several months (if I recall
           | correctly). I was excited to meet Brendan, and he was excited
           | to meet me -- especially so after his poor experience several
           | months prior!
           | 
           | [0] http://www.brendangregg.com/psio.html
           | 
           | [1] http://www.brendangregg.com/DTrace/shellsnoop.d
        
           | dijit wrote:
           | Given that Brenden and Bryan worked together closely and
           | seemed to be very fond of each other; and the article
           | mentions that "the VIP may not have known" I think it's safe
           | to assume it was not Bryan.
           | 
           | As if it had been Bryan, Brenden would have been more sure.
        
           | dswalter wrote:
           | It feels like Cantrill being a creator of DTrace earns at
           | least the credibility to be called a 'DTrace expert' without
           | quotation marks.
        
             | cryptonector wrote:
             | Specifically: https://news.ycombinator.com/item?id=27391764
        
           | apendleton wrote:
           | To the extent that the two of them have disagreed about
           | things, they don't seem to have any issue saying so publicly,
           | referring to the other by name:
           | https://news.ycombinator.com/item?id=16382456
        
           | nosequel wrote:
           | Brendan already replied to another comment saying he doesn't
           | remember the VIP's name.
        
       | irrational wrote:
       | > a heavy American accent
       | 
       | Any non-Americans want to chime in on what is a heavy American
       | accent? I'm imagining heavy southern accent, but maybe this is
       | something that can only be heard by non-Americans?
        
         | laurieg wrote:
         | Rhoticity (the r sound in words like butter).
         | 
         | https://en.m.wikipedia.org/wiki/Rhoticity_in_English
        
         | pindab0ter wrote:
         | Imagine a British accent. Now imagine that that is what's
         | normal; everyone in your country speaks it. Suddenly American
         | sounds very different.
         | 
         | Specifically in my limited experience stuff like pronouncing
         | t's like d's and soft back-in-the-throat r's. "Budder" vs.
         | "buttah", for example. American vowels tend to sound larger as
         | well in my experience.
        
         | [deleted]
        
         | youeseh wrote:
         | Most accents that aren't your neutral evening news accent sound
         | "heavy".
        
         | jmrm wrote:
         | For me, as an exaggeration to being understandable to an
         | American, it could be this example from Regular Car Reviews
         | (time: 02:20):
         | 
         | https://youtu.be/oMDcIApBtL8?t=141
        
         | TeMPOraL wrote:
         | It's like your mouth was full of water - in contrast to British
         | Received Pronunciation, which is like a mouth full of down
         | feather. Also compare to "Hollywood Soviet English", which is
         | like a dry mouth, but the tongue is filled with helium so it
         | floats up, and then 'r' sounds like this: https://upload.wikime
         | dia.org/wikipedia/commons/c/ce/Alveolar....
        
           | creddit wrote:
           | I have absolutely zero ability to take your descriptions and
           | convert them into an understanding of what you're trying to
           | convey. Like what could this possibly mean???
           | 
           | > ...which is like a mouth full of down feather.
        
             | edwinyzh wrote:
             | But to me they are good analogies! And I laughed!
        
             | TeMPOraL wrote:
             | Pillow filling. https://en.wikipedia.org/wiki/Down_feather
             | 
             | This means speaking soft, muffled words - roughly the way
             | you'd sound if you had your mouth full of something soft.
             | Like feather. Or food.
             | 
             | Not a perfect analogy, but hey, works as a hash for an
             | accent, at least among the people I know locally.
        
         | WA wrote:
         | For me as a German, the people in this video speak a heavy
         | American accent: https://youtu.be/c9kI_rAFuKA?t=72
        
           | TulliusCicero wrote:
           | Well, that's a specific regional American accent, in the US
           | called a Southern accent. Probably the only strong/widespread
           | regional accent really left in the states (you could also
           | argue for AAVE/ebonics but it's not regional in the same
           | way).
           | 
           | It's a bit like saying that someone from rural Bavaria who
           | speaks with a strong Bavarian accent has a heavy German
           | accent while speaking German.
        
             | WA wrote:
             | Yes, but I'd bet that the Bavarian accent in particular is
             | considered by foreigners as "heavy German". Bavarian
             | culture (Oktoberfest) is considered "typical German".
        
               | TulliusCicero wrote:
               | That may be, but they'd be wrong.
        
         | [deleted]
        
         | kodeninja wrote:
         | Like pronouncing "and" as "eeyaand".
        
         | dwb wrote:
         | I would read that as an accent that isn't a softer New England
         | accent, but also not one that non-Americans would so easily
         | place more specifically (Southern, New York, maybe one or two
         | others?)
        
         | watt wrote:
         | When the speaker is creaking like a frog, speaking in that
         | weird vocal fry register. It's very american way of speaking.
        
         | [deleted]
        
         | rriepe wrote:
         | You can hear a European perspective on it in the song
         | Prisencolinensinainciusol:
         | https://www.youtube.com/watch?v=-VsmF9m_Nt8
        
         | bitwize wrote:
         | Really rhotic r's, relaxed prosody, tongue flaps instead of a t
         | berween vowels, indistinct schwas on unstressed syllables, etc.
         | 
         | I also perceive Canadians to have "heavier" North American
         | accents than Americans do. Some Canadians speak as if from the
         | backs of their throats, with leaden vowels and really round
         | r's. They also often overcorrect /a/ to /ae/ so "drama" becomes
         | "dramma" (like the first two syllables of "Dramamine". And of
         | course there was William Shatner's famous "sabotadge"...
        
         | [deleted]
        
         | sammorrowdrums wrote:
         | I'd say most people hear divergence from their local accent,
         | and consider theirs to be (at least subconsciously) a normal
         | accent. This results in English people hearing my accent as a
         | bit Irish, and Irish people hearing the English parts. Neither
         | acknowledge fully the shared parts. In truth, I am a bit of
         | both.
         | 
         | So I'd say a strong American accent to an Australian is the
         | most divergent one, not one that somebody in US might consider
         | strong.
         | 
         | Living in upstate New York I also frequently heard "oh, you
         | have an accent" to which I always tried to explain "so do you",
         | and several times I got the response that their accent was
         | either neutral or closer to generic English.
         | 
         | It is amazing the subjective differences in how people
         | experience accents, and how they feel about their own.
        
           | ema wrote:
           | There was a month or so after I moved back to Germany from
           | the Netherlands where my own accent when speaking German was
           | super noticeable to me. Otherwise I don't even hear my own
           | accent when speaking English even though it is undeniable
           | there when I listen to recordings of me.
        
           | Agentlien wrote:
           | I'm born and raised in Goteborg (Gothenburg), Sweden. My
           | parents are originally from Karlskoga, 270km NE from here.
           | Goteborg has a very distinct accent and I always get told by
           | others that I have a very bland Swedish with no hint of that
           | accent.
           | 
           | But one time I was at a wedding in Karlskoga and talked to
           | someone I hadn't met before. I opened my mouth and managed to
           | get half a sentence out before he interrupted with "Oh!
           | You're from Goteborg!"
        
             | dantondwa wrote:
             | Same experience for me. I am from the Venice area in Italy,
             | which is famous for a very strong and somehow funny accent
             | and dialect. However, my family is from central Italy. This
             | resulted in me being considered having a Southern,
             | definitely not local accent in Venice and me being
             | considered Venetian by everyone else in Italy. Probably the
             | truth is in the middle.
        
         | naruhodo wrote:
         | Speak through your nose and and lean heavily on the R sound
         | wherever you find it.
         | 
         | Peter Sellers called Americans "The Herns" [1]:
         | 
         | > Various American characters with the surname Hern or Hearn,
         | often used for narration, outrageous announcements or parody
         | sales pitches. The Goons referred to Americans as "herns",
         | possibly because saying "hern hern hern...." sounded American
         | to them, possibly because Sellers once said that a decent
         | American accent could be developed simply by saying it in
         | between sentences.
         | 
         | [1]
         | https://en.wikipedia.org/wiki/List_of_The_Goon_Show_cast_mem...
        
           | oblio wrote:
           | As a non-native English speaker I absolutely hate English
           | accents where consonants absolutely disappear for no good
           | reason.
           | 
           | Personally I'd rather have Americans "lean heavily on the R"
           | than act like the letter doesn't exist (rhotic vs non-
           | rhotic). I think it's another factor why American English is
           | more popular than British English (besides the huge economic
           | factor, the US economy being 5x the UK one), since their
           | pronunciation is clearer and more explicit.
        
             | V-2 wrote:
             | I like British accent for its aesthetics, but from
             | pragmatic point of view it's not even a contest (from the
             | perspective of a non-native speaker), I agree.
             | 
             | It's not just the r's (in fact, _some_ British accents are
             | rhotic - around their South West, if I 'm not mistaken?),
             | there are all these glottal stops and whatnot.
             | 
             | But, from my observations at least, there are also big
             | discrepancies related to social class. When I moved to the
             | UK, I had no problem whatsoever talking to, say, a local
             | librarian - but a plumber would be nearly impossible to
             | understand for me, in the first months at least. I didn't
             | really experience it in the US, certainly not to such an
             | extent.
        
               | toyg wrote:
               | The thing is that UK dialects are virtually unknown
               | outside the country; they can be _very_ different from
               | Received Pronounciation, but diverge in ways that are
               | still fundamentally predictable for a native English
               | speaker (unless you wander into Scotland or Ireland).
               | 
               | American accents are more familiar because of Hollywood,
               | so they tend to be less surprising; and likely because a
               | lot of them were actually developed by people who learned
               | English as a second language, they are often exaggerate
               | in effect, very clear, and actually more regular
               | (particularly on names, where UK "rules" are anything
               | but).
               | 
               | This said, "deep south" US accents, when pushed hard, can
               | become as inscrutable as certain UK dialects.
        
             | messe wrote:
             | What does that even mean? There's nothing clearer or more
             | explicit about either. Maybe you mean that it closer
             | matches the orthography?
             | 
             | > than act like the letter doesn't exist (rhotic vs non-
             | rhotic).
             | 
             | Every language changes. Nobody is acting like "the letter
             | doesn't exist", just occasionally that phoneme has changed
             | or dropped in their dialect. Even in non-rhotic accents, an
             | r in the orthography can indicate a change in vowel
             | quality.
             | 
             | > I think it's another factor why American English is more
             | popular than British English (besides the huge economic
             | factor, the US economy being 5x the UK one),
             | 
             | I think the greater population, and the fact that the
             | Hollywood content has embedded itself globally, has
             | resulted in more exposure to American content (of which
             | there is more of). Any dialect will sound clearer to you if
             | you're exposed to it more often than others.
        
             | toyg wrote:
             | The single most significant factor for the popularity of
             | American accents is Hollywood.
        
               | oblio wrote:
               | I'd include the US music industry in that. Songs are
               | <<super>> important for learning a language, if you're
               | constantly surrounded by songs of a certain language.
               | 
               | Plus... American multinationals are somewhat close
               | behind. If you want to get a good, well paying job at an
               | American multinational, you have to speak English at
               | least a bit, and you have to know it well if you want to
               | move up the ladder.
        
               | irrational wrote:
               | Recently we were doing interviews for a job. We had one
               | gentleman from India applying for the position. We have
               | hundreds of people with Indian English accents at our
               | company, so it's not like we are unfamiliar with the
               | dialect. But this person... none of us could understand
               | more than one word in ten from him. We persevered with
               | the interview, each of us assuming that it was just us
               | and everyone else could understand him. It took me nearly
               | an hour to realize that he was pronouncing API as "ape-
               | ee".
        
               | mnw21cam wrote:
               | People pronounce differently when singing vs speaking.
        
               | TulliusCicero wrote:
               | For regular songs (not rapping) it's a lot harder to
               | distinguish Brits vs Americans, I've found, as compared
               | to speaking.
        
               | irrational wrote:
               | My brothers and I did the ring road in Iceland a few
               | years ago. One night we were eating dinner at a
               | restaurant in a small village in North Iceland. Our
               | server had a perfect North USA dialect of English. He
               | sounded to us just like an American. We asked him if he
               | had lived in the USA. He said he had never left his
               | village and had never even been to Reykjavik. We asked
               | him how he came to speak American English so perfectly
               | and he said he learned it from watching movies and TV
               | shows.
        
             | DonHopkins wrote:
             | There's actually a phonetic term for "leaning heavily on
             | the R":
             | 
             | https://en.wikipedia.org/wiki/Rhoticity_in_English
             | 
             | >Rhoticity in English is the pronunciation of the
             | historical rhotic consonant /r/ in all contexts by speakers
             | of certain varieties of English. The presence or absence of
             | rhoticity is one of the most prominent distinctions by
             | which varieties of English can be classified. In rhotic
             | varieties, the historical English /r/ sound is preserved in
             | all pronunciation contexts. In non-rhotic varieties,
             | speakers no longer pronounce /r/ in postvocalic
             | environments--that is, when it is immediately after a vowel
             | and not followed by another vowel. For example, in
             | isolation, a rhotic English speaker pronounces the words
             | hard and butter as /'ha:rd/ and /'b^t@r/, whereas a non-
             | rhotic speaker "drops" or "deletes" the /r/ sound,
             | pronouncing them as /'ha:d/ and /'b^t@/. When an r is at
             | the end of a word but the next word begins with a vowel, as
             | in the phrase "better apples", most non-rhotic speakers
             | will pronounce the /r/ in that position (the linking R),
             | since it is followed by a vowel in this case. (Not all non-
             | rhotic varieties use the linking R; for example, it is
             | absent in non-rhotic varieties of Southern American
             | English.)
             | 
             | >The rhotic varieties of English include the dialects of
             | South West England, Scotland, Ireland, and most of the
             | United States and Canada. The non-rhotic varieties include
             | most of the dialects of modern England, Wales, Australia,
             | New Zealand, and South Africa. In some varieties, such as
             | those of some parts of the southern and northeastern United
             | States, rhoticity is a sociolinguistic variable:
             | postvocalic r is deleted depending on an array of social
             | factors such as the speaker's age, social class, ethnicity,
             | or the degree of formality of the speech event.
        
               | oblio wrote:
               | In my original comment:
               | 
               | > (rhotic vs non-rhotic).
               | 
               | :-)
        
             | brazzy wrote:
             | That's funny. As a non-native (German) English speaker,
             | British pronounciation seems far clearer to me than
             | American - barring strong regional accents of course, maybe
             | thatis what you had in mind.
        
               | oblio wrote:
               | Yeah, but Received Pronunciation is basically an
               | artificial creation, only a certain percentage of Brits
               | actually use it.
               | 
               | Regular Brits use their regional access, yes. And those
               | can be much, much harder to understand than your average
               | American accent. For precisely the same reason rhotic
               | accents can cause issues, those regional accents tend to
               | eat up sounds and sometimes entire syllables.
        
         | Agentlien wrote:
         | I'm Swedish and to me a heavy American accent means a clear
         | rhotic r[0], slightly slurred speech, and a lot of volume.
         | 
         | [0] https://en.wikipedia.org/wiki/Rhoticity_in_English
        
           | RyJones wrote:
           | I got that a lot in Iceland[0] recently.
           | 
           | I'd say something to a clerk, and they'd reply with "you're
           | an American!"
           | 
           | Yes, how could you tell?
           | 
           | You're so loud!
           | 
           | Thanks?
           | 
           | [0]: https://youtube.com/playlist?list=PLOgT48pM4GctCy-88GTDy
           | yqyy...
        
             | irrational wrote:
             | I aware of this stereotype, so when I travel I purposefully
             | try to talk just above a whisper.
        
         | rbanffy wrote:
         | Americans can identify accents from within the US. Any such
         | accent would be identified by foreigners at least as American
         | and probably as coming from a coast, the central US and the
         | south.
        
         | exidy wrote:
         | For me, if the speaker uses two syllables for "and", it's a
         | strong American accent.
        
           | toyg wrote:
           | To me it's when _water_ and _wider_ are pronounced in a very
           | similar way. Also, Americans abuse _awesome_.
        
             | Rapzid wrote:
             | You can't have too much awesome.
        
           | irrational wrote:
           | I'm trying to understand what you mean here. How does one
           | pronounce and with 2 syllables?
        
             | eppsilon wrote:
             | "AY-und"
             | 
             | Edit: another example: "door" => "DOH-ur"
        
               | irrational wrote:
               | Interesting. I don't pronounce either of those that way.
               | I wonder what region of the country uses these
               | pronunciations?
        
               | djur wrote:
               | Those are traits of some Southern and Appalachian
               | accents.
        
       | na85 wrote:
       | As much as I think RMS himself is an utter embarrassment of a
       | human being, stories like this are why I also believe the GPL is
       | one of the most important contributions to computing, ever.
       | 
       | MIT/BSD-style licenses are practically begging large billion-
       | dollar corporations to rip off your work wholesale and use it to
       | generate profits while contributing only the occasional patch or
       | two. I used to see this phenomenon on HN, where every time some
       | distro had a new release the BSD folks would be in here reminding
       | us that BSD runs Netflix and routers and Playstations and won't
       | we please just donate? As if Sony and Netflix value these
       | projects enough to use them for critical infrastructure but not
       | enough to keep them financially solvent.
       | 
       | (The GPL is of course not a panacea; as TFA demonstrates, Sun
       | would have got away with this, possibly forever, had the author
       | not made his serendipitous discovery)
        
         | whoknowswhat11 wrote:
         | I think the GPL and FSF etc lost momentum with their GPLv3
         | push. I know that was the case for me. I really liked GPL (v2).
         | Then GPLv3 came out and I was like huh? After that I became
         | much more open to the lighter versions of things MIT / BSD.
         | 
         | GPLv3 is not really workable in terms of preserving developer
         | freedom to do what they want with code (as long as they share
         | their code back).
         | 
         | Obviously the powers that be disagreed and the GPL has been
         | "upgraded" to v3, but was never impressed, and now much happier
         | to contribute to MIT / BSD licensed products (which do allow
         | you as the developer to do what you want with the code).
         | 
         | Would be curious if anyone has analyzed this.
        
           | edgyquant wrote:
           | I think the FSF appeared at a critical juncture and that the
           | tools they built, that were totally free, helped to fix the
           | direction that software was going. With the rise of Linux as
           | the working GNU kernel an entire generation (or two) became
           | aware and appreciative of open source which then went on to
           | become the backbone of most of the internet and now those
           | companies are some of (if not the) largest contributors to
           | open source.
           | 
           | With that said you're right, with GPLv3 they moved the fight
           | into new domains that aren't as obvious or really "as big of
           | a deal" to a majority of people. Also with the rise of things
           | like JavaScript GNU, under Stallman, became the old man
           | crying at the children. Stallman hated the rise of "non-
           | trivial" JavaScript and refuses to work with proprietary code
           | so GNU could never have developed e.g. React or Tensorflow.
           | We now have a new generation of open source tooling that was
           | developed more in spite of the FSF than by it.
           | 
           | The current environment will in turn spark a new generation
           | of tooling down the line that is even more removed from the
           | likes of Stallman; who once responded to a request I sent to
           | work on a JS library advertised on the GNU website with the
           | fact that I should call it F/LOSS instead of open source (and
           | nothing else.)
           | 
           | So while I respect the FSF for the work they did in creating
           | what we have today, the time where they were leading the
           | fight to save software is long passed. They won in some ways
           | and the world is better for it, but they lost in others and
           | I'm not sure the world is that worse because of it. Having
           | trade secrets isn't completely a bad thing as it allows
           | competition and different implementations, though that part
           | is simply my opinion I suppose.
        
           | cbsmith wrote:
           | The irony is the GPLv3 does more to address some of the
           | problems we have with open source than most other licenses,
           | but was rejected by many due to a lack of concern for these
           | issues.
        
           | bawolff wrote:
           | You can still use gplv2 if you like. The auto-update clause
           | is optional afaik, and lots of projects are gpl2-only.
           | 
           | I suppose you're right though in as much as it splits
           | mindshare.
        
             | throwaway2037 wrote:
             | "The auto-update clause is optional" -> Yes, I confirm this
             | is true.
             | 
             | The sample license header here [1] says:
             | 
             | > This program is free software; you can redistribute it
             | and/or modify it under the terms of the GNU General Public
             | License as published by the Free Software Foundation;
             | either version 2 of the License, or (at your option) any
             | later version.
             | 
             | That is only a _suggested_ header.
             | 
             | From Linux kernel here [2], you can see:
             | 
             | > under the terms of the GNU General Public License version
             | 2 only
             | 
             | [1] https://www.gnu.org/licenses/old-
             | licenses/gpl-2.0.en.html
             | 
             | [2] https://github.com/torvalds/linux/blob/master/COPYING
        
           | m463 wrote:
           | I remember RMS saying that the license was based on these
           | freedoms he enumerated, but after releasing software under
           | GPL v2 he found out he had to explicitly add the freedom to
           | actually RUN the software.
           | 
           | Remember that the idea of the GPL is the authors preserve and
           | propagate the rights for the USERS.
           | 
           | He also once said "proprietary software subjugates people",
           | which I thought was sort of over-the-top to say, but over
           | time I think software in this era of dark patterns and
           | privacy has unfortunately become very obvious.
        
         | anderskaseorg wrote:
         | The BSD license doesn't allow you to delete the copyright
         | statements from someone else's code and claim it as your own.
        
           | toyg wrote:
           | Yep, that's literally the only thing one can't do.
           | 
           | Sadly a lot of people don't even respect that.
        
         | ricklamers wrote:
         | Please try to refrain from personal attacks on people. It's
         | very disrespectful, especially when someone has clearly
         | dedicated so much of their time to public works.
        
         | glandium wrote:
         | In this specific case, the files were under the CDDL, which is
         | copyleft. The only thing that Sun did that was not allowed by
         | the license was to remove the copyright notice. Had the scripts
         | been under GPL, nothing would have been different. Anyone can
         | sell GPL software, as long as they allow access to the source
         | code and allow further motification and redistribution.
        
         | jessaustin wrote:
         | RMS is not the one embarrassed by your comment.
        
         | kortilla wrote:
         | Where does this expectation come from that a rich organization
         | or person using open source software should be paying for it?
         | That's against the entire spirit of the open source license in
         | the first place.
        
           | TeMPOraL wrote:
           | From the same place taxes come, or more generally, quite a
           | lot of social obligations. It's the expectation that, if
           | you're benefiting from commons, you should also contribute
           | something back to the commons.
           | 
           | A company using open source software to make money is making
           | money off commons. Makes sense they should feel obliged to
           | contribute something back, and since they have the surplus of
           | the _best_ form of contribution - money - it 's reasonable to
           | expect them to donate some of it.
        
       | pulse7 wrote:
       | How is information in this blog related to Wikipedia article on
       | DTrace [1] where one can read "DTrace is ... originally created
       | by Sun Microsystems" and "Original author(s): Bryan Cantrill,
       | Adam Leventhal, Mike Shapiro (Sun Microsystems)"?
       | 
       | [1] https://en.wikipedia.org/wiki/DTrace
        
         | cryptonector wrote:
         | Bryan, Adam, and Mike created DTrace.
         | 
         | Brendan was the most amazing and prolific user of DTrace, from
         | very early on. Brendan did not create DTrace, but in a sense he
         | "made DTrace" what it is. And not just DTrace, but eBPF.
        
         | robbomacrae wrote:
         | Quite simply, it is not. The author is not claiming to have
         | written DTrace, but rather, tools that made use of DTrace. From
         | the introduction: "Sun Microsystems had just released DTrace"
         | and "I was busy writing and publishing advanced performance
         | tools using DTrace".
        
         | FPGAhacker wrote:
         | Look at footnote 28.
         | https://en.wikipedia.org/wiki/DTrace#cite_note-28
        
         | stingraycharles wrote:
         | Sun developed DTrace the kernel building blocks, Brendan Gregg
         | became an expert on it and made scripts that actually did
         | useful stuff with them. The VIP was selling a GUI around
         | Brendan Gregg's scripts.
        
         | Kiro wrote:
         | What do you mean? Brendan didn't create DTrace, he created
         | DTraceToolkit and this VIP took his work and presented it as
         | his own new DTrace-based product.
        
       | fenomas wrote:
       | Great article. Gives me flashbacks to the time someone sent me a
       | link to a newly-released version of Minecraft, and it turned out
       | to be using my own voxel engine. :D
       | 
       | (No credit of course, and the marketing copy around it made it
       | sound like it was all their own code. Welcome to open source I
       | guess!)
        
         | rubatuga wrote:
         | Do tell more.
        
         | Agentlien wrote:
         | I would love more details!
         | 
         | Could you please link the voxel engine? Which version of
         | Minecraft was this?
        
           | fenomas wrote:
           | Annoyingly there's not much to tell. It was a minimal web
           | version, released as a one-off marketing thing and then never
           | updated, and Mojang didn't reply when I tried to get in touch
           | (via contacts at microsoft). So I never really found out
           | anything about it.
           | 
           | The game is still live though: https://classic.minecraft.net
           | - Originally it supported multiplayer, but that stopped
           | working the day after the game launched.
           | 
           | The voxel engine is here:
           | https://github.com/andyhall/noa/tree/develop
        
             | webXL wrote:
             | > Minecraft Classic - official game from Mojang (I'm as
             | surprised as you are)
             | 
             | lol. Microsoft should just release all the source for this
             | since Minecraft isn't exactly state of the art these days.
             | The brand is nearly all of the value.
        
       | vipulved wrote:
       | A very similar thing happened to me when I was pitching Gmail on
       | anti-spam and realized they were running a forked version of
       | Vipul's Razor and claiming it was their own. They never
       | contributed anything back... it's unfortunately not uncommon.
        
       ___________________________________________________________________
       (page generated 2021-06-04 23:01 UTC)