[HN Gopher] I built Excel for Uber and they ditched it
___________________________________________________________________
I built Excel for Uber and they ditched it
Author : robdimarco
Score : 653 points
Date : 2023-09-15 19:01 UTC (1 days ago)
(HTM) web link (basta.substack.com)
(TXT) w3m dump (basta.substack.com)
| ineedasername wrote:
| These are the times that, if you at least enjoy the process of
| coding, you should try to look at your work as a videogame. You
| enjoyed the game, you even got paid for it, and you beat the
| final boss, it doesn't matter that no one will ever see your
| final score.
| PeterStuer wrote:
| Running the models on laptops overnight? They know desktops and
| servers exist right?
| avidiax wrote:
| Uber, at that time, was "scrappy". Every operating city was a
| different market with different rules, so Uber was akin to a
| franchiser that gave their market managers wide leeway to setup
| whatever business processes are needed to succeed in that
| market.
|
| Excel is the easiest way for business-oriented people to make
| numerical decisions, run incentive campaigns, segment riders
| and drivers, produce reports required by cities, counties,
| states, etc.
|
| The data teams providing market intelligence to the various
| markets, of course, knew about servers. But they would not have
| the time or skill to setup something like this, and the
| business still had daily data needs. So the laptops it was, for
| a time.
| choppaface wrote:
| But when you have to be your own IT / devops... and when maybe
| all you know is R, some stats, and how to admin a laptop...
|
| The head of finance may have burned most of the opex budget and
| devops bandwidth on the Vertica and/or other DB service(s) they
| were using.
| itsthecourier wrote:
| "When I met the members of the Crystal Ball team, it was about
| roughly ... people"
|
| how many people there were at that point, @bastawhiz?
| romnon wrote:
| people be rough
| bastawhiz wrote:
| Sorry, obvious typo! It was four people.
| lph wrote:
| Excel is an ancient and complex beast. I get the appeal of
| building this project---it sounds fun---but trying to duplicate
| the Excel engine to the level of producing identical outputs is,
| frankly, bonkers. The author caught the one discrepancy they
| noticed, circular reference handling, but how many did they miss?
| How do they know different inputs won't cause it to deviate from
| Excel? I didn't get the sense from the blog post that this had
| extensive test coverage. Putting it into use for a business-
| critical financial calculation is a massive risk, but I guess
| that's how Uber rolls -\\_(tsu)_/-
|
| It would have been less fun but way, way less risky to wire a
| headless Excel up to a javascript front-end.
| bastawhiz wrote:
| No Windows, no Excel license, hundreds of concurrent users. How
| confident are you that each user is getting the calculations
| that they triggered and not someone else's? How are you
| deploying that spreadsheet? How are you version controlling the
| mutable parts of the system? How confident are you that the
| solution would be robust in the face of bad inputs and high
| load?
|
| I won't say there wasn't risk, but there was quite a bit of
| testing and a human always made the final call anyway (I never
| fully understood why we didn't eliminate humans from the
| processes altogether).
| erulabs wrote:
| I read this article looking forward to the complex bespoke code
| to be ripped out and deleted - but the author clearly grew as an
| engineer in a way I didn't expect:
|
| > Sometimes that's just how it is. The devops saying "Cattle, not
| pets" is apt here: code (and by proxy, the products built with
| that code) is cattle. It does a job for you, and when that job is
| no longer useful, the code is ready to be retired. If you treat
| the code like a pet for sentimental reasons, you're working in
| direct opposition to the interests of the business.
|
| A lot of code is fun to write. A lot of problems are fun to
| solve. But a business, especially a startup, needs to stay razor
| focused. My entire career is effectively to sit in meetings and
| tell young, passionate engineers not to build things. It's a bit
| depressing, but it's also vital.
|
| A good engineer can solve any problem with clever code. A great
| engineer knows what problems aren't really problems and probably
| an XLS download link updated daily would have been fine.
| fader wrote:
| > My entire career is effectively to sit in meetings and tell
| young, passionate engineers not to build things. It's a bit
| depressing, but it's also vital.
|
| This was the single most impactful thing I learned in my early
| career. I was building out monitoring systems for an in-house
| service we hosted on site. My boss wanted to buy some small
| utility to keep tabs on some minor aspect of our environment. I
| was a bit offended -- I could have written that myself and here
| he was paying someone else to do it!
|
| He asked: "How long would it take you to write and test this?"
| Me: "Probably a week. Maybe a bit less, maybe a bit more if I
| run into something tricky." Him: "Okay. This tool will cost us
| $500 to buy. What's your hourly pay rate for 40 hours?"
|
| With this I achieved enlightenment. I've never again built
| something at work that I could buy cheaper.
| MattPalmer1086 wrote:
| I was told that you should only build strategic things you
| needed to differentiate on. Anything else, buy and adapt
| yourself to it.
|
| I like your story of enlightenment though! I guess if you
| could genuinely build and maintain something cheaper, then
| why not.
| fiddlerwoaroof wrote:
| > This tool will cost us $500 to buy. What's your hourly pay
| rate for 40 hours
|
| This argument makes sense, but I worry that it's a bit short-
| sighted. There are a lot of metrics that are hard to quantify
| where it might end up better: for one thing, I've found that
| integration costs and maintenance of integration of third-
| party systems are routinely underestimated: I've implemented
| "buy" for various systems where the work to integrate was
| essentially the work to build. The cost of learning a
| proprietary toolset rather than developing experience with
| open tools. The cost to the industry as a whole when
| something like AWS or React becomes the unreflective default
| choice.
| dasil003 wrote:
| Sure it's shortsighted, but we're all shortsighted, that's
| the human condition. We can't know all ends, which is why
| experience and judgement matter. The worst thing you could
| do is handwring over it though. Gather whatever data you
| can quickly leveraging the extent of your current
| expertise, make a call, implement and learn.
| TAForObvReasons wrote:
| Is it any more shortsighted than using the "open tools" in
| the first place? There will be integration costs and
| maintenance of integration with open tools. You may not be
| able to pay anyone for support issues because those people
| may not provide the sort of customer support you expect
| when you pay someone.
| AnthonyMouse wrote:
| The integration costs were part of the 40 hours. The
| trouble is you haven't avoided them by paying the money.
|
| Open tools also tend to have a longer life, because a
| community survives even as members come and go, but one
| boss decides that a product isn't sufficiently profitable
| or the company gets bought out by a competitor and now
| it's discontinued and you have to start over.
| fiddlerwoaroof wrote:
| And the open tools often end up with more transferable
| skills down the road: e.g. learning to deploy to AWS only
| helps with AWS; learning to deploy to k8s lets you be
| productive in a lot more situations.
| moonchrome wrote:
| > I've implemented "buy" for various systems where the work
| to integrate was essentially the work to build
|
| I've felt this way before, but I didn't realize that I
| haven't factored in the risks of actually building it. I
| was comparing real world integration effort with an
| estimate, influenced by my experience of integrating with a
| working product.
|
| Common sense applies, but in general I'm terrible at giving
| estimates unless I've done something _very_ similar before.
| trickstra wrote:
| I'm surprised nobody here mentioned the copyrights yet. By
| building it, you are gaining the copyright. By buying it,
| you are gaining a vendor lock-in.
| hnlmorg wrote:
| If your company isn't making money from the product then
| whoever owns the copyright is irrelevant.
|
| Good engineering is building the stuff that adds
| commercial value to the business and buying the stuff
| that only adds support to the stuff that adds commercial
| value.
|
| In this instance, monitoring falls into the latter
| category. It's not a business differentiator.
| jacurtis wrote:
| Its extremely short sighted. The cost is much more than
| (hourly wage x code hours).
|
| There is ongoing maintenance cost that no one considers.
| I've never seen a project that gets built and just sails
| off for eternity with no maintenance or bugs. There will be
| times when the libraries or frameworks that built the
| underlying tool need upgrading. The requirements of the job
| might change even slightly and need a change in the code
| because custom tools are always built to only solve the
| narrow problem.
|
| There is also the overhead of the fact that this junior
| developer will inevitably leave in 6 months and now someone
| who has never seen this project before has to pick it up to
| fix it, which means it will take even longer.
|
| Plus that ignores the fact that if a developer tells you it
| will take 40 hours it will actually take 80-120 hours.
|
| When you buy, the tools you buy are designed to be
| integrated with. They have support teams that will help
| you, and ongoing maintenance. Plus the tool is going to be
| more robust because it was built and used by many different
| companies with slightly different requirements. Plus
| someone else's developers will keep it up to date for you
| so you don't have to.
|
| Internal tools are almost never worth it unless a pre-
| existing tool literally doesn't exist which happens when
| you are either solving insanely complex problems or
| insanely niche problems.
| delusional wrote:
| > When you buy, the tools you buy are designed to be
| integrated with[...]
|
| This makes me question if you're speaking theoretical, or
| actually have any practical experience.
|
| I've been part of about a dozen "buy it" projects now,
| and so rarely they've been "designed to be integrated
| with. A lot of the time it's deeply legacy systems that
| have a half-hearted api slapped on top to check that box,
| but once you start using it you notice that everything
| you want to do somehow requires contacting the vendor
| first.
|
| Which dovetails into an issue that, although vendors will
| give you the impression that their system is well tested
| and widely deployed, it all too often ends up being a
| lie. We've had quite a few instances where vendors have
| sold us what turned out to be something they were still
| building.
| rcxdude wrote:
| It all sounds great in theory but it still happens that
| buy turns out to be a total waste if time and money.
| fiddlerwoaroof wrote:
| > the tools you buy are designed to be integrated with.
|
| Until they change on a whim and force you to spend hours
| rebuilding your integration for negligible benefits. And
| then there's the good old "change our vendors every five
| minutes because the last one wasn't quite right"
| emmo wrote:
| Give the time and labour you're paid for, don't give emotional
| energy.
| stocknoob wrote:
| Short term yes, but long term, life's too short. Pursue FI,
| especially if you're a craftsman, so you can work on what
| brings you joy, without an expiration date.
|
| "Cattle, not pets" may be a good way to run a business, but
| not your life.
| emmo wrote:
| Oh on your own projects and personal passions absolutely, I
| think emotional investment should be high. Not for someone
| else, though.
| teaearlgraycold wrote:
| Any time I identify a fun and novel problem I get suspicious.
| Generally, programming should be mundane and you should be
| solving problems that have been solved thousands of times
| before. If something looks new it's more likely you haven't
| correctly identified the problem you're solving.
| sublinear wrote:
| > (from the article) - Having Excel in the browser was a useful
| solution, but the problem wasn't showing spreadsheets in the
| browser: the problem was getting a specific UI delivered to the
| right users quickly.
|
| > (from the above comment) - A good engineer can solve any
| problem with clever code. A great engineer knows what problems
| aren't really problems and probably an XLS download link
| updated daily would have been fine.
|
| I saw the bullet list further down the substack page and it's
| still not good enough for this level of requirements gathering.
| Those questions _describe_ the scenario, but _asking_ them
| would not have arrived at this simple solution. Checklist
| thinking is a crutch and just overcomplicates the problem. All
| the signals here were organizational and social, and not a
| matter of improving a process.
|
| This should be obvious, but people who are not involved with
| implementation details can't answer questions about
| implementation details.
|
| "Just make it like Excel" is a super low quality answer from
| someone who has a completely different set of objectives. The
| only way forward would have been to consult with someone closer
| to the actual users and counter-argue from there. What's
| missing here is the courage to recognize weak assumptions and
| deliberately avoid writing any code until enough details are
| pinned down to get to an agreement from _all_ parties, not just
| say yes to the person "in charge".
| bastawhiz wrote:
| > "Just make it like Excel" is a super low quality answer
| from someone who has a completely different set of
| objectives. The only way forward would have been to consult
| with someone closer to the actual users and counter-argue
| from there.
|
| The only contact we had with "actual users" was over WeChat
| because they were on the other side of the planet.
|
| > What's missing here is the courage to recognize weak
| assumptions and deliberately avoid writing any code until
| enough details are pinned down to get to an agreement from
| all parties, not just say yes to the person "in charge".
|
| Uber was pathologically bad in this sense. There was no time
| to get details pinned down. We had a product to ship in two
| weeks for non-technical stakeholders. If we didn't, the
| stated consequence was millions of dollars in losses to the
| business. Throwing up your hands until you get product
| clarity when you know you can solve the problem as-is is a
| great way to find yourself with a PIP.
| Aeolun wrote:
| Except in this case you'd wait a few weeks and have the
| whole problem be OBE.
| bastawhiz wrote:
| Even better: the project would be OBE and I would be on a
| PIP
| user_named wrote:
| Nah, that's why you have product managers. I would have
| talked to this stakeholder for an hour and realized the
| solution is not to build another excel.
| cornel_io wrote:
| You're routinely successful at arguing down C-level execs
| who have already rejected your pushback multiple times?
|
| Seems like a risky strategy...
| user_named wrote:
| You don't reject it you understand what the problem is
| and design the solution and explain it to them. I'm sure
| this entire team didn't need to exist in the first place
| but that's what you get when you only have a business
| person and the Dev team they hire.
|
| A PM here would have saved the company what, $5m per
| year?
| bastawhiz wrote:
| The second team I was on at Uber fired (with a capital F)
| six (6) PMs in five months for pushing back on product
| requirements that came from the CFO. For whatever reason,
| engineering rolled up to the CTO and product for this
| team rolled up to finance. The solution for disagreement?
| Pips!
| bastawhiz wrote:
| > you have product managers
|
| Ha
|
| Ha ha
|
| Hahahahaha
| [deleted]
| Retric wrote:
| Exactly, in 2016 there was several off the shelf options for
| doing the exact same thing. It's a perfect example of a young
| engineer feeling a huge accomplishment from reinventing the
| wheel, and then realizing the clever solution wasn't actually
| worth anything like the effort required to create it.
|
| I had a long conversation to convince someone not to go down
| that path in 2006, and I am sure someone's going to do it in
| 2026.
|
| Pausing to think: _I wonder how someone else solved this exact
| problem_ is such a huge part of how you grow as a developer I
| wish schools would focus more on it.
| yard2010 wrote:
| I would say what you talk about is experience. To have an
| experience, you must go this path to realize what to not do.
| It feels like a catch 22 kind of thing.
| BlueTemplar wrote:
| Experience certainly helps, but last time I checked,
| schools are supposed to teach you how to use reference
| tools (reference manuals, company listings, search
| engines...), and how to use them well - a pretty
| fundamental skill of being an engineer ?
| Retric wrote:
| Doing it well comes down to experience, but doing it at all
| comes down to asking which of your unconscious assumptions
| are hard requirements. Nobody is actually saying you have
| skills X, Y, Z, which you must use to solve this problem,
| which is a huge difference from how schools prepare people
| for the workforce.
| fruit2020 wrote:
| A great engineer should be both good and great. I do a lot of
| 'great' stuff at work, but that won't help me to get into my
| next gig unless I also code a lot and don't lose my skill.
| OJFord wrote:
| I'm not really sure what you're saying, or what the criticism
| is, if it is one - but shortly before the bit you quoted OP
| links the code on GitHub: https://github.com/WebSheets;
|
| And you can't really conclude they made a poor implementation
| choice on a report of completing it successfully (albeit too
| successfully even, too much of Excel implemented, and then
| fixed by removing that (how do you do that to your XLS download
| link?)) on time within a short deadline.
|
| The takeaway is supposed to be 'don't get too attached to your
| code', which in some circumstances (not this one) might mean
| 'don't succumb to NIH syndrome, use an XLS download link', but
| that's not the whole.
| ww520 wrote:
| I had a somewhat similar requirement in a past work. The Excel
| file had all the formulas and data, and the analysts only work
| with Excel files. The result of the calculation in Excel needed
| to be put on the web.
|
| The solution was not to recreate Excel in the browser, but ran
| the Excel file with its formulas and its data plus the input
| parameters from end users at the backend server. Apache POI was a
| nice Java library that could do everything on an Excel file. Once
| it finished the formula calculation, I just read the cells from
| the Excel file to extract the result data and generated the web
| pages to present the data and graphs.
|
| One nice benefit was the analysts could update their work in the
| Excel file, uploaded it to the server, and got the new
| calculation reflected on the web pages right the way.
| mcintyre1994 wrote:
| I'm really curious how Uber China was actually supposed to work.
| I once worked for a company that built server software and my
| understanding was that they were partnered with a Chinese company
| to sell into that market. We built a branded, localised installer
| for them. I'm not sure what the business arrangement was or what
| equity relationships (if any) there were between the companies.
| But I can't imagine Uber would ever be allowed to have a fully
| owned Chinese subsidiary competing in that market?
| avidiax wrote:
| > I can't imagine Uber would ever be allowed to have a fully
| owned Chinese subsidiary competing in that market
|
| You imagine correctly, to my knowledge. Western companies in
| China have to be 51% Chinese owned, on paper.
|
| In reality, they own 100% (plus or minus diplomatic
| relationship issues), they just haven't asserted this right
| yet.
|
| This is just my opinion: Uber could never have won in China,
| and Uber's management likely knew this, but the story of China
| was needed at the time to drive company valuation and allow the
| "hockey stick" dashed line of future growth to be plausible.
| junon wrote:
| Hey I worked with Matt Basta at Uber, cool guy and great
| engineer. His interview question for me was about this exact
| thing - how one might build excel from scratch. Neat to see him
| here :)
| cush wrote:
| Any PM that walks in with "Just make it like Excel" hasn't spent
| a moment writing code.
| bastawhiz wrote:
| Even worse: he was a director
| cush wrote:
| Arguably the most battle-tested, feature-rich program on the
| planet. Yeah just make it like that.
| bastawhiz wrote:
| I should tell the story of the PM (also at Uber!) who
| demanded our web app be "faster than Excel". I couldn't
| make it up if I tried.
| Macha wrote:
| So a lot of my time as a more junior engineer was spent on a
| similar project that I've described as "rebuilding excel". In my
| case, it was in the form of a table widget. It was an inhouse
| widget for displaying tabular data. We were working on AngularJS
| 1, and had moved from a prior iteration of our application in
| ExtJS. Now ExtJS had a reasonably featureful table widget out of
| the box, and so when we were porting to AngularJS, it was
| considered important that we continued to have these UI features,
| but at the time (the Angular ecosystem was relatively immature at
| that time) there were not very many advanced table widgets
| available in open source, so we ended up building our on.
|
| However, while the ExtJS table widget had been treated by product
| management as pretty immutable "this is what ExtJS gives us, we
| can customise the colours and wording and that's it", the idea
| that we could customise the table widget started something
| amongst one of the PMs. And so we would get a constant stream of
| feature requests for the table widget to add stuff and enhance it
| and soon we were significantly more featureful than the ExtJS
| widget. It's still, to this day, the most featureful table widget
| I've seen in a web app. Everything Excel had in terms of resizing
| tables, sticky columns, scrolling behaviours, sorting, filtering,
| searching, etc., all saved in your config so it was synced across
| all your devices, as well as all the performance goodies like
| recycled rendering etc. The constant stream of feature requests
| meant there were dev team years invested in this table widget.
|
| As a more mature engineer looking back, it's clear that at some
| point this had stopped being about customer value and more about
| one PM's obsession with getting excel like functionality in a in-
| browser reporting tool, but at the time we just kept building
| those features.
|
| Now at this time, our company had acquired a sort of competitor
| of ours. This competitor had what was effectively the same
| product, but in a different market. And so the first merger of
| the functionality was basically to reskin both applications so
| they would pretend to be tabs in a unified application, and
| change some terminology, etc. They actually did happen to have a
| pretty similar tech stack to us, so some newer components were
| available in both applications.
|
| But it became clear that our users were not happy with two
| applications pretending to be one. They wanted to know why this
| other market was not accessible by, say, a dropdown in the
| configuration, and not an entire application which worked in
| different parts from subtly differently to entirely differently.
|
| So the discussion became about building a ground up unified
| interface for both of them. Of course, this ignited the
| discussion of "which table component do we use?". On the one
| hand, the acquired team were looking at our table, with it's
| fifty billion options and single handedly accounting for half the
| page weight of the minified JS of our application and did not
| want something so bloated. On the other hand, our team were
| looking at their table widget which was effectively "for row in
| data, for column in row, print td" and dreading having to rebuild
| all these features for product management again.
|
| Ultimately the conflict was resolved by choosing to use an open
| grid that had less features than ours but more than theirs and
| telling the PM in question that table features were going to be
| prioritised much less heavily from then on unless there was a
| real user need for it.
| mathgladiator wrote:
| Beyond the questionable IP theft.
|
| The lesson of what you build for a company as something that may
| be thrown away is a good one.
|
| However, I believe the only way to actually have a sacred
| masterpiece is to own the company and make the company's mission
| to build that sacred masterpiece. For example, there are
| definitely business opportunity for converting excel sheets to
| online apps that are collaborative.
|
| The core problem is alignment between the tech investment and the
| company's goal.
| [deleted]
| ipython wrote:
| Best quote: "People working for Didi apply for intern jobs at
| Uber China and then exfiltrate our data. We can't let them see
| the formulas or they'll just copy what we do!"
|
| This is so true. People in the US just don't understand the level
| of economic and industrial espionage that happens in China on a
| daily basis. I was responding to an unrelated breach at an
| unnamed tech company back in mid-2000s time frame and had a side
| bar conversation that went like the following:
|
| Them: "Yeah, we just opened a tech center in Xinjiang and ...
| wow, we've had quite the rash of lost ID badges there recently"
|
| Me: "Have you considered that they're not 'lost', but rather
| 'sold' for profit?"
|
| ... silence ...
|
| I don't know if executives are aware but just don't care, or if
| they're simply incompetent, but China has productized industrial
| espionage on a massive scale. GE Aviation was a victim more
| recently:
| https://www.cincinnati.com/story/news/2022/11/16/accused-chi...
| choppaface wrote:
| Given Uber's efforts on Greyballing, booking fake Lyft rides,
| hiring Anthony Levandowski etc etc ... it's very on-brand for
| them to (1) fall into an espionage war with Didi (wonder where
| all their Vertica data came from?) and (2) have an engineer
| write about using code he lifted from a prior gig and then also
| self-published.
|
| https://www.nytimes.com/2017/03/03/technology/uber-greyball-...
|
| https://www.theverge.com/2014/8/12/5994077/uber-cancellation...
| mkii wrote:
| And yet, when the author takes code from one company to use for
| another, or releases company code on Github, nobody bats an
| eyelid.
| prmoustache wrote:
| Actually that was the first thing I looked for in the
| comments, even before finishing the article and seeing he
| even published the finished code on his own repo (and not box
| or uber one), under his only name.
| Angostura wrote:
| Indeed. Having warned against "If you treat the code like a
| pet for sentimental reasons, you're working in direct
| opposition to the interests of the business." He does exactly
| that.
| camel_gopher wrote:
| That's called being a Code Gypsy
| tomcam wrote:
| That jumped right out at me too. Two levels of IP theft
| except on the remote chance that both companies allowed OP to
| open source the code.
| somsak2 wrote:
| what are you talking about? there's a huge comment thread on
| here exactly about this issue.
| concordDance wrote:
| That's because that code wasn't in use, so there's no lost
| business.
| robertlagrant wrote:
| That isn't how ownership works.
| kome wrote:
| yes, but who cares. software is software.
| robertlagrant wrote:
| No idea what your point is, sorry.
| kome wrote:
| i understand ownership, but software and code are so easy
| to copy, transfer and modify that it would be stupid not
| to do it. it's not like stealing a car. arrr
|
| in other words: ownership of immaterial goods is mostly a
| scam
| robertlagrant wrote:
| It wouldn't be stupid not to. It would be ethical not to.
| You can do it, but you'd better hope you live in a world
| where most people don't do it.
| swores wrote:
| Would the world definitely be a worse place if the laws
| were amended to say "any software developer owns equal IP
| rights to the code they create as part of their jobs
| along with the company, so either party can do anything
| they want with it"?
|
| I'm not sure it would - although it disadvantages the
| companies compared to the current situation, it's not
| like they would choose to stop hiring devs to work for
| them - and that's just a legalisation of the currently
| unethical behaviour that you think is definitely a worse
| situation to have?
|
| It's interesting to think about, at least!
| robertlagrant wrote:
| It massively disadvantages the company. Why pay for
| software to be built that can just be taken by your
| software engineers, who form a new company and run a
| competing product?
| concordDance wrote:
| Because that won't happen unless you massively mismanage
| the company. The coordination problem between the company
| employees is very hard to solve.
| robertlagrant wrote:
| Why not? Why as a developer wouldn't I go to a VC and say
| "I have the source and rights to this premade product -
| fancy giving me some cash to take my team and run it?"
| swores wrote:
| Well if that were the situation for all companies, the
| answer to why pay is the same as it is now - even if it
| doesn't provide so much of a moat, they have a business
| need for certain code so they pay in order to have and
| run that code.
|
| (I'm not sure if it would be better or worse myself, I
| suspect it might not make much of a difference when
| everything balances out.)
| concordDance wrote:
| Who cares about copyright "ownership"? It's a means to an
| end, more innovation.
|
| When it can't possible serve that end (again, selling a
| set of utility methods that would take a dev a few hours
| to make from spec is impossible) people should discard
| it.
| stickfigure wrote:
| If we're being generous, the author may have had permission
| to do so. It's not inconceivable; the code was abandoned. If
| one of my reports had asked, I would have approved.
| Kon-Peki wrote:
| You probably don't have the authority to allow your report
| to release "company code" on their personal Github account.
| justinwp wrote:
| I think you might be surprised how easy this process is
| at some big tech companies. For me the bigger hurdle is
| getting past a privacy review, not the issue of the
| license.
| crazygringo wrote:
| Yes, I would be surprised.
|
| What big tech company makes it easy for you to take code
| written and deployed there while you were employed, and
| just open-source it?
|
| I know there are big tech firms that own everything you
| do _outside_ of work, but have a fairly easy process to
| allow you to release _that_ as open-source.
|
| But this is different, this is about code written for and
| deployed by the company itself, that isn't part of any
| corporate open-source strategy.
| closeparen wrote:
| "Corporate open source strategy" where I work is just
| having a form that engineers can fill out to request to
| open source things, and a committee on the other end of
| the form to sign off. It's similar to the process for
| speaking at a conference or publishing on the company
| blog. Management sometimes steers in the direction of
| more or less public content, but specific releases are
| always individual initiative by engineers who want to
| develop their project in the open. Tech brand wants our
| name associated with high quality work.
| swores wrote:
| I've only managed small businesses not large ones, but
| personally I'd be fine 9 times out of 10 with a developer
| who asked to open source a project they had built an
| mvp/poc of, but that never got approved to be used at
| all.
|
| I could even imagine approving of a policy for the open
| sourcing / licensing of code, where any code that's used
| or previously used by the company in any way needs to go
| through an approvals process if anyone wants to open
| source it, while anything created but never used has a
| much simpler barrier such as manager agreeing in writing
| that it's unneeded code and therefore eligible for
| instant open sourcing under a specific license and
| specific terms of release.
|
| > _" But this is different, this is about code written
| for and deployed by the company itself"_
|
| Written for, yes, but seemingly never deployed (except to
| the extent that it could be demo'd and rejected). From
| the article:
|
| > [After looking at a product owned by an unrelated team
| in the company, he single-handedly decided to make what
| he thought would be a good add-on or sibling to it] _" I
| demoed Box Sums to the Box Notes team at some point, and
| they nitpicked the UI and implementation details ("What
| if two people type in the same cell at the same time?
| They'll just overwrite each other." ). Nothing came of
| it, but I took the code and shoved it into my back pocket
| for a rainy day._"
|
| It's not impossible "nothing came of it" is a shortened
| version of "they said it seemed like an awesome tool but
| too far from the original scope to want to take on and
| commit to maintaining, and as they said there was no
| chance that decision would change my manager agreed to
| sign off on my releasing it under MIT license as is
| allowed for un-used code."
| glandium wrote:
| Story time. In a past life, I tried to open source code I
| wrote at work. My manager greenlit it, but obviously that
| wasn't enough. Next thing I know, I'm in a room with a
| lawyer trying to write a patent. In the end, no patent
| was filed, and the code was never open sourced. What a
| waste. Arguably, that was 15+ years ago, it would
| probably go down differently now...
| mbreese wrote:
| I do academic research and write a ton of code to support
| this. In grad school (many years ago) at a Midwestern
| state school, I try to release some code under GPL and
| get blocked by the school's tech transfer department.
| It's a program that was designed to support the lab
| research we were doing (LIMS, ordering, etc). It wasn't
| much, but it very much made our lab run better. In the
| end, they licensed it out to a start up that flamed out.
| The entire process was messy, but all I really wanted was
| to release it with a GPL license and get on with my work.
| That office made my life quite difficult through grad
| school.
|
| Fast forward a few years and I'm now at Stanford and then
| later UCSF. I email the tech transfer office about some
| code I'm planning on publishing, expecting a similar back
| and forth. It took all of two minutes to get back an
| email:
|
| _Are you planning on making money with this code? If so,
| let us know. If not, any open source license is fine with
| us._
|
| It was a quite refreshing change to deal with
| institutions that knew what they were doing w.r.t. IP.
| tomcam wrote:
| I'm assuming you own the company. Because if you don't, you
| don't have that right.
| tgsovlerkhgsel wrote:
| Unless the company has an open source program that allows
| open source releases with manager approval.
| stickfigure wrote:
| You might or might not; it's not like Google polls the
| shareholders to decide what source license to use for
| each project. Authority gets delegated and every company
| is different.
| troupe wrote:
| That might happen at a small organization, but in large
| orgs, it is rarely that simple.
| zik wrote:
| My hair stood on end both times he did this. Holy crap that's
| some massive legal liability.
| tomcam wrote:
| Hell to the yes. I don't know why these aren't the top
| rated comments.
| sneak wrote:
| The code is MIT licensed. Anyone is legally allowed to
| upload MIT licensed code to GitHub, it's free software and
| may be freely redistributed.
| dima55 wrote:
| Sorta. He has a license (MIT), but no copyright
| statement. The license is an agreement between the
| copyright holder and the user. Normally he would have
| gotten the sign-off from his employer to release this,
| and this thing would be Copyright: Box, License: MIT. But
| there's no explicit copyright holder stated, which makes
| me think that he just uploaded and "licensed" code that
| he doesn't own.
| camkego wrote:
| You can be 99.999% sure unless the engineer went through
| a long painstaking process to get Box or Uber to open-
| source and then re-license the code to MIT, it was fully
| owned under traditional copyright by Box when it was
| originally authored. Actually, it gets fairly
| complicated, because he created a derivate work at Uber
| with with what is likely Box's IP.
| treesknees wrote:
| It's alarming because, in my experience, anything you
| write for an employer is intellectual property of the
| company. Unless he wrote that Box demo all on his own
| time and his own equipment completely outside of work, or
| Box has some abnormal contract with their employees, he
| can't just slap an MIT license onto it and call it open
| source.
|
| I worked with a few people who were successfully sued by
| our employer when those people left and brought a "spare
| time" project/tool with them and tried to publish it. It
| wasn't even code we sold or ended up using internally,
| but was still IP of the company because they wrote it
| during business hours on a work machine.
| lll-o-lll wrote:
| Worse than that, many companies have clauses that
| indicate that _any_ software you write (regardless of
| whether for the company or not), belongs to them. I don't
| know if this would hold up in court, but it's there in
| the contract.
| chillbill wrote:
| [dead]
| fiddlerwoaroof wrote:
| In California, at least, this is illegal unless the code
| competes with the company's products.
| lmeyerov wrote:
| If you wrote it w company resources, eg, work laptop or
| work internet, my understanding is that the company has a
| strong claim to it
| harles wrote:
| It's pretty hard not to overlap with big tech companies.
| Everything has been touched internally.
|
| My understanding is the same though. Unfortunately
| whether a clause is legal or not may matter little -
| you'll run out of cash for legal bills before they do.
| The best defense is probably just that most companies
| don't care about your side projects.
| oddmiral wrote:
| All your codebase are belong to us.
| sneak wrote:
| Yes, but if we speculate as to the invalidity of the
| explicitly published license, we basically can't use
| _any_ foss code on GitHub.
|
| Any reasonable person can expect that the MIT license on
| this code is valid and authorized by the rightsholder.
|
| Did Uber or Box explicitly agree to release it under an
| foss license? Is it the author's personal individual
| copyright made on personal hardware outside of work
| location/time? Does it predate their employment? Nothing
| in the article linked indicates clearly that it was
| _written for an employer_.
|
| If I am expected to research this for every foss library
| published on GitHub by someone who works for Big Tech,
| then we are all capital-f fucked.
|
| It's easiest and sanest to assume that people are not
| lying.
| justinclift wrote:
| > Any reasonable person can expect that the MIT license
| on this code is valid and authorized by the rightsholder.
|
| Yep, that's the reasonable default position.
|
| If however, the author of the code wrote a length article
| about how they'd developed this code while working for a
| company (not in their spare time), _and_ you happen to
| read the article in question... then for that specific
| repo you might look at it differently.
|
| The article in question doesn't clarify things regarding
| the Box derived code, nor whether they sought and
| received permission from Uber prior to publishing. Absent
| both of those, I'd personally not use code from this
| repo.
|
| That's just me being risk-adverse here, as I don't
| personally have a use for the code. Others might make
| different choices. :)
| nwiswell wrote:
| "It's easiest and safest to assume that property is not
| stolen" is a parallel construction of your argument.
|
| You can assume whatever you want but the cops may not be
| very impressed.
|
| There are a lot of polite fictions in law, and this is
| one of them. If you had no reasonable way of knowing that
| a license was invalid (or property was stolen), the judge
| is probably going to be sympathetic, but the property
| will still get returned to its proper owner.
|
| If you DID have a reasonable way to know that the status
| of the property was suspect (as in this case), they are
| likely to take a dim view of the situation.
| sneak wrote:
| I'm not talking about this code in particular - I am
| talking about all code presumably written by individuals
| and posted on GitHub with a LICENSE file saying it's free
| software.
|
| It is standard, reasonable person practice to use foss-
| labeled code on GitHub under the presumption that the
| license is not a lie.
|
| This case is no different.
|
| Nothing in the author's linked story suggests this code
| is _not_ MIT licensed as the repo claims. It is
| unreasonable to assume that the license file in the repo
| is false; nothing available to us supports this
| assumption.
| austhrow743 wrote:
| >Nothing in the author's linked story suggests this code
| is not MIT licensed as the repo claims.
|
| The lack of him saying he went to the effort of having
| Box or Uber license their code MIT suggests it.
| sneak wrote:
| You seem to be using an absence of evidence as evidence
| of absence.
|
| There's nothing to explicitly suggest that either is the
| rightsholder; that is another assumption, which is
| directly counter to the fact that the person who wrote
| the code posted it alongside an MIT license.
| adammarples wrote:
| I think it's reasonable to assume that it belongs wholy
| to Uber and that he was acting illegally to publish it on
| github. He even showed us the sofa in the Uber office
| where he wrote it. He told us his manager asked him to
| write the code and seemingly had no idea that he'd
| written a database engine. He told us that they were
| paranoid of industrial espionage at the time. There seems
| to be zero reason to suspect that Uber carved out a
| specific exception to the usual employment contract
| enabling him to work on and release this code as FOSS
| while at the company.
| kubanczyk wrote:
| Yeah, you want to get rid of uncertainty, but it's here
| to stay. The whole legal system is not brought to its
| knees over the fact that no code on GitHub ( _gasp_ ) is
| automatically guaranteed to be safe against copyright
| infringement.
|
| > It is standard, reasonable person practice to use foss-
| labeled code on GitHub under the presumption that the
| license is not a lie.
|
| Yes, absolutely: presumption, not certainty. (Nitpicking
| the phrasing: presumption that the _copyright_ is not a
| lie, the issue does not even venture into _licensing_.)
| dclowd9901 wrote:
| Not when he wrote it for and showed it to box. Doesn't
| matter how he "licensed" it. They would have had good
| legal standing to come after him. I can't believe he
| wrote that on his blog. He should honestly take it down.
| xmcqdpt2 wrote:
| Yes, that would look awful in a court case IMO,
|
| > I demoed Box Sums to the Box Notes team at some point,
| and they nitpicked the UI and implementation details
| ("What if two people type in the same cell at the same
| time? They'll just overwrite each other." ). Nothing came
| of it, but _I took the code and shoved it into my back
| pocket for a rainy day._
|
| emphasis mine
| acjohnson55 wrote:
| It's probably not legally his code to license, if his
| employment agreement is like the vast majority of
| engineers'.
| speedgoose wrote:
| He could be authorised to open source the company code he
| wrote. Though, I wouldn't bet it's the case there. But
| Uber has a lot of Open-source projects so they are
| perhaps allowing engineers to decide themselves.
| choppaface wrote:
| It's MIT licensed _now_. It probably wasn 't originally,
| and/or he may not have had the authority to choose the
| license while at Box / Uber.
| camkego wrote:
| You can't just re-license intellectual property that
| someone owns the rights to. EVEN if you authored
| originally. It's likely Box and Uber own rights to
| different parts of the IP, under both employment law, and
| his employment contract.
| lovich wrote:
| I got into this with another set of engineers on Reddit
| where I discovered there's a subculture of engineers who
| don't believe you can't actually own code and apparently
| take a copy of their employers source code repository
| everytime they switch jobs.
|
| Edit: Updated "can actually own code" to "can't actually
| own code"
| concordDance wrote:
| One thing I regret is not taking a copy of the code I
| wrote for another company, so many handy little utility
| functions I made that I then had to recreate. The
| transaction costs for b2b are far too high for any
| reasonable sale, so exfiltration is the utilitarian
| choice.
| lovich wrote:
| That's still just theft if you're not a contractor? Full
| time software employees are doing work for hire. There's
| plenty of moral and ideological arguments about theft
| being morally acceptable in this situation but I was more
| marveling at the people who thought that taking source
| code from their company was legally not theft
| aragonite wrote:
| 1. Suppose the OP did not take the source code files, but
| memorized the source code and later recalled it from
| memory. Would that be theft?
|
| 2. Suppose the OP neither took the file nor memorized the
| code, but had photographic memory and replayed the exact
| visual scenes during their creation of the utility
| functions and copied down the code from what they saw in
| their mind's eye. Would that be theft?
|
| 3. Suppose the OP was solving a seemingly novel problem
| and suddenly remembered how they solved the exact same
| problem when they were employed by company X. Are they
| obligated to banish this solution from their mind?
| xmcqdpt2 wrote:
| > 1. Suppose the OP did not take the source code files,
| but memorized the source code and later recalled it from
| memory. Would that be theft?
|
| It is copyright infringement, yes. That's why clean room
| implementations are done by someone who hasn't seen the
| original source code,
|
| https://en.m.wikipedia.org/wiki/Clean_room_design
|
| For the other examples, it depends but I'm pretty sure a
| copyright infringement case for either of them wouldn't
| be immediately thrown out. IANAL but I do know that law
| is quite fuzzy.
| ttfkam wrote:
| Suppose the OP wrote the original source code files and
| recreated them from their own intuition of the problem.
| Would that be theft?
| concordDance wrote:
| It's not theft, it's copyright infringement and is very
| morally and practically different from theft.
|
| The range of circumstances in which it is morally
| acceptable are MUCH broader.
| troupe wrote:
| There are situations where developers emailed/cloud
| uploaded/took hard drive of code they had been working on
| when he left the organization and were looking at prison
| sentences for theft...not copyright infringement. They
| didn't even give it to someone or reuse it somewhere.
| Just the fact of trying to keep it when they left as
| illegal.
|
| All that to say that in some circumstances taking source
| code is considered theft.
| concordDance wrote:
| Got a link?
| aidansmith wrote:
| Look up Sergey Aleynikov.
| pl4nty wrote:
| in my country, copying source code is definitely theft
| and is contractually enforced. but reproducing similar
| concepts/architectures from memory happens often
| sk0g wrote:
| FYI the edit might have made it more confusing, since
| there's a double negative now. "don't believe you can't
| actually own code" reads as "believe you can actually own
| code", which I'm not sure is what you were going for.
| lovich wrote:
| Well fuck, too late to edit it again. My grammatical
| error shall live on forever
| Ikatza wrote:
| Owning code would be akin as owning language.
| slim wrote:
| [flagged]
| pbj1968 wrote:
| And I was called a racist 25 years ago when I said, "like, our
| engineering school is, like, crawling with Chinese nationals."
| We said like a lot on the 90s.
| robertlagrant wrote:
| It's probably the "crawling with" that did it.
| aurareturn wrote:
| [flagged]
| seabrookmx wrote:
| Is it the phrasing you think is racist? I don't think
| pointing out the fact that the student body of a given
| school is, for example, 20% Chinese, is racist. It's merely
| a statement of fact.
| switch007 wrote:
| IMO "crawling" is a rather emotive word choice because it
| often applies to insects
| aurareturn wrote:
| It's both the phrasing and the content.
| stormfather wrote:
| I don't see the content as racist. If a wikipedia article
| lists the proportion of ethnic Chinese in Malaysia, is
| that a racist article too?
| Philpax wrote:
| If you used that wording, I'd have called you racist too.
| zo1 wrote:
| We're headed for a very protectionist and isolated world
| because some players couldn't play nice. To me, the only
| thing holding the floodgates in the west back is the media
| which is very "rainbows and butterflies" about everything.
|
| As soon as they start playing along and seeing this stuff in
| an alarmist way, they'll turn the narrative and report on it
| constantly.
| cflewis wrote:
| Well, not just corporate espionage, right? State espionage is
| going to be at every large US company too. To speak to the
| article, I can only imagine how excited an agency would be to
| get real-time updates on the Uber movements of a target.
| nextaccountic wrote:
| > State espionage is going to be at every large US company
| too.
|
| Snowden revealed, among other things, that the NSA did state
| espionage on Brazil's state oil company, Petrobras
|
| https://www.nytimes.com/2013/09/09/world/americas/nsa-
| spied-...
|
| https://www.theguardian.com/world/2013/sep/09/nsa-spying-
| bra...
|
| https://g1.globo.com/fantastico/noticia/2013/09/nsa-
| document...
|
| International relations are based on reciprocity. I sincerely
| think that if the US didn't think that industrial espionage
| would be a legitimate activity of intelligence agencies, they
| wouldn't practice it themselves.
| fnordpiglet wrote:
| A crucial difference is the US spying is for state use,
| whereas in China the state is deeply intermixed with
| industry. State industrial espionage is used for commercial
| competitive advantage. This is a huge structural and
| cultural difference.
|
| For instance it's hard to believe China bootstrapped BYD
| and GWM among others from green fields. They've been
| exfiltrating and transferring automotive technology for
| decades. Their products are often near duplicates of other
| brands - such as the fiat case:
|
| https://www.carsguide.com.au/car-news/spot-the-difference-
| ca...
|
| These aren't cheap knock offs, they have a relatively high
| quality and with stolen R&D it's easy to produce at a low
| cost - the cost can't be explained by labor alone, as
| automakers outside China have access to similarly low cost
| labor.
|
| Note, I don't think China is incapable of making their own
| R&D at the same quality as anywhere else; they can. But
| they don't when they don't have to.
|
| The next few decades will see a huge realignment as the
| decades of theft and forced transfer will begin to
| seriously pay off.
| ezconnect wrote:
| US government have been using all it's tools to destroy
| US corporation competition since forever. Look at Huawei
| for just one example.
| nonethewiser wrote:
| Huaweis main competition is Ericson and Nokiabin the
| networking space. Neither American.
| blackoil wrote:
| Huawei is a giant. In phones they had bigger marketshare
| than Apple. Their chips are nearly on par with Qualcomm.
| It is naive to believe they are banned for security
| concerns.
| iwant2endmyself wrote:
| [dead]
| aurareturn wrote:
| Cisco, Apple, Google, Qualcomm
| [deleted]
| ezconnect wrote:
| Qualcomm is their main competitor in 5G patents and
| technology.
| sumedh wrote:
| > Look at Huawei for just one example.
|
| Didnt Huawei steal from Nortel?
| didntcheck wrote:
| It's not just China. For example, there's been several
| accusations of the French state assisting in industrial
| espionage against the US, and France has acknowledged
| some of these cases as true
|
| https://en.wikipedia.org/wiki/Industrial_espionage#France
| _an...
| fnordpiglet wrote:
| To be clear I'm not saying China somehow invented the
| idea, but the scale, breadth, and depth is unparalleled
| in history.
| aurareturn wrote:
| "When governments permit counterfeiting or copying of
| American products, it is stealing our future, and it is
| no longer free trade." - US President Donald Trump,
| commenting on China.
|
| Actually, the above quote is not Trump and not on China.
| It's Ronald Raegan on Japan in 1985.
|
| When a new economic threat rises, the US will use the
| same playbook- demonizing in media, accusations, turn the
| public against said country, ban products, increase
| tariffs from said country, turn to allies, etc.
| fnordpiglet wrote:
| Except China has required technology transfer and has
| been actively committing state sponsored industrial
| espionage for decades. Surely this isn't news?
|
| I'm down with China as a competitor, but we have a strong
| division between state and industry and China does not. I
| don't think a unipolar world is a good idea, and I'm glad
| for a resurgent China. But it's absurd to put on blinders
| and believe forced technology transfer and industrial
| espionage isn't a cornerstone of their success.
|
| https://www.investopedia.com/forced-technology-transfer-
| ftt-...
|
| https://www.csis.org/programs/strategic-technologies-
| program...
|
| At several megacorps seeking access to Chinese markets we
| were forced to transfer crucial trade secrets in exchange
| for access. We did our best to render it as useless as
| possible, but it was still very key stuff. Over two
| decades the Chinese government erected barrier after
| barrier even after complying to the point that the market
| access failed and competitors based on our technology
| dominated the domestic Chinese economy.
|
| I see your parallel comments where you vigorously decry
| these statements as some sort of nationalism and anti
| Chinese sentiment. This isn't that - this is simple
| historical fact, and I have had first hand experience
| with it and know the game being played from personal
| experience. I assumed this was all common knowledge given
| how much press it's gotten over the last twenty years,
| which makes me wonder why you're grinding this contrarian
| axe so hard?
|
| Edit: I would note that this is fundamentally different
| from counterfeiting. This is capturing R&D directly at
| the top end of technology and processes through extortion
| and outright theft. I don't actually blame China or
| Chinese people, it's just a cultural difference in what's
| acceptable and a belief that the state and industry are
| separate, which China doesn't agree with. But the lesson
| to be learned is China doesn't play by our rules, and we
| need to adapt to the situation better.
| shostack wrote:
| Don't bother. These whataboutism accounts pop up all the
| time on stories like this.
| blackoil wrote:
| Whataboutism is shield of hypocrites. Ignore all
| atrocities and human rights abuse we are doing, only
| wrongs of country X are relevant.
| aurareturn wrote:
| US media: China is wrong to use its military power to
| bully countries.
|
| Poster: But the US does it too and has done it for far
| longer and more often.
|
| Average HN reply: Omg, whataboutism.
| fnordpiglet wrote:
| That is sort of the definition of the informal red
| herring fallacy whataboutism. It doesn't mean the US
| hasn't. It means it's not related to China being wrong to
| use military power to bully countries. An awful lot of
| folks here agree it's wrong for _anyone_ to bully anyone
| in any context, especially nations bullying the people of
| another country. We are all, after all, people. But
| people citing a fallacy when a fallacy is used is fully
| appropriate, even if you really wish it wasn't a fallacy.
| waffleiron wrote:
| > An awful lot of folks here agree it's wrong for anyone
| to bully anyone in any context, especially nations
| bullying the people of another country.
|
| Sure, but the hypocrisy is also in how things get
| reported. See for example:
|
| https://www.reuters.com/investigates/special-report/us-
| china...
|
| Which says:
|
| > through incentives and pressure on consortium members.
|
| No doubt this would be "bribes and threats" if it were
| done by a geopolitical opponent.
|
| Second, posts critical of the US tend to get many less
| votes or flagged quickly, with people calling it
| whataboutism in posts about China or Russia. That leaves
| no space to properly discuss those things.
|
| Finally, it's good to have things in a realist context.
| It's idealist thinking if we get upset when a
| geopolitical enemy does something which is commonplace in
| out own country and that if allies.
| aurareturn wrote:
| I don't have a problem with the US bullying others. My
| problem is that people here on HN and in the west in
| general, demonizing China for doing the exact same thing
| when the US has done worse. They think it's ok to boycott
| Chinese products, but they won't boycott product from
| their own country. They will say that the Chinese
| government is evil, but is completely ok with the
| government of their own. They will say China has no right
| to bully Vietnam, but they will vote in politicians who
| advocate for war with just about anyone.
|
| It's hypocritical. Don't demonize China unless you're
| willing to demonize yourself.
|
| Hell, don't demonize China unless you read their point of
| view too. I'm sure you're only getting one POV.
| robertlagrant wrote:
| > My problem is that people here on HN and in the west in
| general, demonizing China for doing the exact same thing
| when the US has done worse
|
| Er, no. Far more ink is spilled on the US being bad, or
| Western countries in general being bad, by people in the
| West. What you're saying is not true for HN, nor for the
| West in general.
| speed_spread wrote:
| Because China's government is the CCP, which is the sole
| political party of China, which is headed by a dictator,
| whose endgame is to ultimately have all power
| concentrated into his hands, forever.
|
| We're not demonizing Chinese people, Chinese culture,
| Chinese land or Chinese industry, but the forceful
| alignment of those things to serve a single entity over
| any other concern.
|
| The West, no matter how bad it can be, doesn't have
| _that_ problem. Elites come and go, grassroots
| revolutions have happened and will keep happening without
| major bloodshed.
| aurareturn wrote:
| And you use the "whataboutism" as your main argument for
| whenever someone isn't anti-china. The world runs on
| reciprocity. Whataboutism is built into assumptions. It's
| called fairness and it's an intrinsic human trait.
| fnordpiglet wrote:
| Fallacious thinking is in fact an intrinsic human trait,
| but to equate fallacious thinking with fairness is a
| little creepy.
|
| I'd also note while we are on the topic of anti-China,
| and you've lobbed anti Chinese out there - I'll wager
| almost (almost!) everyone here, myself especially, isn't
| anti anything about China or Chinese people. But that
| doesn't mean we are pro the communist party's policies -
| and frankly so are very few Chinese. The fact that forced
| tech transfer and industrial espionage is embarrassing to
| the Chinese government and sullies all success is no
| one's fault but the Chinese governments, and that's where
| it begins and ends.
|
| I'm no defender of the US government either, but that's
| not even the topic here. I'll be happy to engage on that
| topic in the relevant threads. That's, after all, fair.
| l3mure wrote:
| > we have a strong division between state and industry
|
| Lmao
| jbm wrote:
| > actively committing state sponsored industrial
| espionage for decades
|
| I'm sure you are right but I feel this is actually
| beneficial.
|
| The interests that have captured China are likely
| different from the ones in the US, and much different
| from the inferior oligarchs that have captured my home
| country (Canada). I see their national interests having
| an unintended consequence; the creation of markets of
| scale for products that are not politically viable here.
|
| We all know the stories of oil companies buying the
| rights to battery technologies and sitting on them. There
| is even a Wikipedia article about it [1] that I'll link
| to below. China is never going to have enough oil to
| export, and as such, Oil will always be a cost center for
| them.
|
| Copyright maximalism and intellectual "property" is
| strangling all of us, and I don't want it to put us in an
| early grave as a race. I'm grateful that China is
| "stealing" this "property" and turning it into batteries,
| solar panels and other products that I can buy, and that
| it iterates on them rapidly - rather than being put in a
| box.
|
| [1] https://en.wikipedia.org/wiki/Patent_encumbrance_of_l
| arge_au...
| iwant2endmyself wrote:
| [dead]
| barrysteve wrote:
| I don't get it. Literally everyone is doing this concept.
| Everbody is snatching every last drop of data that isn't
| nailed down. Nobody asks for permission.
|
| ChatGPT is the most recent example.
|
| "Study hard and keep the rewards" is basically a dead
| concept.
|
| The separation between state and corporation is a red
| herring. It's trivially easy for Bill Gates to reveal
| secrets to Bill Clinton behind closed doors.
|
| Corporations are absolutely abmysal at keeping secrets.
| They are open-by-default and cannot legally stay in
| business with the level of security required to keep
| knowledge from leaking.
|
| Why is this even a conversation....
| aurareturn wrote:
| What you're doing is completely denouncing BYD's
| accomplishments by saying they must have stolen the
| technology to get to where they are today.
|
| That's the exact argument you will use to convince
| yourself of any of China's successes stories. They can't
| possibly innovate because they're Chinese and not
| western. Therefore, they must have stolen the tech. This
| is how Raegan convinced the public in 1980s.
| fnordpiglet wrote:
| I don't think you read anything I wrote.
|
| China has enormous success stories that don't depend on
| pilfering or extorting, and a rich history for thousands
| of years. In fact I think the Chinese governments
| behavior in this respect is below the divinity of Chinese
| people and Chinese culture. This plays out in the recent
| domestic behavior of the Chinese government towards its
| own people. I even said I welcome a multipolar world with
| a resurgent china.
|
| But if you think forced technology transfer and
| industrial espionage by the Chinese state to benefit the
| Chinese states industrial interests - which have become
| pervasive in China under Xi with most major Chinese
| ventures being forced to take state funding and control -
| you are deluded, or are trying to delude. I say this with
| all the force of someone who has experienced the fact of
| what's happening directly - you can throw racism or
| nationalism around all you want, but there's a cold
| reality that exists independent of such concepts and I -
| and many others in technology - have experienced it first
| hand. It's calculating, cold, and very much real - and
| race and nationalism have very little to do with it. It's
| political and it's absolutely real.
|
| Btw, you can't sit in a BYD and not see the technology
| transfers and the espionage spoils. China could be
| successful on its own merit, but not with the Chinese
| communist party controlling industry and civil society. I
| just hope some day Chinese people will be free to be that
| competitor on equal footing with the world. What happens
| in China today is a disgrace to Chinese everywhere, who
| _are_ some of the most brilliant and hard working people
| out there. Until that day I welcome them to work with me
| here, and we can make great things together.
| ministryassist wrote:
| The way I see it, this problem will solve itself. People
| do not enjoy having to copy others. Historically,
| countries have done it to get to a comfortable state,
| then it stops once they're comfortable. The biggest
| example being Japan.
|
| You cannot watch older Japanese animations and not see
| the heavy inspiration from Disney, but the style used in
| their shows today is far evolved. You equally cannot sit
| in a Toyota and not see the western influence. Travelling
| to America was literally part of their game plan to
| improve their own technology though at first it was for
| investigating automatic looms [1]. I would be surprised
| if Toyota did not reverse engineer a western vehicle.
| Today however, I imagine you need no convincing that
| Toyota is simply the superior product compared to its
| western counterparts and can stand on its own two feet.
|
| Your counter argument might be that it's different with
| China because the government is assisting in this. To
| that, I would point out the Meiji Restoration in Japan.
| Similarly, their government encouraged young scholars to
| learn abroad in order to pull Japan forwards
| technologically. Not only that, the government hired
| foreigners known as "O-yatoi Gaikokujin" and " the main
| goal in hiring the O-yatois was to obtain transfers of
| technology and advice on systems and cultural ways." [2].
|
| That last one sounds a lot like a government-funded
| technology transfer to me. It's definitely not happening
| today in Japan, but at one point the government deemed it
| necessary.
|
| I agree on the point about BYD. We would definitely see
| the result of a technology transfer in a BYD car. But how
| much of that can just be attributed to hiring talent from
| foreign companies? There are articles about Japanese
| engineers being headhunted by Chinese automakers [3].
| This is common in developing countries. A lot of top
| positions/ executives are senior engineers coming in from
| abroad getting a significant title bump and pay increase
| (the pay increase is even greater if you consider the
| cost of living in the host country).
|
| If you consider headhunting talent to not be competing on
| equal footing with the world, then that's a completely
| separate discussion. But I wish to provide more peace of
| mind for you that this problem is indeed transitory. To
| do that, I will direct your attention towards the
| rhetoric used against minorities.
|
| People say that minorities are criminals, but we know
| that's not true. It's poor people who are desperate
| enough to perform those acts who will turn to crime.
| Minorities get over-represented due to society being
| biased against them causing them to be in more dire
| financial situations. Nobody takes pride in being a
| criminal. The moment they are financially stable, they
| stop - 2nd generation immigrants have extremely low rates
| of criminal activity.
|
| Similarly, China is still a poor country. We might not
| think of it because we think of Shanghai and Shenzhen,
| but their GPD per capita is lower than Russia's, and
| their HDI is lower than Ukraine's. As China develops,
| they will find more effective ways to compete that don't
| tarnish their image, just like other countries have done
| on their path of development.
|
| My goal is not to debunk you. There are definitely some
| instances of shady IP dealings in China, but there are
| some instances that are clean as you have also pointed
| out. What I do want to get across though is that these
| are the growing pains of a developing country that
| successful countries also went through in the past.
|
| People probably had this conversation about Japan when
| Japan was developing. They do not have them today. So too
| will we no longer have these conversations about China in
| the future.
|
| [1] https://www.toyota-
| global.com/company/history_of_toyota/75ye... [2] https://
| en.wikipedia.org/wiki/Foreign_government_advisors_in...
| [3]
| https://asia.nikkei.com/Business/Automobiles/Japanese-
| engine...
| Dylan16807 wrote:
| > Actually, the above quote is not Trump and not on
| China. It's Ronald Raegan on Japan in 1985.
|
| Good, I was surprised at the claim that trump would say
| something so balanced.
|
| What's "demonizing" about this? It doesn't even mention a
| specific country.
|
| "accusations" are not a problem if they're true...
| PeterStuer wrote:
| US corporate espionage is also shared with select
| companies for economic gains. This has been going on
| since forever. Google Echelon.
| ipython wrote:
| Two things. First, this isn't the same thing; you're talking
| about embedding a resource in a company to read out real time
| telemetry from internal systems (information with a short
| shelf life), not stealing industrial trade secrets
| (information with a very long shelf life). Second, I can
| assure you that, even with our imperfect systems, there is
| actually a set of checks and balances in place to prevent
| rampant (note I said _rampant_ ) abuse of this kind.
|
| Yes, agencies would be very excited for this sort of
| capability. Do they get it as a matter of course that easily?
| No. There are layers of accountability, legal authorities,
| and (warranted) push back from commercial entities.
| BlueTemplar wrote:
| The last bit strikes me as dubious, considering the Snowden
| revelations.
|
| Yeah, sure, I'd guess that what China does is at least an
| order of magnitude worse, and sure, because they're less
| democratic, but also because they are much often behind -
| and let's not kid ourselves, in the situations the US feels
| it's behind, it's also using the widespread backdoors they
| have access to (Crypto AG, Cisco routers, Juniper Networks,
| Windows, Intel&Ryzen CPUs...)
| iancmceachern wrote:
| I've watched this happen.
|
| I've watched key, core engineers and technical leaders work for
| US and European companies, develop their next generation
| products, then turn around and design and develop essentially
| the exact same thing for the Chinese market. They then build a
| company, in China, that makes essentially the same product, but
| for the Chinese Market, and with Chinese investors, etc.
|
| Examples: Thoratec/Abbot Heartmate III & CH Biomedical
|
| Auris/Verb/J&J Robotic & Digital Solutions & Renovo Surgical
|
| The ironic thing, is that some of these companies after success
| in China are working to sell and be competitive in the US and
| Europe.
|
| It's not even secret or under the table anymore, it's overt and
| largely accepted as the way it is in our industry. A brave new
| world.
|
| The other factor, is that it is very very difficult for a
| foreign company to do business and protect their assets in
| China, so often the wise companies don't even try. They often
| just license their stuff for the Chinese market to a Chinese
| company. That way they at least have a chance of not having it
| all just stolen.
| vkazanov wrote:
| So an engineer learns how to make something, and then goes
| elsewhere to make it.
|
| To be honest, the way you put ut, the story feels OK to me.
|
| There are many truly bad examples, e.g. the arm china story,
| but engineers doing their thing is not one of them.
| iancmceachern wrote:
| This isn't that.
|
| This is engineers deliberately taking tech to somewhere
| where they know IP laws won't be enforced.
|
| It's not like I'm saying they can learn calculus here and
| then go to China and use calculus to design things.
|
| It's that I'm saying they design a very specific thing, a
| very specific way, for hire, then go make that exact
| specific thing, that same specific way.
|
| If it were in any other country but China, it wouldn't be
| allowed to happen.
| ak_111 wrote:
| This feels like the debate between tax evasion and tax
| avoidance. What the engineer did here going to an IP
| lawless place is more like tax avoidance. It has a bad
| smell but he _legally_ exploited a loophole in the
| international IP system if I understood correctly. Sort
| of migrating to a tax haven to avoid taxes.
|
| Unless there is something explicitly stated in your
| contract banning you from taking the "know-how" in your
| brains and use it elsewhere (so long as you don't breach
| any patent) then it sounds there is nothing technically
| wrong.
| iancmceachern wrote:
| It's less that it's explicitly legal, and more that it's
| not enforced or enforceable there right?
| ak_111 wrote:
| Am not a lawyer or even a tax expert, just was noting
| that for non-experts in these domains this scenario look
| similar (China is doing to IP what tax havens did for
| taxes).
| the-dude wrote:
| > If it were in any other country but China, it wouldn't
| be allowed to happen.
|
| IIRC the USA did plenty of that.
| berniedurfee wrote:
| That's my understanding as well; that the Industrial
| Revolution in the US was very much based on IP from
| outside the US.
| iancmceachern wrote:
| But was it state sponsored? My understanding is that it
| was mostly robber barrons doing their thing, which isn't
| really "The US", its more "People in the US".
| the-dude wrote:
| Pretty much : https://www.history.com/news/industrial-
| revolution-spies-eur...
| iancmceachern wrote:
| Slavery was once legal here as well.
|
| Just because it was once legal when the world was far
| different doesn't justify actions today.
| the-dude wrote:
| China and the US are different today.
| [deleted]
| BeFlatXIII wrote:
| Enforcing IP laws is merely pulling the ladder up after
| the US had its success.
| [deleted]
| JorgeGT wrote:
| Even inside itself: filmmakers went to remote Los Angeles
| in the early 1900s because Thomas Edison, in NJ, held
| most of the patents on motion picture cameras and out
| west they were much more difficult to enforce.
| sametmax wrote:
| If you learn how to build a castel with a very specific
| era look and feel as an architect, would you not then be
| likely hired to build a similar castel elsewhere?
| iancmceachern wrote:
| I Do this for a living, ave for 20 years. I've designed
| many "castles" with similar looks and feels, similar
| materials, they work similarly.
|
| But I've never built the exact same castle, with the
| exact same Floorplan, with the exact same plans. That's
| what I'm highlighting that I've seen several times.
|
| A cool aside, I love this song by Watsky called
| "cardboard castles". Having done this for 20 years (build
| "cardboard castles") I identify with it.
|
| https://youtu.be/FN1OR1aa2cM?si=0mFPuCtiVLp-Us1h
| barry-cotter wrote:
| > It's that I'm saying they design a very specific thing,
| a very specific way, for hire, then go make that exact
| specific thing, that same specific way.
|
| I really doubt this unless all the inputs are
| commoditised. Industrial espionage usually fails because
| if you don't have the know how to make the tools that
| make the tools it's difficult to impossible to literally
| copy it. Not saying what you're saying doesn't happen, it
| does, all the time. But usually the engineering is
| substantially different if only because different things
| are cheap or expensive, or just unavailable.
|
| > If it were in any other country but China, it wouldn't
| be allowed to happen.
|
| Historically, the US, Japan, Korea, Taiwan all did it. No
| doubt Vietnam does it now too. Not like they have an
| excellent civil legal system. Joys of working in
| developing countries.
| flakeoil wrote:
| > if you don't have the know how to make the tools that
| make the tools it's difficult to impossible to literally
| copy it.
|
| Smart and knowledgable people in a certain field, but who
| are slightly stuck, can be helped by a few tiny details.
| If someone can provide a specific manual or piece of
| documentation, or just a photo copy or image of some key
| detail then those smart and knowledgable people can pass
| the hurdle and continue.
| harles wrote:
| The espionage really is next level in China. It's not just
| reconstructing software (that's part of it) but stealing
| binaries (and source where they can) for everything along
| the way.
|
| I worked at a large tech co with an assembly line in China
| and experienced this first hand. A routine scan of one of
| our calibration machines turned up a Trojan with a copy of
| all calibration software squirreled away. Fortunately
| nothing is network connected there, but it was obvious
| someone was planning to come back for it. The stash had our
| calibration software and the factory's proprietary control
| software on it. Both companies sent security to watch the
| machine for 48 hours straight until a hard drive shredder
| could be procured to mutually assure each party no software
| would leak. It was nuts, but apparently common.
| prox wrote:
| How did this become a thing on a cultural scale? Like
| that everyone does it and it is almost expected as it
| were?
| kome wrote:
| it's not espionage, it's a development strategy, and it's
| working well. it foster local knowledge, local know how
| and local production.
|
| the deal is: you can use our cheap labor force, but we
| can use your ideas
| nrb wrote:
| The issue appears to be when they're not just using the
| ideas, but the implementations verbatim?
| emptysongglass wrote:
| That's not "the deal". It's illegal. No one on either
| side agreed to do this and had that been part of the
| negotiation, the offended party would have walked away or
| else agreed to a higher sale price in exchange for
| technology transfer.
| ClumsyPilot wrote:
| Am yes, executives of eestern firms earn billions
| spesifically because they are clueless about the country
| where they outsource production.
|
| It might nit be in the contract, but they definitely know
| whats going on, and they still take the deal
| xmcqdpt2 wrote:
| > It's illegal.
|
| According to who? Sovereign states have their own laws,
| that's what makes them sovereign.
|
| You claim that companies wouldn't have done business in
| China (in the times before our current Second Cold War)
| had they known about the lack of IP law enforcement
| there. I think companies who outsourced to China knew
| very well what was going on, and calculated that they'd
| still come out ahead.
| berniedurfee wrote:
| I agree with this. The executives that made the decision
| to outsource and offshore understood that near term gains
| would come with long term consequences, they always do.
| Those executives did very well by those short term gains.
| emptysongglass wrote:
| According to international trade law and China itself.
| [1] People are making absolutely wild, misinformed claims
| that don't belong here. Claiming executives knew what
| they were getting into is pure conjecture.
|
| > Sovereign states have their own laws, that's what makes
| them sovereign.
|
| You're making a grossly misinformed claim here. Sovereign
| countries also participate outside their borders and are
| subject to the international agreements they participate
| in.
|
| [1] https://en.m.wikipedia.org/wiki/Allegations_of_intell
| ectual_...
| ClumsyPilot wrote:
| > Claiming executives knew what they were getting into is
| pure conjecture.
|
| Schrodinger's executive - when things go well, it's
| because they meticulously planned every detail. When
| things go wrong, suddenly they know less about their
| business than my grandma does.
|
| What is the cause of this habit of making up excuses for
| people that get massive compensation but never take any
| responsibility?
| emptysongglass wrote:
| Do you understand that the side of this argument you're
| representing is making excuses for internationally
| illegal theft as, "well they sure had it coming?"
| ClumsyPilot wrote:
| The side you are representing was trusted with
| safekeeping this information. They purposefully placed it
| into the jurisdiction where it is frequently,
| systematically stolen. They clearly did this to save a
| few bucks. Quite reasonably, some people are asking, why
| do they face no accountability for this decision.
|
| You are coming up with excuses like "well they couldn't
| possibly be aware of information that was widely
| avaliable in mass media since 2010 at least.
|
| Would you accept this sort of excuse if someone was in
| charge of safekeeping your child and they took your kid
| for a walk through an area known for violence and murder?
| emptysongglass wrote:
| I can no longer follow your argument, sorry. This is
| blatantly moving goalposts to excuse theft and defend
| what exactly? Are you suggesting industrial theft at a
| mass scale is excusable because they knew the risks? That
| is the definition of victim-blaming.
| ClumsyPilot wrote:
| Shareholders are victims, executives are their agents
| that acted against shareholder's long term interests.
|
| Here is a better example; you trust the bank with your
| money, bank gets robbed. The criminals are gonna be
| criminals. But why is the bank vault made of cardboard,
| and why is the password '1234'? Imagine the same bank
| keeps getting robbed for 10 years, and they make no
| attempt to fix things.
|
| Should the management still get their bonus? Should they
| be help to account? At some point you have to start
| asking if the bank management is in on the crime.
| ClumsyPilot wrote:
| > How did this become a thing on a cultural scale?
|
| A IP is not a 'natural' concept, most cultures do not
| have it. Better question might be how did IP become a
| cultural thing in the West?
| varjag wrote:
| Mainand Chinese culture owes itself more to Stalin than
| to Confucius. If you lived in USSR stories like this have
| certain warmth of deep cultural connect.
| BeFlatXIII wrote:
| Information wants to be free. If it's not, it's your duty
| to liberate it.
| peteradio wrote:
| This is so obnoxiously wrong. You could add
| qualifications to your statement to be less wrong but
| your statement as is is stupid. When I'm banging my wife
| is it my duty to start banging on the walls and bellow at
| my sleeping kids to let them know what I'm up to?
| ClumsyPilot wrote:
| That's just creating noise and disturbance. Correct
| analogies would be uploading it to Pornhub. For whatever
| reason plenty of people do that
| iancmceachern wrote:
| It's master planned by the government.
|
| Just Google "Chinese protectionist" and then any
| industry. The Chinese government has been actively
| targeting everything from CNC machine tools to medical
| devices and semiconductors for decades. Some industries
| with more success than others. Anything they import,
| especially industrial equipment like textile looms, cnc
| machines, semiconductor equipment, etc. There are big,
| long term, well funded pushes to manufacture indigenous
| versions of just about everything. Airplanes, jet
| engines, computer chips, industrial equipment, on and on
| the-dude wrote:
| Textile looms are particularly relevant :
| https://www.history.com/news/industrial-revolution-spies-
| eur...
| ClumsyPilot wrote:
| > So an engineer learns how to make something, and then
| goes elsewhere to make it.
|
| It's not long till the capital class claims ownership of
| your brain too. /s
| ComputerGuru wrote:
| I don't think /s is needed. Tech firms already wish they
| could act that way, and if they aren't, it's only because
| they're not able to.
| Lex-2008 wrote:
| > some of these companies after success in China are working
| to sell and be competitive in the US and Europe.
|
| Just out of curiosity: can't these companies be sued by the
| IP holding company when they try to sell outside of China,
| and be forbidden to sell their products in US and Europe?
| iancmceachern wrote:
| Yes, but by the time all that happens the patent protection
| is likely to have run out.
|
| Basically what I've seen is new tech is designed and
| released here, owns the market for 10 or so years, by then
| one of these companies in question has started to get
| momentum I the Chinese market, then 15 or so years after
| they start to think about coming back to this market, and
| by then the IP protection has run out.
| noobface wrote:
| Everyone should've seen what happened to Cisco and thought
| better, but short sighted execs focused only on next quarter
| gladly opened the gates and accepted the horse.
| swader999 wrote:
| Nortel too.
| Moru wrote:
| Everyone did see it coming. Interviews of experts on TV,
| talked about at the coffee table at every industry in the
| west. But since the stockmarket demands constant growth we
| have to move production to china. And when the move is
| done, the CEO has a nice rep-sheet showing how much profits
| went up while he was working at the company and gets hired
| by the next one.
| canadianfella wrote:
| [dead]
| nikau wrote:
| Terrible, such actions are only tolerable when the US do it
| via moral operations like operation paperclip.
| bbor wrote:
| How is that related? Are you actually saying that the US
| was being unfair to Germany by stepping on their IP? Of all
| the criticisms of that program I've never heard "but won't
| somebody think of the Germans" lol.
|
| Also, two wrongs don't make a right, and 1945 was 2-3
| scientific revolutions ago
| nikau wrote:
| I mean its still pretty hypocritical - the US is happy to
| take in literal Nazi war criminals to stay as a super
| power, yet they start clutching pearls if a developing
| country tries and poach some talent with IP knowledge.
| RunSet wrote:
| Not to say I subscribe to the notion of intellectual
| property, but I would expect military secrets to be
| treated differently than trade secrets for purposes of
| IP.
|
| Perhaps that is an American cultural tradition that China
| is unlikely to respect.
| diogenes4 wrote:
| > People in the US just don't understand the level of economic
| and industrial espionage that happens in China on a daily
| basis.
|
| Back in my day this was called "competition" and worked for the
| consumer, not against them. I find the espionage factor to be
| theatrical hogwash trotted out by the corporate types. We
| americans love competition, right? Stfu and compete.
| rfrey wrote:
| When exactly was this "day" when industrial espionage was
| legal?
| fmbb wrote:
| In the US, before 1996.
|
| The economic power of the USA was arguably built on it.
| TheGigaChad wrote:
| [dead]
| oh_sigh wrote:
| What it would do is punish companies that do real R&D, and
| reward companies that have no actual talent in that area. So
| ultimately the field would stagnate because no one would
| invest in R&D.
| Proziam wrote:
| Is it "competition" when you're up against state-sponsored
| actors who will use tactics the rest of the world would
| consider illegal?
| phendrenad2 wrote:
| You're missing a huge part of this: The "competition" you
| think you're referring to had, you know, actual rules.
| Sending people to get jobs at a rival, and steal all of their
| internal documents and trade secrets, is illegal in most
| countries.
| treyd wrote:
| Perhaps we should reframe how intellectual property works
| to make secrecy no longer desirable and allow industries
| that rely on "trade secrets" to realign naturally.
| ffhhttt wrote:
| Perhaps (well.. almost certainly) that would
| disincentivize any of the companies in these industry
| from innovating at all (if you can't gain any edge by
| additional investment since anything you do will be
| stolen you might as well start stealing if that cheaper).
|
| This would also especially favor large mega corporations
| as long as they are efficient enough (due to obvious
| reasons).
| treyd wrote:
| Most substantial technological innovation is either
| funded by government grants or is publicly funded in some
| other way in the first place. It's a myth that IP laws
| protect innovation, they protect profits of corporations
| that add very little to the process on their own.
| concordDance wrote:
| I'm a bit confused what that would look like. Sending
| Americans to China to steal their secrets wouldn't work
| because the Chinese wouldn't hire them for exactly this
| reason.
| [deleted]
| endisneigh wrote:
| Well information wants to be free, copyright shouldn't exist,
| piracy is ok yadda yadda
| [deleted]
| makeitdouble wrote:
| They don't understand it, because what you're quoting as a
| behavior is pretty standard anywhere in the world. That's why
| companies protect their secrets from low rank employees.
|
| Except if you're arguing that western companies are bound by
| stronger ethics, in which case I'd like to see some evidence.
| anikan_vader wrote:
| Less so ethics and more so credible legal action against
| offending companies and individuals.
| ipython wrote:
| If a low ranking employee in Cincinnati divulged corporate
| trade secrets, they'd be tried and convicted. If a low
| ranking employee in Shanghai did the same, what can the US
| company do? Not much. So it's a low risk activity, that is
| also actively encouraged and in many cases financed by the
| Chinese government. This is in no way intended to be
| disparaging of folks who are of Chinese descent, but rather a
| reflection of the reality of contemporary Chinese government
| politics and policies.
| makeitdouble wrote:
| Would you get tried in the US for interning at a company
| and then go to a competitor with all your inside knowledge
| ? [edit: barring a paid non compete agreement]
|
| Then a step further from that, sure there are laws to
| prevent you from wholesale lifting corporate data and
| bringing them out as you leave, but as many laws it will be
| extremely difficult to detect and prove that happened in
| many low profile cases. That's why instead of just relying
| on the law you'll lock usb ports monitor network activity
| and get laptops returned when someone leaves.
|
| It's kinda like preventing shop lifting, you know it will
| happen at some scale.
|
| > US company / Chinese gov
|
| How much leverage do you thing a Chinese company has to if
| a three letter US agency spies on them and pass the info to
| US companies ? And would you argue that scenario wouldn't
| happen if a specific Chinese company had a decisive
| advantage that could severly hurt US interests ?
| [deleted]
| lmeyerov wrote:
| For the level of copying being discussed, the scenario to
| compare to is when Google waymo sued Uber for copying
| files for hundreds of millions of dollars. They were
| caught copying source files & design docs.
|
| Both for software products and manufacturing products,
| that's what is going on: exact copies of source code,
| assembly line configs, etc. Many folks write off selling
| to China for reasons like this. Initially that means
| underserving one big market for self-defense. Where it
| gets next-level painful and crazy is when cloners then
| take their derived works back to the international market
| to compete directly with the inventors. By then it has
| been tweaked, but the core is still the clone.
| concordDance wrote:
| The workers who make up the companies tend to have higher
| levels of honesty and fair dealing and lower levels of
| corruption and theft.
|
| Though I cannot provide evidence for this offhand beyond
| anecdote and the corruption perception index.
| envsubst wrote:
| > western companies are bound by stronger ethics
|
| I wouldn't say people in the west are "better people in their
| hearts" but they absolutely follow more strict norms
| regarding honesty and theft. This is one of the main reasons
| why companies pay a premium for workers in the west when they
| could hire from other places.
|
| One example: accounting scandals in the US are rare. I don't
| think anyone trusts accounting figures for public companies
| from India or china.
|
| > in which case I'd like to see some evidence.
|
| The alternative to trust is enforcement. The evidence you are
| looking for is the prevalence of the latter principle in
| systems that deal with things of value.
| late25 wrote:
| >One example: accounting scandals in the US are rare. I
| don't think anyone trusts accounting figures for public
| companies from India or china.
|
| I work in accounting. You're right, I trust the US more
| than India or China, but you'd be surprised at the
| liberties US companies make and how many individuals from
| India are auditing their work. Auditors (excluding partners
| and some senior managers) are just not equipped to deal
| with the technical accounting concepts and to challenge
| management. Remember, the company employs the auditors. You
| certainly don't want to ruin a $1MM contract for your firm
| but pressing too hard.
| envsubst wrote:
| I agree.
|
| > You certainly don't want to ruin a $1MM contract for
| your firm but pressing too hard.
|
| Only in the west would you get any push back at all. The
| auditor would feel some duty to bring up an issue even if
| it reflected poorly on the company and even their own
| managers.
|
| I agree they likely wouldn't push an issue beyond its
| welcome, but this particular value is unheard of in many
| parts of the world.
| aragonite wrote:
| Counterpoint: scihub, libgen links are routinely shared on
| HN as a matter of course (likewise in academia). I've seen
| HN threads in which people unapologetically reminisce about
| torrenting movies/music.
|
| Perhaps your will object: "But the publishers/Disney/etc
| are evil, greedy entities and I don't owe them anything."
| But I'm sure anyone who's stolen corporate secret elsewhere
| can come up with a similar justification in their head!
| After all, that may well be why they left the company in
| the first place.
| makeitdouble wrote:
| > This is one of the main reasons why companies pay a
| premium for workers in the west when they could hire from
| other places.
|
| By this token "other places" companies would also want to
| pay a premium to hire US workers outside of sheer
| competency. Yet we're not seeing Samsung massively moving
| institutional operations to US centers for instance.
|
| > accounting scandals
|
| Whait, what ? You're telling me that while the crypto
| bubble is bursting and they're going to prison for
| egregious fraud ?
|
| Also, scandals being few in number would probably be a sign
| of overcorruption and systematic rot or the controlling
| structure. I'm not sure that's what we want.
| envsubst wrote:
| > hire US workers outside of sheer competency
|
| It's not a competency it's a network effect.
|
| > Yet we're not seeing Samsung massively moving
| institutional operations to US centers for instance.
|
| Samsung probably has great trust developed among its
| senior management.
| [deleted]
| shard wrote:
| > Yet we're not seeing Samsung massively moving
| institutional operations to US centers for instance.
|
| Culture matters a lot. Korea is a high context society,
| and relationship building is extremely important. Its
| very difficult to migrate functions to other locations
| when the way to get things done is through building trust
| and relationships over long periods of time. That said,
| Samsung does have significant offices all over the world.
| [deleted]
| pjmlp wrote:
| Not only there, everywhere.
|
| Since I also wear a security hat, when doing code reviews,
| architecture and devops stuff, it is surprising how much stuff
| regular developers never think about in regards to security.
| aurareturn wrote:
| [flagged]
| aintgonnatakeit wrote:
| Sup PLA. The Chinese people are intelligent and strong. Why
| don't you let them express that strength freely?
| aurareturn wrote:
| PLA. What? I don't even know what that stands for. I assume
| it's the Chinese army right?
|
| Any post that is isn't anti China here is now labeled as
| paid for by the Chinese government right?
|
| It shows how much anti-China propaganda has gotten since
| Trump came into power and how much the US has turned
| nationalist.
|
| People here have drank so much anti China propaganda that
| any neutral to positive post about China is immediately
| condemned.
| [deleted]
| ipython wrote:
| To be clear I am no Trump supporter. Feel free to check
| my comment history if you don't believe me.
| aurareturn wrote:
| You don't have to be a Trump supporter. Both liberal and
| conservative media have been 100% anti-China since Trump
| came into power. Both sides use anti-China rhetorics to
| generate views and votes.
|
| The consequences trickle down to the opinions and views
| of the average HN poster.
| LAC-Tech wrote:
| If it makes you feel any better I've hated communist
| china for as long as I can remember, decades before
| Trump. Free Tibet!
| ipython wrote:
| I didn't say china can't innovate... I said that the Chinese
| government actively encourages and finances at a large scale
| industrial and economic espionage activity.
|
| See for example the China National Intelligence Law's
| Articles 7 and 10: https://en.m.wikipedia.org/wiki/National_I
| ntelligence_Law_of...
| aurareturn wrote:
| [flagged]
| Alupis wrote:
| It is not "same old rhetoric" if it is in fact true.
| There are many publicly known examples of Chinese
| Espionage, including fake "police" departments in SF
| coercing nationals and naturalized citizens alike to
| commit espionage.
|
| You don't have to take our word - you have the internet
| at your disposal and can locate this information freely.
| You are simply choosing not to.
| aurareturn wrote:
| [flagged]
| Alupis wrote:
| If you believe the US has done what China is currently
| doing, then I have a bridge to sell you...
|
| There's no point in furthering this discussion if you are
| unwilling or incapable of acknowledging basic, publicly
| accessible facts about China's espionage campaign and
| worse. Hint, it's not simple industrial espionage...
|
| Whataboutism is not going to make anyone side with your
| position while China grows increasingly belligerent
| towards it's neighbors and hostile towards European and
| North American nations.
| aurareturn wrote:
| US has a intelligence budget of nearly $100 billion/year.
| What do you think they're doing?
|
| In addition, the US shares intelligence with the Five
| Eyes on China. What do you think they share?
|
| When was the last time you read a news story that isn't
| purely anti-China?
| Alupis wrote:
| Espionage, in the classical sense is not strictly the
| issue. It's everything else...
| aurareturn wrote:
| What else?
| shostack wrote:
| You're.... Not denying that China does it though.
| hughesjj wrote:
| > The problem isn't that China is doing the same
|
| Wait what? So you think industrial espionage is to be
| accepted?
|
| > the problem is the sheer amount of one sided propaganda
| that you and everyone here is receiving.
|
| I mean, you're literally doing whatabboutism with this
| exact line
|
| Look I get countries looking out for their own interests
| and fuck the facists the US has supported but that
| doesn't mean I'm just willing to bend over and let
| governments or companies steal my company's secrets
| because "everyone is doing it"
|
| Further, to be real, with the current and historical
| governments for each nation, I'd still rather trust the
| US government having the tech advantage over the Chinese
| one. That is abso-fuxking-lutely not an endorsement of
| the US government nor their actions, but, I mean the US
| definitely walk the walk on liberal values out of the two
| tmpX7dMeXU wrote:
| If GP is so wrong then argue against what they said and
| not what they didn't say.
| Dylan16807 wrote:
| Something "feeding into" a false rhetoric doesn't mean
| it's false.
|
| Facts get twisted all the time.
| IG_Semmelweiss wrote:
| Its not only that, but when they can't beat them...they make
| them join: startups with valuable market intelligence get
| bought all the time by Chinese companies.
|
| See for example the case of DEAR systems, which is a cloud-
| based WMS that is particularly useful for intelligence as to
| how much (US) importers are paying for worldwide goods, and
| what is the cost of shipping from A to B.
|
| It was bought by a chinese company not long ago. That's 1
| example.
|
| https://www.prnewswire.com/news-releases/cin7-acquires-dear-...
| [deleted]
| willcipriano wrote:
| Intellectual property is a western invention as I understand
| it. I don't think China agrees that you can own an idea like we
| assert that we do.
| layer8 wrote:
| China certainly did agree in various ways:
| https://en.wikipedia.org/wiki/Intellectual_property_in_China
| willcipriano wrote:
| Interesting commentary on the talk page there.
| BeFlatXIII wrote:
| There's a vast difference between passing laws to appear
| palatable to the international community and enforcing
| those laws.
| mmcwilliams wrote:
| It's somewhat ironic to frame that as a problem that "isn't
| understood" in the US considering what the CEO of this company
| was convicted of.
| [deleted]
| iaseiadit wrote:
| Similar reports were widespread 20+ years ago, when I worked in
| aerospace. Bad faith partnerships, industrial espionage, and
| companies barred from competing after all useful information
| was extracted. It has gone on for decades and nobody will do
| anything about it. Executives and shareholders get dollar signs
| in their eyes over the thought of tapping into the Chinese
| market, and let themselves get burned over and over again.
| ec109685 wrote:
| This was an amazing read. One of my favorite memories in college
| was building a spreadsheet in Java (some of the guts were there)
| in third semester CS.
| sha16 wrote:
| > "take this [the spreadsheet] and put it in on the website
| [Wesley]."
|
| This should be taught in classrooms.
| mkii wrote:
| > "In 2015, I had built a prototype of a tool at Box. Box had a
| collaborative note-taking product called Box Notes (based on
| Hackpad). I had the idea to make a similar project for working
| with numbers: sometimes you didn't need a full spreadsheet, you
| just needed a place to put together a handful of formulas, format
| it with some headings and text, and share it with other people.
| Sort of like an ipython notebook for spreadsheets. I called it
| Box Sums."
|
| > "Nothing came of it, but I took the code and shoved it into my
| back pocket for a rainy day."
|
| ...
|
| > "Apparently that was a thing. I remember being only half-
| surprised at the time. I hadn't considered that our threat model
| might include employees leaking the computations used to produce
| the numbers in question."
|
| ...
|
| > "My first reaction was to publish the code on Github."
|
| Perhaps the author feels "only half-surprised" due to their own
| disregard for corporate legal ownership of code. The hypocrisy is
| strong here.
| abeppu wrote:
| I'm confused about the circular reference thing. Like, was there
| a reason to do the linear regression that way? Is there a secret
| story in a story where next week, in a spinoff / sequel episode,
| the data scientist responsible will explain why they took the
| weird/surprising choices they did?
| DrDroop wrote:
| I didn't know you could do this in excel but it reminded me of
| the converge adverb in k:
| https://xpqz.github.io/kbook/Adverbs.html#converge-f-f
| itigtohft wrote:
| https://en.wikipedia.org/wiki/Fixed-point_iteration
| DwnVoteHoneyPot wrote:
| It's a common excel trick in finance. For example, let say you
| have $0. If you borrow $1,000,000 at 5% interest, by end of
| year you'll be short $50k. That means you actually needed to
| borrow $1,050,000. But the extra $50K causes more interest
| ($2,500)... so you needed to borrow $1,052,500, which causes
| more interest... and so on.
|
| Instead of doing some Excel Goal Seek or Solver or VBA macro,
| it's nice to let the excel "reactivity" handle it for you.
| hu3 wrote:
| Your explanation is brilliant!
| andy81 wrote:
| I used it once to run a Monte-Carlo simulation in a
| spreadsheet.
|
| After enabling iterative calculation and manual calculation,
| every press of refresh runs a loop. Fun stuff.
| DubiousPusher wrote:
| Just a heads up for anyone who finds themselves with a similar
| requirement, there's a very robust set of office APIs available
| in .net. I would be surprised if you couldn't open and run a
| whole workbook with them though I have only used them for more
| tangential tasks.
| itsthecourier wrote:
| I'm glad I read this article and learned about the circ
| brap wrote:
| > He simply couldn't believe that I'd written a full spreadsheet
| engine that ran in the browser.
|
| I can't believe it either, and I don't mean this in a good way.
|
| Apache POI lets you run headless Excel. You import and interact
| with sheets programmatically in Java. We used this in my old
| workplace for exactly the same reason (functions, cell
| references, the whole thing), it worked great.
|
| You found the 'circ' problem with a bit of luck. What about all
| of the other hidden little quirks of Excel that you would
| ultimately run into down the road? Are you really going to build
| and maintain a full blown Excel clone in JS? Is this really the
| objective of the frontend team?
|
| It seems to me like a bit of googling and >90% of the work here
| could have been avoided. As an added bonus it would have been
| done by the backend team instead.
| bastawhiz wrote:
| > It seems to me like a bit of googling and >90% of the work
| here could have been avoided.
|
| I had a deadline and the only idea on the team for shipping a
| working product, and I shipped a working product on time.
|
| Uber ran (runs?) their own data center. Getting a Windows
| machine/VM procured to actually run Excel would have taken an
| act of god. I was able to spin up a new front-end service in
| about thirty minutes. And I had some code that sort of kind of
| already worked, so I wasn't starting from scratch. Keep in mind
| that this system needed to be used by multiple people with
| different sets of data simultaneously.
|
| > Are you really going to build and maintain a full blown Excel
| clone in JS? Is this really the objective of the frontend team?
|
| If they'd have kept asking for more features and Excel parity,
| I suppose we would have considered it. But they didn't.
|
| Certainly I don't expect many people would have chosen to do
| what I did. But the thing worked (and surprisingly well). If
| all you took away from the post is that it was a big
| complicated project, I'm afraid my writing has failed to convey
| the message it was attempting to convey.
| dihrbtk wrote:
| they still run data centers but there is a cloud migration
| ongoing.
| mherdeg wrote:
| A little over ten years ago I worked in the Excel Services
| team that makes the consumer-visible Excel Web App and also
| the SharePoint-integrated Excel Services product (server side
| processing accessible via API or web UI).
|
| I loved seeing the genuine joy our PMs had whenever they
| found an honest to goodness calc bug and could get it
| reproduced and fixed in The State Machine. It was also a
| delight to see the web app approach parity with the desktop
| client experience -- we got to listen to a wide swath of
| users and build out the stuff we thought would be most useful
| to the most folks. And I loved our group PM's insight about
| what the heck Excel could be good for versus purpose built BI
| tools, other web sheet apps, pure SQL, etc.
|
| This is a very fun kind of product to create and it's awesome
| that you were able to ship it in a way people could use!
| password4321 wrote:
| For anyone else curious, Apache POI re-implements support for
| the Excel file formats and most formulas.
|
| https://poi.apache.org/components/spreadsheet/formula.html
| idkyall wrote:
| I think one of the biggest growth areas for junior engineers to
| reach mid-level and senior is recognizing when you're re-
| inventing the wheel. E.g. If you are given a programming task
| to do anything related to Excel or the Microsoft Office suite,
| it's worth googling it first, because some engineer somewhere
| was probably tasked with doing the same thing a decade ago and
| has written a blog post or made a GitHub repo for it.
| bastawhiz wrote:
| > some engineer somewhere was probably tasked with doing the
| same thing a decade ago
|
| *Seven year ago at Uber
| JohnMakin wrote:
| It's not just junior engineers. Senior/management can fall
| into this trap as well.
|
| At one of my former companies we had a small problem with
| whitelisting cloudflare IP's that don't typically change
| super duper often but definitely cannot be assumed to be
| static. My boss at that time decided the solution was this
| big initiative he called "whitelist maker" and assigned it to
| me. I don't remember what implementation details he wanted,
| but it was some insane rube-goldberg machine to basically
| pull down this list: https://www.cloudflare.com/ips-v4 and
| then put it into some terraform code.
|
| I ended up quietly killing the project during a re-org and
| used the cloudflare provider, which conveniently provides the
| forementioned IPv4 list as a data source in 1 line of code.
| Done, 5 mins work. He had scheduled out an entire quarter and
| half of a team's resources for it.
| idkyall wrote:
| That's true, it's misleading to say this is a mistake only
| junior engineers make. Perhaps the real lesson is in having
| the maturity to put your ego aside and reflect clearly on
| whether you are solving the right problem in a sustainable
| way before jumping into the how.
| jabroni_salad wrote:
| As a generalist sysadmin sometimes I wonder wtf is in the
| future for me but at least I can say I made sure our data guys
| have a really good compute node instead of a crashy laptop
| cluster and dollar store excel. Are you guys REALLY sure about
| the no-ops dream?
| rkangel wrote:
| To be fair, he wrote a spreadsheet engine that could run _one
| particular spreadsheet_. Admittedly a complex one, but it was a
| fixed set of functions that he needed to implement and not and
| endless tail of things that people expect Excel to do. I think
| I 'd probably have argued more about the UI spec and down some
| Excel behind the scenes but it is a familiar UI if you've got
| lots of number inputs all over the place.
|
| I've always enjoyed this article about building a spreadsheet
| in 100 lines of F#: https://tomasp.net/blog/2018/write-your-
| own-excel/ The expansion from that to the feature set needed
| here is manageable.
| brap wrote:
| Project requirements are never fixed, they're always
| evolving.
|
| It was only a matter of time before users would've complained
| about features being missing/broken, especially since what
| they're used to is Excel and this was meant to replace it.
| bastawhiz wrote:
| > this was meant to replace it.
|
| I think that's a very generous read of what I said the
| requirements for this product were.
| brap wrote:
| > "The city teams only know how to use Excel, just make
| it like Excel."
|
| With those expectations, sooner or later someone would
| have said "hey wait a minute, why isn't this like Excel?
| Excel knows how to do X, but this can't do X! I thought
| we talked about this, just make it like Excel!", repeat
| until you have a full blown Excel.
| Aeolun wrote:
| > Apache POI lets you run headless Excel. You import and
| interact with sheets programmatically in Java.
|
| How does this help you in the browser?
| eitland wrote:
| You make a small small backend-for-frontend that translates
| requests from the browser to calls to the Apache POI library
| and return the information to the browser, probably as some
| kind of json representation.
| StopHammoTime wrote:
| I find it remarkable that they used laptops for this. Surely, a
| Dell server for $100k with good specs could have crushed a lot of
| these models. Could have just given them all Remote Desktop
| sessions too.
| quijoteuniv wrote:
| Is interesting what people focus on when they read, ultimately I
| think one needs to ask oneself why you take some jobs. Is the
| money, the challenge or the purpose. I find that money and
| challenge has little to go for me if the purpose is skew.
| kazinator wrote:
| > _You see, when formulas create a circular reference, Excel will
| run that computation up to a number of times._
|
| Like almost every spreadsheet before it: Lotus 1-2-3, Borland
| Quattro Pro, VP Planner ...
|
| Spreadsheets iterating on circ references goes back to the 1980s.
|
| The first spreadsheet application, VisiCalc, didn't track
| dependencies: it evaluated cells left to right, top to bottom,
| IIRC.
|
| Microsoft had a product called Multiplan that competed with
| VisiCalc. Not sure if that did iteration.
|
| I think it used to be a setting in some programs whether circular
| references are flagged as errors, or iterate. Maybe it's still
| that way in Excel?
| itigtohft wrote:
| There are a couple of nice minimal spreadsheets in js:
|
| http://web.archive.org/web/20130606222859/http://thomasstree...
|
| Inspired by that, an even smaller one:
| https://jsfiddle.net/ondras/hYfN3/
|
| The latter catches circular references rather than trying to
| calculate the fixpoint
| mihaaly wrote:
| Too many eager geeks are pushing through with realization of
| things that are a raw (not even half cooked!) droppings of a
| clueless mind with authority, instead of just simply saying 'No!'
| - or giving alternatives at least. Driven by pride doing things
| that should not have been attempted the first place. Lots of
| waste, lots of waste, lots of half cooked thingies interacting
| into unreliable solutions.
| ChrisMarshallNY wrote:
| _> It's easy to treat a particularly clever or elegant piece of
| code as a masterpiece. It might very well be a beautiful trinket!
| But we engineers are not in the business of beautiful trinkets,
| we're in the business of outcomes._
|
| This spoke to me.
|
| However, as anyone that has looked at my code can attest, I tend
| to also want my code (and its functionality) to be very pretty.
| I'm generally writing code that I will be maintaining, so it
| needs to be something that I can look at, in a year, and
| understand.
|
| I'm currently in the final phases of a project that I will never
| announce here, and don't plan on taking much credit for, but it
| really is da schizz. It's that way, because no one is paying for
| it, and no one will make money from it.
|
| Money both spoils everything, and also makes it all happen.
| oq_pmg wrote:
| Questions at the end of the article, are the ones, every
| engineering manager should ask
| ryukoposting wrote:
| I wonder if the author would view this situation differently had
| Uber/Box decided to claim the code as their own. It has to bring
| some catharsis to know that, even if the code never actually met
| its potential, at least the whole world can see and appreciate
| it.
|
| I created a whole programming language as an intern for <defense
| megacorp>. It was lazily evaluated and garbage collected.
| Unquoted MAC addresses were valid syntax, among other
| application-specific oddities. No bytecode or JIT shenanigans -
| the interpreter just pushed and popped stuff from a stack as it
| traversed the parse tree, and that was fast enough for what we
| were doing with it. The interpreter was written in pure ANSI C,
| and Valgrind was very happy with it. Maybe it has been totally
| forgotten, or maybe it became critical to their technical
| infrastructure. That code never left the airgapped lab where I
| wrote it, so I have no way of knowing. 3 years ago, as a recent
| college grad, that was by far the coolest piece of "actually
| useful software" I had ever written. It's still high on the list.
| Sometimes I wonder whatever happened to it.
| lowbloodsugar wrote:
| The part the author is missing is that Box and Uber have
| already claimed the code as their own. It will be in the
| employment contract. The author appears to be under the
| impression that asking a mid-level manager (or even a senior
| manager) "Hey, do you want this?" and that manager answering
| "No", is in any way legally binding on the company.
| ryukoposting wrote:
| I've only ever agreed to those terms kicking and screaming. I
| wish there was a larger part of the community willing to
| advocate for a "love of the art" clause that would explicitly
| state that code I wrote on my own time is _mine_.
| allanrbo wrote:
| Another approach would be to use the Excel APIs. Both the classic
| desktop Excel and the web version has APIs to read/write cells
| and recompute. Rebuilding is more fun of course :-)
| jengler wrote:
| Great to see @bastawhiz on here.
|
| _Box had a collaborative note-taking product called Box Notes
| (based on Hackpad)._
|
| Slight correction: Box Notes was forked off etherpad-lite.
| Hackpad was a parallel fork of Etherpad.
|
| [context: I was lead engineer on Box Notes till around 2014/2015.
| I left before the events @bastawhiz described]
| nperez wrote:
| I've worked on a project that was intended to replace Excel
| spreadsheets with a web front end. It was presented like we were
| moving our processes out of the stone age - as if we were
| replacing a pen-and-paper process that "doesn't scale", or
| whatever.
|
| I will never do that again. We didn't build a whole spreadsheet
| engine, but we did build a web UI that simply doesn't do as much
| as Excel. Excel is powerful. Sometimes it's a fine tool for the
| job. Our team was laid off before we could roll it out, but I
| remember the growing sinking feeling of "I would hate using this
| if I already had a bunch of habits built up in Excel"
| lxe wrote:
| > To this day, I've never encountered an in-house application
| system as well-designed as Uber's. You could go from start to
| Hello World running on a *.uberinternal.com subdomain in under 30
| minutes with full CI/CD.
|
| I worked on all this at Uber back then, and this comment warmed
| my heart a bit. Thank you.
| nardi wrote:
| I do not like working with people like this, because I don't want
| to be anywhere near the maintenance burden of a pile of hacks
| that technically can run a single Excel spreadsheet. I don't even
| want to be within earshot of people complaining about this. If I
| even thought about it for too long I'm sure I'd have a giant
| headache.
| ndesaulniers wrote:
| I worked with the author for maybe 3 years, I thought he was
| pretty awesome.
|
| Not surprised he implemented a partial implementation of excel
| so quickly.
|
| I'm disappointed in myself that I somehow got through most of
| the article without realizing who the author was (thanks
| Firefox reader mode); especially since the naming of Wesley and
| Crusher is too good. Of course it was Basta! Of course it was!
| abigail95 wrote:
| what would you have done instead?
| joshu wrote:
| i feel like "learn vba" would have been a much easier path here
| sr228822 wrote:
| ironically, I was backend at Uber 2014 - 2018 and used to ask a
| simple version of implementing an excel formula engine as my go-
| to coding interview question. Its got a nice mix of data-
| structures, algorithms, complexity, and implementation. Good
| candidates can get a reasonably efficient implementation handling
| cell references in an hour.
|
| nice read. made me nostalgic for the wild days of Uber-China
| hacking.
| bastawhiz wrote:
| Amazing! I independently had an extremely similar interview
| question (because of this work) that also gave me great signal.
| That's really funny!
| fnwbr wrote:
| given this website's name it's incredible how deeply neoliberal
| posts' contents, comments and discourse have gotten...
|
| y'all seriously believe that the only valid reason for an
| engineer or a programmer to exist is to "create *bUsiNess~
| value"? i'm shaking my head.
|
| this blog post is full of ideological blindness.
| mrintegrity wrote:
| I get a strangely dystopian feeling from this article, like it's
| almost about a character in a black mirror episode
| Tao3300 wrote:
| Starring Excel as the pig.
| Vt71fcAqt7 wrote:
| Is it possible that you thought this because the words "black
| mirror(ed)" are mentioned in the article iteslf?
| jhaenchen wrote:
| That's because everyone in this comment section is giving
| wisdom about how to deal with the emotional reality of being
| abstracted from the fruits of their own labor. "Don't get
| attached to your work" is dystopian.
| pagnol wrote:
| I reflexively swiped left when the inevitable newsletter modal
| started to appear at the bottom, so didn't finish reading the
| article, but would like to know what gave you the dystopian
| vibe?
| Tao3300 wrote:
| You should have kept going.
|
| Spoiler alert: It turns out they were fulfilling a Babylonian
| prophecy the whole time. The whole development cycle was a
| complicated sacrifice to Marduk.
| bastawhiz wrote:
| Man, what a commentary on my career
| lcnPylGDnU4H9OF wrote:
| Alternatively, they just accidentally (I assume) called you a
| good storyteller.
| whimsicalism wrote:
| Funny that this article is talking about interns exhilarating
| data and yet the author blatantly recycles code between
| employers.
| OJFord wrote:
| > having answers that were very, very close is objectively worse
| than having numbers that are wildly wrong: very wrong numbers
| usually always mean a simply logic problem. Almost-correct
| numbers mean something more insidious.
|
| Ha! I massively identify with this. 'The market-wide median is
| off by PS3.07' is a much harder but to crack than the 'worse'
| report that 'the median is twice the max and the min is null'.
| OJFord wrote:
| *bug to crack
| dublinben wrote:
| Is it common to take code written for one employer and reuse it
| for another?
| arcbyte wrote:
| Some of us will strategically write generic code on our own
| time and machines and import it to employers machines when
| needed and customize it. For instance, how many times do you
| really need to write a spring OAuth server that integrates with
| LDAP? Or the guts of a simple CRUD app?
| Kwpolska wrote:
| > how many times do you really need to write a spring OAuth
| server that integrates with LDAP?
|
| I would expect this to be a library somewhere.
|
| > import it to employers machines
|
| How would you prove that you write the code long before
| getting hired by them?
| pc86 wrote:
| I would hope "import" in this sense means it gets pushed to
| your personal git[hub,lab,] repo, and forked from your work
| account.
| dartos wrote:
| Someone wrote the library for a reason, right? Many are
| made bc people needed it for their job.
| sokoloff wrote:
| > I would expect this to be a library somewhere.
|
| Indeed. That library is often written off-the-clock by
| person X and imported on-the-clock by person Y.
|
| Sometimes X === Y.
| bastawhiz wrote:
| And sometimes that person even writes about it on
| substack
| soperj wrote:
| > How would you prove that you write the code long before
| getting hired by them?
|
| Commit it to a repo somewhere.
| hu3 wrote:
| This is what I did once. And it worked!
|
| I have a 4 years 1 day old repo for code that was used in
| a job 4 years ago.
|
| But I made sure to have a written agreement saying that
| the code I was bringing in was, within reasonable limits,
| still mine.
|
| Clearly this doesn't include code that was produced
| during the job.
| contravariant wrote:
| Of course those of us familiar with copyright law would
| probably not admit to doing so publicly, right?
| sublinear wrote:
| Quite the opposite.
|
| Software written off the clock that does not compete with
| the employer is not only not the property of the employer,
| but any contract attempting to gain such ownership is
| unenforceable.
|
| Many businesses even actively encourage their developers to
| contribute to open source projects.
| umanwizard wrote:
| > any contract attempting to gain such ownership is
| unenforceable
|
| I highly doubt that this is true, at least in the US. Can
| you cite case law?
|
| You can write a contract granting ownership of all the
| songs a musician performs, or all the books a writer
| writes during a specified time period. Why shouldn't the
| same be true of programmers and code?
| sublinear wrote:
| <https://wikipedia.org/wiki/Google_LLC_v._Oracle_America,
| _Inc...>
|
| This is an even stronger case than anything being
| discussed in this thread. Oracle claimed to own code
| written by their own employees on their clock _and still
| lost_ this case. Google won their claim of fair use.
|
| That's exactly and explicitly what an MIT licensed open
| source project would fall under: fair use by the employer
| and nobody owns it despite the original author also
| happening to work for said employer. Authorship is
| distinct from ownership. As well, there's the notion of
| role vs identity. You can act under the role of an
| employee to fork a public repo for your employer's
| purposes, yet act under the role of the upstream author
| to have published something more generic in the past
| without knowledge of your employer's future use case.
| Your identity is irrelevant. The only thing that really
| matters is that the public repo does not contain code
| proprietary to any business. It's on the employer
| claiming the code is proprietary to prove it. Examples
| from the article would be those data science functions,
| the UI they wanted, etc.
|
| Do people not realize _why_ these licenses exist in the
| first place? What do you all think they were doing over
| there at MIT to draft up such a license?
| umanwizard wrote:
| This has nothing to do with what we're talking about.
| Whether Oracle owns the copyright to that code is
| independent of whether Google's use of it qualifies as
| fair use.
| sublinear wrote:
| It absolutely does.
|
| There are two questions here:
|
| 1) Can the employee use the code at work?
|
| 2) Who owns the code?
|
| In Oracle v. Google, not even actual ownership impeded
| fair use. Nobody really owns the code on a public repo,
| so there's your answer to #1. The employee _can use the
| code_ they authored and published to the world without
| any issues.
|
| Now for question 2...
|
| > what we're talking about
|
| What _you 're talking about_.
|
| You're correct that Oracle v. Google does not give any
| clear answers on ownership. For that you have to rely on
| the license applied to the project. It's simple. If you
| publish a project under a permissive license and your
| project does not contain anything proprietary, nobody
| owns it. Employment contracts don't have anything to do
| with this situation.
|
| But, what does it really mean to "own" code? What is
| owned? The concept or the literal sequence of chars? It
| seems to be the latter which Google showed is trivially
| sidestepped by rewriting the code behind an API. Thus
| ownership is pointless in software unless it's closed
| source and proprietary, which is the opposite of a fun
| little Excel clone, amateur video game, etc.
|
| The only thing enforceable about an employment contract
| is the clause about terminating an employee for working
| on side projects on the company time and/or with company
| property such that it takes away from productivity
| towards their work. I don't think anyone is talking about
| that or would even think of doing that though.
| Tao3300 wrote:
| Because no programmer is going to sign that. They'll go
| somewhere else. Musicians and writers don't usually have
| as many options, if any.
| umanwizard wrote:
| > Because no programmer is going to sign that.
|
| Completely false. Most people sign job contracts without
| thinking too hard. And side projects just aren't
| important for the majority of programmers, so why would
| they care?
| ryandrake wrote:
| Many programmers sign this. I directly know that at least
| two FAANG employers (and probably all of them), have
| extremely broad copyright assignment clauses in their
| employment agreements that claim ownership of every
| software you create, on or off the clock, using company
| equipment or your own equipment. And many people work for
| these companies.
|
| Whether these are enforceable or not doesn't matter
| because a lone developer is not going to go up against an
| army of corporate lawyers to find out.
| Tao3300 wrote:
| Yeesh. Once again glad to be a 1X who doesn't work for a
| FAANG and has non-tech hobbies.
|
| I would argue those are exceptional cases. Outside of
| these prestige brands, you get a lot more leeway.
| umanwizard wrote:
| Plenty of average people work at faang, and anyway, these
| terms are also common at less famous companies.
| flaviut wrote:
| > Because no programmer is going to sign that.
|
| I have. I got an extra $130k out of it.
|
| It's a work of art. Even this comment is a violation of
| the agreement, since I don't own the copyright to
| anything I do apparently, either in or out of the scope
| of my employment, so therefore I can't give Y Combinator
| a license to display this comment.
|
| I even talked to the company's legal team about the
| absurdity of the agreement & they were unwilling to
| budge.
|
| The relevant portion of the agreement, for your reading
| amusement: https://pastebin.com/ZF9MEkfG
| Tao3300 wrote:
| That's hilariously evil. You should leave a logic bomb of
| anonymous hate speech to disclose as belonging to them in
| case they ever want to enforce it.
| Alupis wrote:
| Your employment agreement or contract likely has some
| clause saying you transfer ownership, rights, etc to the
| organization.
|
| Which likely means your "free time" code you decided to
| do to make your _job_ easier now belongs to your employer
| since they asked you to write it (albeit indirectly in
| this situation).
|
| Will anything come of it for trivial stuff? Probably not,
| but that doesn't mean it's ok.
|
| Unless you have something in writing saying otherwise,
| best not to mix stuff like this because one day you might
| wind up on the wrong side of an army of lawyers.
| avgcorrection wrote:
| I don't.
| pc86 wrote:
| > _Which likely means your "free time" code you decided
| to do to make your job easier now belongs to your
| employer since they asked you to write it (albeit
| indirectly in this situation)._
|
| Especially when you have problem A at work, then some
| time later write "generic code" that solves problem A,
| then some time later "import" the code to your dayjob to
| solve problem A. And double so if nobody else ever uses
| this generic code and you never use it for anything else.
|
| As an industry we talk a lot about flexibility,
| particularly in scheduling and when we do our work, but
| you can't have it both ways. You can't be doing laundry
| and mowing the lawn and going grocery shopping in the
| middle of the work day because it helps you think or it
| helps your programming process, but then make the
| argument that because you wrote this code at 6 PM on a
| Sunday it's yours and not your employers, when you
| committed it to your employer's git repo Monday morning.
| Not with a straight face, at least.
|
| I want to be clear, I'm all about getting shit done
| during the day. If I need to get a haircut at 2:30 PM, I
| will. But I'm also not pretending that my employer's code
| is mine or that I have any right to publish it.
| Clamchop wrote:
| Ethically, I'm not sure how to slice it. I'm operating on
| what you wrote here rather than this specific story.
|
| Some contracts stipulate that anything you write while
| employed is owned by your employer. (I'm settled in that
| this is unethical, but it's reasonable to comply.)
|
| But let's suppose there's no such stipulation.
|
| You get an idea while at work. Everyone gets ideas. You
| take your brain home with you (I hope) and start
| developing that idea. You think it's generally useful and
| doesn't depend on any or reveal anything about a trade
| secret or other proprietary work, nor reveal anything
| about them.
|
| Is it your choice to contribute that idea to your
| employer or to use it in an open source or some other
| unassociated project? Why or why not?
|
| Is it OK if you never use it for any of your employer's
| projects?
|
| If not, then is it OK to wait until after your employment
| to develop that idea on your own or for your next
| employer or even turn it into your really awesome startup
| that definitely won't fail? (I think all of you are
| willing to do the first, and most of you the second.) Why
| does that change the ethical quandary, or why doesn't it?
|
| Alright, so your employer specifically asked for this
| solution and you wrote one on the clock but it was
| minimal, maybe you didn't have enough time to make a more
| elaborated one, and you write a better one and did one of
| the above with it. Is that OK?
|
| I don't think this question is all that cut and dried.
| Alupis wrote:
| There would be a difference between you publishing your
| code to a public repository, under a permissive license
| and then allowing your company to fork the codebase and
| do whatever with it. Under this situation, the author
| retains copyright, and the company has the option to
| decline use of the licensed code.
|
| That is different than solving common business problems
| at home, then when asked to solve them at work just
| copy/pasting those solutions _and assuming you retain
| rights_. Contributing that to your employer under that
| situation is no different than just working on salary -
| and you have not given the employer the option of
| rejecting those contributions.
| Dylan16807 wrote:
| > and assuming you retain rights
|
| It's hard for me to imagine how you could lose rights via
| copy pasting the code. Making a new release with a new
| license doesn't invalidate the rights you already had.
|
| Publishing code sounds like a way to prove it already
| existed, and nothing more.
| Clamchop wrote:
| See, that requires some argument of who it's for.
| Legally, copyright is established the moment something is
| created. (Hope you have proof.) I don't think you'd be
| able to claim _damages_ by sneaking your copyrighted code
| into the company repository, but other than that, I
| really have no idea how this would play out in court. It
| seems very risky but it's not obvious. I'd be interested
| in reading about cases in this middle area, if there have
| been any.
|
| But anyway, I focused mostly on ethics. The specific
| situation you describe is ethically dubious, I agree, but
| I'm interested in where the line is and it's just not as
| clear as some are suggesting.
|
| Copyright law is its own can of worms and is not the same
| as what's ethical. But, it does govern risk and
| practicality.
| contravariant wrote:
| It's not cut and dried but precisely because of that it
| is not a situation you should create lightly.
|
| I think there's nothing wrong if you have a brilliant
| idea that _happens_ to be useful to your employer to make
| some agreement that you work on it in your own time and
| grant the employer the use of the code. But you can 't
| just do this unilaterally, and if you do don't expect the
| employer to take your side.
|
| Just as you should have the right to decide what
| copyright to sell and what not the employer should have
| the right to assume they own the copyright to the code
| they paid for, unless stipulated otherwise.
| lowbloodsugar wrote:
| IANAL, but even in California, if it _relates_ to the
| business of the employer then they own it, even if you do
| it on your own time, on your own equipment. By
| definition, if you use that code while performing your
| job duties, then the company owns it. If you are in
| Washington State, then your employment contract can (and
| therefore will) state that _anything_ you write, they
| own, and this is legal and enforceable. Again, IANAL.
| contravariant wrote:
| Well sure, but how on earth are you going to claim it
| does not compete when you _use_ that very code for the
| employer?
|
| By all means try stuff out with some hobby project but
| don't be an idiot and tell your employer you've reused
| 'their' code (or at least, code in their codebase) for
| other clients. Either get an agreement up front or keep
| it secret.
|
| A contract that grants your employer copyright to code
| you wrote and _used_ in their codebase is easily
| enforceable. An exception would be code you wrote before
| the contract, but in that case using the code without
| some kind of agreement up front is still dangerous.
| m00x wrote:
| That's if they didn't use _any_ resources from their
| employer.
|
| If that code touched their work laptop (which it did
| since he showed it), it's now company property.
|
| That code most likely belongs to Uber legally, but they
| probably don't care that much.
| patmcc wrote:
| You write code on your personal computer outside of work
| hours, it belongs to you (barring truly terrible and
| likely unenforceable contracts). Let's say you put it up
| on github.
|
| The next day you download it onto your work laptop and
| use it to solve problem X. I don't think there's any
| reasonable interpretation where your company now owns it.
| contravariant wrote:
| Even if it didn't touch any company resources the company
| just needs to be able to claim it was created within the
| scope of their employment or as part of the work they
| were hired to make.
|
| Which is, you know, _hard_ to argue against if you wrote
| the code during your employment and copied it into the
| code base you were hired to work on.
| lph wrote:
| No. Most companies have employees sign paperwork that prohibits
| them from doing exactly this.
| [deleted]
| [deleted]
| crazygringo wrote:
| Nope, it's extremely illegal. Unless the first employer gives
| you explicit written permission to.
|
| Why anyone would run the legal risk of stealing IP from their
| old employer, to benefit not themselves, but to benefit their
| new employer... is beyond me.
| nvarsj wrote:
| And then brazenly admitting it on their blog which hits the
| front page of HN... that takes some cajones.
| choppaface wrote:
| Well this story is about Uber, and as far as Uber goes this
| instance of code copying was not nearly as consequential as
| what some of their other employees did
| https://en.wikipedia.org/wiki/Anthony_Levandowski#Civil_laws...
| Reubend wrote:
| Love the part about circular references. I gotta say though - I'm
| having a difficult time imagining how complex these fomulas are
| that reimplementing Excel's formula engine is easier than just
| porting the formulas into JS.
| bastawhiz wrote:
| The good news is that formulajs had a huge number of those
| functions implemented in JS already. Almost all of the time was
| spent on the engine, which wasn't a huge amount of code.
|
| The problem with porting the code to JS is that a.) nothing is
| named, b.) there's no real way to organize the code you've
| written because you're going from a spatial way of organizing
| code to imperative script, and c.) the actual design of the
| spreadsheet wasn't known to any engineers (it was designed by a
| data scientist, or perhaps an analyst). The work of translating
| would have meant really understanding what the thing is so that
| it can be turned into functions and modules. It also would have
| still required getting Excel function equivalents, since
| there's not a 1:1 equivalence between Excel and what's
| available in the JS standard lib.
| xen0 wrote:
| Honestly, if you're at 'thousands of formulae' across multiple
| sheets, I'd probably suggest writing a graph based execution
| engine too.
|
| The circular reference thing would have definitely thrown me
| for a loop though.
| kirubakaran wrote:
| I just want to let you know that the pun in the last line
| didn't go unappreciated.
| CodeWriter23 wrote:
| > Someone will take joy in ripping it out someday.
| camgunz wrote:
| I just finished doing this. I built an Excel formula parser and
| interpreter, and then a transpiler into Python. I even had the
| experience of having the values off by "just a little" and
| there's so many things that can cause it, it's just whack-a-mole
| honestly.
|
| Makes me wonder how many times this has been done haha.
| Vt71fcAqt7 wrote:
| I love this article. It begins setting the scene with Uber's
| grand expectations for the chinese market and then shows just a
| small piece of the work Uber spent on Uber China. Meanwhile Uber
| China itself failed spectacularly, with factories of phones
| claiming the free rides money.[0] I don't think I've ever
| experienced dramatic irony in a blog before, certainly not a
| technical blog. The post itself is a masterpiece.
|
| [0]https://www.forbes.com/sites/ywang/2016/09/27/ghost-
| drivers-...
| gobrrrmeme wrote:
| There's a service in SharePoint and SharePoint Online that let
| you program against Excel. Just gonna leave this here.
|
| https://learn.microsoft.com/en-us/sharepoint/dev/general-dev...
| charles_f wrote:
| > "Every day that we don't have this tool as specced, we're
| losing millions of dollars." There was no budging on the spec.
|
| If this is life or death, then the first reflex should be to find
| ways to make things simpler to ship. I understand that the
| requester in this case was a head of finance, but sh*t, if you
| want something, try to compromise once in a while.
|
| This is a great story, but at some point as an engineer in a gig-
| selling company, I would have asked myself if my job was really
| to re-build excel.
| JohnMakin wrote:
| Reading this and having China cloud experience on my resume I
| wonder how many chinese data laws they may have violated, you
| have to really strictly segregate data when it comes to chinese
| users.
| blincoln wrote:
| I was wondering the same thing, especially since it arguably
| involves mapping/geolocation information.
| schlowmo wrote:
| > "The city teams only know how to use Excel, just make it like
| Excel."
|
| > "Why can you see the formulas?"
|
| > "You said to make it just like Excel."
|
| I can't keep up with the espionage story that followed but I had
| this conversation more than once in my professional career.
|
| The first time I sat as a junior dev on a multi-month project
| replacing a excel spreadsheet for financial controlling of data
| centers that only one person who was going to retire understood
| with a web-based solution.
|
| They were quite proud that they were going to get a "modern"
| solution.
|
| Then they wanted me to make it like excel. What followed was
| evaluating every fricking excel JavaScript library out there at
| this time, going for one and started duct taping all the missing
| pieces.
|
| They were pleased but the look was off. It wasn't excel. I
| slapped some styles on it coming quite close.
|
| I was not prepared for what happened during the next
| presentation: They hated it because they wanted a modern web
| based solution (their words, not mine) and what they got was a
| poor excel knockoff running in their Internet Explorers. Tables
| are so 90s.
|
| I remember the pain so vividly that I regard "just make it like
| excel" as some kind of forming meme for my career till today.
| MrDresden wrote:
| This just gave me chills. Never would I want to work on a tool
| like this from scratch, and alone for that matter, that was
| underpinning crucial financial planning for a giant operation
| like the one described in the article.
|
| There are simply too many potential problems that could come up
| in this scenario and be the cause for catastrophic financial
| results in the end. And most of them wouldn't nessecarily be
| easily found via unit tests.
| acchow wrote:
| > Over the summer of 2016, we came up against a new twist on the
| project. We had a model that ran overnight to generate data for
| anticipated ridership in China. That data wasn't useful on its
| own, but if you fed it into a tab on a special Excel spreadsheet,
| you'd get a little interactive Excel tool for choosing driver
| incentives. Our job was to take that spreadsheet and make it
| available as the interface for this model's data.
|
| They eventually built a homegrown "Excel" clone as the UI for
| their model because "city teams only know how to use Excel".
|
| I would have done it the other way around - connected Excel to
| the data output by the model so the "city teams" could continue
| to use real excel. I think most finance teams do something like
| this.
| bastawhiz wrote:
| Because the city teams were in China, we didn't have this
| luxury. Everything had to be behind Uber's beyondcorp
| equivalent, and there was no real way to auth folks from the
| Chinese mainland. Our only surface was the browser.
| MichaelZuo wrote:
| A dedicated satellite link cross pacific is not that much
| money. Then again maybe the CFO didn't know so he took the
| easiest known option.
| bastawhiz wrote:
| I've always been fond of container ships loaded up with
| entangled qbits. Much lower latency!
| MichaelZuo wrote:
| If you don't quite believe it, it's almost certainly less
| per annum then 2 months of a typical mid-level SRE's
| loaded cost, even in 2016. Bandwidth would have been not
| great, way under a gigabit, but it wouldn't matter in
| this case.
| ftxbro wrote:
| > I would have done it the other way around - connected Excel
| to the data output by the model so the "city teams" could
| continue to use real excel.
|
| Yeah except:
|
| "When you click in the cells of the spreadsheet you can see the
| formulas. You shouldn't be able to do that."
|
| "You said to make it just like Excel."
|
| "People working for Didi apply for intern jobs at Uber China
| and then exfiltrate our data. We can't let them see the
| formulas or they'll just copy what we do!"
| hansonw wrote:
| I'm building a solution that works like this - we directly
| connect spreadsheet models to company databases (even
| converting pivots/formulas to SQL). Would love to chat with
| anyone that might find this valuable: https://arcwise.app
| roarcher wrote:
| The intended lesson of this article may be the "cattle, not pets"
| point made near the end, but I think there's another lesson
| hidden in it.
|
| This is the story of literally every single large project I've
| done under a tight deadline in my career:
|
| - Some non-technical department (usually sales) promises a
| customer something very big very soon, with no regard to how much
| time might actually be needed to build it. Fulfilling this
| promise "on time" is now your problem, Engineer.
|
| - Months are spent frantically building said Thing, working
| overtime, burning out engineers, and bastardizing the previously
| clean codebase in the rush.
|
| - The deadline is met, and no customer uses Thing for at least
| several months. Or the deadline is not met and customer waits for
| Thing as long as it takes, because they're not going to blow up a
| big contract or integrate with your competitor instead of waiting
| another month. They have too much invested and the deadline
| wasn't that important anyway. The third possibility, as it was in
| OP's case, is that Thing gets thrown away in its entirety due to
| some fateful turning of the organizational wheels.
|
| I swear, almost as if by some karmic law of the cosmos, literally
| every frantic deadline turns out to be irrelevant in the end, and
| you should have saved your sanity and gone home at 5 every day
| for the last 6 months.
| bjornlouser wrote:
| "'Growing as an engineer' means becoming a better engineer, and
| becoming a better engineer (directly or indirectly) means getting
| better at using your skills to create business value."
|
| Learning how the Excel model worked and then reimplementing it
| would have been a better example of 'getting better at using your
| skills to create business value'.
| alzaeem wrote:
| I interviewed with Uber in 2016 with the "crystal ball" team.
| Reading about R-crusher, I am glad that offer never came through!
| dmd wrote:
| > So the data scientists have multiple laptops that they download
| the data to, then run the models overnight.
|
| This haphazard way of running compute jobs really stuck out to
| me. I can't imagine doing things this way (rather than having a
| central compute cluster running SLURM or similar) at a company
| bigger than, say, a dozen people - much less the scale of Uber.
| What's the rationale? Even if it's just a cluster of 3 or 4
| machines in a rack shoved in the corner, isn't that better than
| ... laptops?
| bastawhiz wrote:
| It was easy to go to IT and say "get us a pile of laptops" and
| let the data scientists do their thing. It was hard to hire
| engineers to solve the problem (I was one of the engineers).
| They particular problem was far enough down the priority list
| that it took until 2016 to solve.
| dmd wrote:
| Heh. Well, I guess... sorry I didn't come help :) (I
| interviewed but turned down my offer.)
| bastawhiz wrote:
| You dodged a bullet
| purpleblue wrote:
| 1) This was the type of effort and level of coding that I saw
| when I was Uber during its heyday. I love it and I miss it every
| day.
|
| 2) You stole Box code, used it at Uber, and then stole Uber code
| and posted it on github. I understand no one's using the code or
| missing that code, but you really did steal that code. It belongs
| to the company, not to you. I would be careful not to do that in
| the future, because technically that's a trade secret and people
| have gone to jail over that, like that programmer at Goldman
| Sachs (wrongfully) and ironically Levandowski who took Google
| code and tried to use it at Uber.
| Znafon wrote:
| "Nothing came of it, but I took the code and shoved it into my
| back pocket for a rainy day.
|
| My idea was to take this code and spruce it up for Uber's use
| case."
|
| "My first reaction was to publish the code on Github."
|
| I'm very surprised by this, isn't the code property of Box, or
| Uber? The author does not mention their authorisation before
| releasing it under MIT license.
| sidewndr46 wrote:
| I believe this kind of story is the kind that gives most legal
| counsel nightmares.
| pc86 wrote:
| Especially the brazenness with which the author basically
| says "if they want to sue me for this verified and admitted
| IP theft, they can."
|
| Sure, they probably won't. But they might. And if they do,
| you'll lose immediately. Seems like a pretty high risk no
| reward scenario.
| concordDance wrote:
| Not all rewards are monetary, in this case the reward is
| thinking his tool might be used by others at some point.
| sokoloff wrote:
| And if you lose immediately, you likely owe damages. Those
| damages, even if trebled, appear to be $0 here.
| pc86 wrote:
| Which would be a great solace to someone who just spent
| $10k or more like 2-3x that responding to a lawsuit. But
| that's also why I agree the odds of actually getting sued
| are near-zero.
| Aeolun wrote:
| Why would you spend any money on a suit you intend to
| lose?
| IshKebab wrote:
| Because you intend to lose it with 0 damages.
| Alupis wrote:
| Some companies, armed with floors of attorneys and
| retained outside counsel, do that sort of thing just for
| the message alone. It costs them next to nothing,
| relatively, ruins the defendant regardless of outcome,
| and makes it clear for others to not mess around with IP.
| akozak wrote:
| Pretty sure that's not how copyright damages work. Don't
| take legal advice on HN folks.
| concordDance wrote:
| What makes you think that's not how it works?
| akozak wrote:
| https://www.law.cornell.edu/uscode/text/17/504
| kopecs wrote:
| Except there are statutory damages for copyright
| infringement.
| m00x wrote:
| I'm sure they could find damages amounting to a large
| enough amount that OP would regret.
| kgilpin wrote:
| Right. This is so risky. Having to use your personal resources
| to defend yourself against a lawsuit brought by a large
| corporation - really sucks.
| [deleted]
| michael1999 wrote:
| Uber and the people they hired never struck me as particularly
| concerned by things like "laws" and "property".
| pavlov wrote:
| Oh, you're missing a few qualifiers. They're not concerned
| with laws applied to them, and other people's property. But
| in all other cases they're big believers in law and using it
| to protect their property.
| PNWChris wrote:
| The Levandowski lawsuit comes to mind https://en.wikipedia.or
| g/wiki/Anthony_Levandowski#Civil_laws...
|
| ---
|
| Edit:
|
| Since I enjoyed OP's story, I thought I should clarify a bit.
|
| I'm speaking broadly of how I remember (from the outside)
| Uber's fast-and-loose IP attitudes in the 2010s.
|
| I don't think OP did anything of a similar sort. From
| comments here it sounds like they used some code they built
| in their free time that a previous employer didn't want.
|
| At Uber it sounds like they asked and were permitted to post
| their no-longer-needed code to GitHub. It's got its own GH
| org and everything.
|
| This whole chain is legally risky (I wouldn't do it and would
| strongly advise others not to do it).
|
| I feel OPs actions are not Ethically Wrong, though. I
| wouldn't enjoy living in a world where OP gets sued for this,
| since it sounds like nobody at work wanted the work and it's
| not giving competitors an advantage. I won't claim the world
| isn't like that, though.
|
| I really wish I could share OP's attitude and sense of
| ownership. I built something really cool (entirely in my free
| time) for a previous employer's hackathon. That code lives on
| some server they own now, possibly deleted. I deleted my copy
| after submitting it to the hackathon because I didn't want to
| risk anything. Company lawyers make just building things for
| fun feel so risky! It takes the soul out of our work.
| bastawhiz wrote:
| Author here. The code was originally written outside of work
| hours. I offered the code to Box and they didn't want it.
|
| If Uber wants a few thousand lines of JavaScript from over half
| a decade ago that didn't originate with them and that they used
| for less than a month, they can send me a letter.
| continuitylimit wrote:
| So come on man, let's be honest here. I got serious sacred
| masterpiece vibes from this story.
|
| This reminds me of some Hindu parable about people who let go
| of possessions and head out to become ascetics. So there is
| this wealthy man and wife and the wife is all upset because
| her brother keeps insinuating that he's gonna go ascetic and
| cut loose. The husband tells her to stop her crying and don't
| worry about it, he ain't going to do it. The wife asks him:
| 'but how can you be so sure?' Because, the husband says, this
| is how you do it, and then and there he rips open his shirt,
| tells her "you're my mother" and heads out to the woods.
| mock-possum wrote:
| What an utterly bizarre story. What's the point of it? Why
| is the wife upset about her brother? Why is the husband so
| sure the brother won't do it? What's the significance of
| his little performance at the end? Why is the wife the
| husband's mother, what does that have to do with anything,
| considering the issue is with the wife's brother? Why don't
| we get to see what the wife's reaction to the husband's
| stunt is - is she convinced by his actions, or is she as
| baffled as i am?
|
| Did I just fall for a chat gpt generated nonsense fable?
|
| What is going on here!
| plagiarist wrote:
| I think the wife is upset because "going ascetic" means
| cutting off contact. The husband is sure he won't do it
| because the brother is talking about it instead of doing
| it, which he demonstrates.
|
| It feels like there should be more to the lesson learned
| than, "people who have decided will act, people who
| haven't only talk," but I am not quite grasping it. Maybe
| the other part is, "and worrying about things you cannot
| change harms yourself," or something?
| julianeon wrote:
| It's a simple twist ending. The twist is that the wife
| was worried her brother would become an ascetic - but the
| person she should have worried about, the person who was
| planning to and did become an ascetic, was her husband.
| The performance is his declaration of asceticism, and the
| "you're my mother" line is a stock part of it,
| essentially meaning I renounce sexual attraction when
| said to your (former) partner.
| deodar wrote:
| I put one (possibly wrong) interpretation in an earlier
| comment.
|
| As for the mother part, in many Hindu traditions monks
| and voluntary celibates are encouraged to see all women
| the same as their mothers, to remove temptation. Now he's
| an ascetic ergo his ex-wife is like a mother to him.
|
| The cryptic yet amusing tone is much like a Zen koan, not
| a Hindu parable.
| bastawhiz wrote:
| I just like telling fun stories from a long time ago
| [deleted]
| cowthulhu wrote:
| I want to know what GPT model was used to generate this
| comment so I can make sure to avoid it
| cpursley wrote:
| You won an internet, needed the laugh - thanks.
| hitekker wrote:
| I might be dumb today but I think this parable is
| incomprehensible. Do you have a link to another version?
| deodar wrote:
| It's almost as incomprehensible as a Zen koan. I think
| the husband is showing the difference between talking and
| doing by, well, doing it. A radical way to demonstrate
| it.
| gberger wrote:
| Sergey Aleynikov (born 1970) is a former Goldman Sachs
| computer programmer. Between 2009 and 2016, he was prosecuted
| by NY Federal and State jurisdictions for the same conduct of
| allegedly copying proprietary computer source code from his
| employer, Goldman Sachs, before joining a competing firm.
|
| https://en.m.wikipedia.org/wiki/Sergey_Aleynikov
| bastawhiz wrote:
| "the same conduct" is doing a lot of work here
| brtkdotse wrote:
| > they can send me a letter.
|
| Why am I reminded of this meme?
|
| https://amp.knowyourmeme.com/memes/what-are-you-gonna-do-
| sta...
| treesknees wrote:
| "half a decade" is practically yesterday in most codebases.
| mihaaly wrote:
| Depends on the contract but the most I seen stipulate not
| working hour but context of the work. If it was made by
| instructions of the company for the company and you got
| remunerated for that then it is not yours to do whatever you
| please with it. Better check your contract in details.
|
| Example: "All Intellectual Property Rights with regard to
| Developed Materials will be exclusively vested in and owned
| by the Company." (with additional data protection and
| confidentiality clause protecting company property)
| slim wrote:
| I just want to say I am sorry you have to cope with people
| trying to convince you you are not free for no reason
| tempaway85751 wrote:
| _... Nothing came of it, but I took the code and shoved it
| into my back pocket for a rainy day ..._
|
| You can't really do this. Depends on your employment contract
| but code you write for an employer is usually copyright to
| them
|
| _... My first reaction was to publish the code on Github
| ..._
|
| You can't really do that either.
| bastawhiz wrote:
| I mean, I asked at the time, and I did it. If either
| company wants to start a legal fight over a pile of code
| that neither of them wanted that's old enough to be in
| elementary school, they know how to reach me.
| benjaminwootton wrote:
| I don't think its relevant that the code is old. The code
| is owned by the entity that's paid for it. I also found
| that party of the essay really surprising.
| lowbloodsugar wrote:
| The problem is that you are claiming ownership of this
| code and by making it available on GitHub under an MIT
| license you are claiming that you have the right to do
| so.
|
| If I take that code and make a billion dollar business
| out of it, Box or Uber could then claim a share of it.
| That's the kind of things that companies do with the
| lawyers on retainer.
|
| I then sue you for falsely claiming that you own it. You
| are particularly fucked because, thanks to this thread,
| you can't claim that you didn't know.
|
| Even in California the "I wrote it on my own time"
| doesn't apply to software that relates to an employer's
| core business. In other places, like Washington State,
| you could be employed to write TPS reports and write a
| video game at home, and your employer would own that too.
|
| IANAL but I have paid for advice on this very topic. I
| suggest you pay one too.
| grepfru_it wrote:
| Big facts
| report-to-trees wrote:
| Is there any other industry where workers are so beholden
| to their employers that they cannot simply create
| something of their own without fear of legal action?
|
| How did we get to this point as an industry and how do we
| change this destopia?
| geoelectric wrote:
| A spreadsheet UI didn't relate to Box's core business
| because Box didn't sell spreadsheet UIs. Box could have
| had the author's hobby project been adopted as a feature
| but explicitly chose not to. The author clearly owned
| that bit if they did it on their own resources and own
| time.
|
| In other words, you can write generally useful components
| and utilities on your own time, network, and equipment;
| license them to your employer if everyone agrees; and
| either way you still own them. You just can't write
| something directly related to or competitive with the
| products or processes that make your employer money.
|
| The spreadsheet formulae and enhancements the author
| wrote during work hours at Uber, though, no. But even
| just their direct boss as an agent of their employer
| saying it's ok to throw it on GitHub would probably cut
| them loose, especially since it'd be a derivative work
| with joint ownership.
|
| All IMO of course, but that's how I would have seen it in
| their shoes.
| adastra22 wrote:
| Well, you are not a lawyer. OP specifically wrote the
| code to help Box with its business. That's cut and dry
| within the scope of an employment contract, under
| California law. This doesn't get a safe harbor exception.
| bastawhiz wrote:
| > OP specifically wrote the code to help Box with its
| business.
|
| This is a leap
| adastra22 wrote:
| It's stated by OP in his blog post.
| Dylan16807 wrote:
| > OP specifically wrote the code to help Box with its
| business.
|
| That was the _intent_ , but not what actually happened.
|
| Is intent to donate code enough to put it within your
| employment contract, when it's done outside work hours
| and would otherwise be outside the scope of employment?
| lowbloodsugar wrote:
| You misunderstand. When he wrote the code, which was
| related to the company's business, the company owned it.
| Even in California. He couldn't have "intent to donate
| the code" because he didn't own it in the first place.
| The fact that he "intended to donate it" demonstrates
| that it was related to the company's business.
|
| From a practical perspective, even if you think they
| don't own it, do you have the money to argue that in
| court if they decide that they do?
|
| IANAL. If you are having issues like this, get legal
| advice from a lawyer. Not HN.
| Dylan16807 wrote:
| > which was related to the company's business
|
| Relatedness is relative but I'd argue against it here.
| They didn't have functionality like that, and they didn't
| want it.
|
| > The fact that he "intended to donate it" demonstrates
| that it was related to the company's business.
|
| ...yes, that's my point. We're using that intent to make
| the decision that it's covered. That doesn't seem like a
| good way to decide whether it's covered.
|
| If he just made a web spreadsheet and did nothing else,
| people would shrug.
| dragonwriter wrote:
| > That was the intent, but not what actually happened.
|
| The intent _is_ a fact of what actually happened: which
| appears to be that it was written by an employee within
| the scope of employment to solve a business problem.
| Possibly outside of usual working hours, but if it's by a
| salaried employee where doing work at home outside of
| usual working hours is itself a normal if not consistent
| part of employment, is probably not particularly
| significant.
|
| That the employer later chose not to make use of it
| doesn't change the circumstances of its creation;
| businesses often choose to not pursue use of exploratory
| work done by employees in the course of employment, that
| doesn't surrender ownership of the work product.
|
| And the version that was further developed within and in
| response to Uber business needs and actively used at Uber
| before the function for which it was used was terminated
| is an even clearer case (insofar as it is a distinct work
| from the original) of work-product (that it quite likely
| is also an unlicensed derivative work by Uber of
| proprietary Box code doesn't mitigate that, though it
| puts Uber in the position of potentially being both a
| beneficiary and victim of IP violations.)
| Dylan16807 wrote:
| > which appears to be that it was written by an employee
| within the scope of employment to solve a business
| problem.
|
| An _imagined_ business problem.
|
| If the code wasn't relevant to their _actual_ business
| practices, that 's quite relevant. They not only didn't
| want that code, they didn't want anything like it.
|
| As for the modifications for Uber, that's not what I'm
| here to contest.
| adastra22 wrote:
| No, it's not relevant. Seriously, go consult a lawyer in
| this. I have. They're very consistent on this point
| because there are tons of case law regarding it.
|
| There are a massive number of examples of patent and
| copyright litigation stemming from work done for one
| employer, who rejected it, then the employee goes off and
| founds their own company and gets successfully sued.
|
| Fairchild was unique in that they had claim to the IP
| that their employees wanted to use in new startups, yet
| they decided not to follow through and allowed the
| employees to start their own companies. They could've
| prosecuted but didn't, and as a result we got Silicon
| Valley and the culture that surrounds it.
|
| But it's no guarantee that that your employer won't
| pursue a copyright claim they are perfectly within their
| rights to do. Don't assume your employer is Fairchild.
| Aeolun wrote:
| Excel does not relate to Ubers' core business.
|
| I'm nearly 100% certain we can look back at this comment
| in 20 years and find that absolutely nothing happened.
| acjohnson55 wrote:
| Literally today I was in a fireside chat where the
| speaker told us the IP law department at a previous
| employer brought in a couple billions in revenue by suing
| for infringement.
| Aeolun wrote:
| Sure, but they weren't sueing a rock.
|
| Getting a judgement against an individual is vanishingly
| unlikely to result in any profits.
| lowbloodsugar wrote:
| The author explains how analyzing and presenting data was
| worth millions of dollars. The author documents how a
| senior executive instructed him _to write excel_. It is
| clearly their core business. Also, and this comes back to
| the fantasy /denial/wishful-thinking aspect here, neither
| I nor the law says _core_ business. That 's a word that
| _you_ added. If you did it as part of your job, then it
| is, by definition, part of their business.
|
| I am also nearly 100% certain we can look back at this
| comment in 20 years and find nothing happened, but only
| because nobody will take this code and make a billion
| dollar business. If they did, I guarantee there would be
| a law suit.
| user_named wrote:
| Excel is not their fore business. That executive knows
| nothing. This is an example why you need product managers
| and engineers don't talk to users.
| ncallaway wrote:
| > neither I nor the law says core business
|
| That's just factually false. You specifically wrote:
|
| > Even in California the "I wrote it on my own time"
| doesn't apply to software that relates to an employer's
| ***core*** business.
|
| You can't complain about people being "wishful" or in
| "denial" when they are quoting you.
|
| Maybe California law is silent in the topic, but Aeolus
| wasn't the person who introduced that specific phrase.
| lowbloodsugar wrote:
| Oh that's embarrassing. I did. Apologies. I was wrong to
| write "core" and wrong to complain when you did it.
| ncallaway wrote:
| Eh, it happens. No worries
| bastawhiz wrote:
| I built a side business that makes five figures of MRR
| that started while I was at Box and continued through my
| tenure at Uber. It's still going. If anyone was going to
| sue anyone about anything, it wouldn't be my shitty
| spreadsheet library.
| burner420042 wrote:
| Long time ago my employer at the time had this in-house
| deployment system written by a guy that worked there. It
| worked well and we used it well after he had moved on. He
| left suddenly and started a company based on the idea.
| Employer went to sue him and discovered the 'all your
| code belongs to us' form was missing from his permanent
| file so they didn't pursue it. That company is called
| Chef.
| kyleee wrote:
| A small victory for the underdog
| yeahwhatever10 wrote:
| Can you source the claim about Washington State?
| lowbloodsugar wrote:
| Kinda the other way around. California has a law that
| states such contract clauses are unenforceable. I could
| show you that. Washington State does not.
| tempaway85751 wrote:
| Fair enough. But I'll leave my comment there as general
| advice for other readers
|
| enjoyed the article, the bit about Excel circular ref
| linear regression was wild
| adastra22 wrote:
| [flagged]
| wodenokoto wrote:
| I'd recommend you update the article on those two points,
| because because as it is now, the article makes it sound
| like you stole code from both Box and Uber.
| delusional wrote:
| This seems like a reasonable amount of pragmatism. As
| with most things in contract law, it's not meaningfully
| illegal unless some claimant is actually going to enforce
| it. You give enough context in the post to alert at
| reader that they should be careful of using it.
|
| Thanks for sharing a cool story.
| [deleted]
| Aeolun wrote:
| Different person, but when I asked if I could publish code
| as open source (where appropriate), I was told that that's
| fine, as long as I don't associate it with the company in
| any way (e.g. non-company specific stuff is ok).
| thebradbain wrote:
| Cool -- if one of the companies wants to issue a takedown
| request, they're free to make the case for it.
|
| It's funny there's this idea that a company _might_ be
| potentially injured over code they do not want or know they
| had being made open source by its actual author, even
| though many of those companies will gladly use open-source
| tooling without ever contributing anything back.
|
| Perhaps more soundly, though, in California - where Uber is
| headquartered - IP/Copyright for code is a huge legal
| question that the state and federal Supreme Court has no
| clear answer to. Sure, you obviously can't secretly clone
| Uber's entire stack, slap a new company logo on it, and
| start up as a competitor. But if you, as an author, wrote
| some code for a company under an IP agreement, then no-
| longer worked at said company, and then later adapted and
| expanded upon that code (or even started over, with the
| knowledge of what you learned from others' work): are you,
| at the originator, not legally allowed to be inspired by
| your past work? That's not something you, me, or even the
| company could decide.
| andrewxdiamond wrote:
| There are gray areas but I do not think you are in one.
|
| > and then later adapted and expanded upon that code (or
| even started over, with the knowledge of what you learned
| from others' work)
|
| These are extremely different scenarios. Starting with a
| copyrighted material and modifying it is not at all the
| same as reading material and starting over. The first is
| violating copyright, the second is a derivative work.
|
| If I read everything correctly, what you describe doing
| is taking code owned by the first company and modifying
| it for the second company. That's not at all a gray area.
| It's a copyright violation. You the engineer sign away
| your rights to the code when you built it for company 1
| while employed by them. Their employment contract for-
| sure states they own any work produced by you during your
| employment, and you agreed to this.
|
| If the first project was done off of company time, posted
| publicly on a private account, you might have a claim to
| the rights.
|
| I know you've dug your trench too deeply to change your
| mind at this point, but anyone reading your comments
| should know what you did was technically illegal and can
| get people in legal hot water.
| thebradbain wrote:
| I wrote the comment above, though I'm not the author of
| the code that you appear to think I am. But I am in
| agreement with him.
|
| > Their employment contract for-sure states they own any
| work produced by you during your employment, and you
| agreed to this.
|
| There are many open legal questions as to where this line
| is drawn. Surely the line falls somewhere between "every
| character I've ever typed on a keyboard" and "the
| verbatim code". I personally don't think he's crossed it.
| IP ownership is much more complex than portrayed in HBO's
| Silicon Valley. That is my opinion.
|
| Furthermore, when I worked at GitHub (now acquired by
| Microsoft, so I'm sure things have changed drastically)
| -- there were very lax IP ownership agreements in the
| employment contracts around code ownership, because the
| legal department was worried that if found in any way
| conflicting with California law it would render the
| entire IP claims null and void (which does have precedent
| in California).
|
| The point is we don't know, and I think OP would know
| better than us if it was disallowed or not.
| fragmede wrote:
| > IP ownership is much more complex than portrayed in
| HBO's Silicon Valley.
|
| IANAL; ut's not _quite_ that simple, but it 's in the
| right general direction. If you need specific advice,
| talk to an actual lawyer tho.
| lowbloodsugar wrote:
| IANAL but I understand the distinction is:
|
| 1. I copied this to disk, and I've iterated on it.
| Derivative work. Company owns it.
|
| 2. I created a new original work from scratch, based on
| my experiencing doing it once or twice before.
| Independent work. Author owns it.
| ryandrake wrote:
| Like many things in this area, the answer is usually
| "You'll find out if you want to go up against an army of
| lawyers". The last three companies I worked for all
| claimed ownership of any IP I create, on or off the job,
| using company's equipment or using my own equipment. One
| of them explicitly called it out during the interview:
| You will have to stop working on open source or
| publishing side projects when working here. Can they do
| that? Maybe, probably not. It doesn't matter because I do
| not plan to bankrupt myself fighting their lawyers.
| thebradbain wrote:
| Regardless of the fact that California is much, much more
| strict in what they allow, to the point where oftentimes
| a company's lawyers won't even try:
|
| Fine. Don't fight, I agree, that would be an unfair fight
| and a waste of time/money.
|
| The US court system requires a "good faith" effort to
| settle the issue before it enters the legal system. A
| cease and desist for example-- whatever it is, you'd have
| plenty of time to simply decide it's not worth it and
| remove the code once they take notice.
|
| As it is, this is all no harm, no foul.
| lowbloodsugar wrote:
| IANAL: In California they cannot, unless it is related to
| the employer's business (so if the employer is Apple,
| Google or AWS, they probably can). In most states they
| can.
| kqr wrote:
| I agree this seems fairly clearly illegal.
|
| That said, I think OP is _morally_ in the right here, and I
| wish I had the guts to do similar things.
|
| Sharing code is a good thing. Helping one company innovate
| using code that another company chose to ignore is also a
| good thing.
| egwor wrote:
| I'm not sure how we weigh up the morals here. If you've
| done something using a companies resources (laptop, desk,
| chair etc.) and they're paying you and the contract says
| they own it I don't see how you can have a moral high
| ground. Maybe there should be some way to allow these
| ownership concepts to expire so that society benefits
| overall but right now we don't have that.
| thecodedmessage wrote:
| When property does not serve its purpose it is no longer
| morally binding, just legally. And that's if you convince
| me proprietary code ownership has any moral standing at
| all. Sometimes, I follow the law not because it's
| particularly the right thing to do but because I don't
| want to get in any trouble.
| bastawhiz wrote:
| > If you've done something using a companies resources
| (laptop, desk, chair etc.)
|
| You're making a huge assumption that this is what
| happened.
| paustint wrote:
| At one point in the article there is a photograph of a
| chair in the uber hallway and a caption indicating that
| the couch in the picture (or one similar to it) was where
| most of the work was done for this project.
| xwdv wrote:
| It's trivial to tell ChatGPT to rewrite the code base so it
| not longer resembles the original and then publish as a new
| thing. So yea, you can.
| HPsquared wrote:
| Derived work
| xpe wrote:
| Trivial to ask for a ChatGPT rewrite. Not trivial to make
| sure it works.
| sushiburps wrote:
| Well, he just... did
| migf wrote:
| I was also absolutely gob smacked at this. Will they care?
| Probably not. Are you putting yourself at the absolute
| mercy of them deciding not to care? Absolutely.
|
| I would have a hard time sleeping... like this would be
| like being in IT and knowing the backups were bullshit.
| zarzavat wrote:
| It's pointless to worry about being sued by a large
| corporation. If they want to bankrupt you, they always
| can, regardless of whether you did anything wrong or not.
|
| We are like ants to them, they can squash us at any time,
| but most of the time we are too small to worry about.
| xpe wrote:
| > If they want to bankrupt you, they always can,
| regardless of whether you did anything wrong or not.
|
| Misses the point, which is: the likelihood of being sued
| increases when you break contracts or appear to do so
| sebzim4500 wrote:
| Is this a thing in the US? Here, if the code was written
| of your own volition outside of work hours then it's
| yours.
| santoshalper wrote:
| That story just doesn't seem plausible. Maybe for Box,
| but it feels like a stretch, and definitely not for Uber.
| adastra22 wrote:
| That's not what happened here though. For salaried
| workers everything you do that is related to your job is
| owned by your job. That's the default even if your
| contract doesn't state it. He may not have been directed
| by his boss to make the code for Box, but he did it with
| the intent of helping Box's business, as a salaried
| worker. That makes it Box's property.
|
| But even if you are unconvinced of that, work was clearly
| done on it on company time at Uber, where it was deployed
| as part of Uber China's business infrastructure. That
| work is absolutely owned by Uber (with maybe also some
| claim by Box). Not owned by OP.
| migf wrote:
| It depends on your employment agreement or contract. Most
| contracts I have seen say that any IP you develop related
| to what you're doing at work is the employers.
| adastra22 wrote:
| It only depends on your employment agreement in the other
| direction. Work done for hire is _by default_ owned by
| your employer under federal law. For salaried employees
| it doesn 't matter if it is done during working hours.
|
| The employment agreement can give up this right for
| things not related to the company's core business, and I
| usually insist on that in my agreements. But that is not
| the default behavior.
| Dylan16807 wrote:
| Surely someone has to _ask for it_ before it 's work done
| "for hire".
| adastra22 wrote:
| I usually insist that personal and open source work done
| outside of the product areas I work on are not company
| owned. Otherwise if I work on financial software at a
| bank, and then at home I work on defi/blockchain based
| financial stuff, I could be setting up a liability for me
| or my users.
| adastra22 wrote:
| Now I understand what you are saying, and no. For a
| salaried employee it pretty much covers everything you do
| that is related to your job, with that "related to your
| job" being interpreted very loosely, or done with company
| equipment or on company time.
| Dylan16807 wrote:
| Okay, well that's a bad way to define those words if very
| vague relatedness is enough, with no other factors.
|
| Work for hire should always be very clear.
| adastra22 wrote:
| Well that's what the case law is.
| dragonwriter wrote:
| "Work hours" are less clear for salaried workers who may
| or may not take work home: if it was written to solve a
| problem for the employer, reviewed with other workers at
| work, but ultimately not further pursued the status seems
| murky.
|
| The later derivative that was actively used by and
| updated for the requirements of another employer during
| the coarse of work seems to more clearly their property
| as a derivative (but also murky because it is potentially
| an illegal derivative of the earlier work, _if_ that was
| owned by the earlier employer.)
| mkii wrote:
| The real liability is sharing publicly that you did this.
| But hey, people have done far worse for attention and
| fake internet points, right?
| dclowd9901 wrote:
| That's really not how it works. Ostensibly by showing it to
| box, it was written for box, and they would be well within a
| standard of legal standing to make your life a living hell
| for taking it elsewhere. You should really be more careful
| with what you say.
|
| Why would you wontonly open yourself to legal liability? You
| say "they're free to come after you" but you really _really_
| don't want that. Ive seen that happen to friends and the
| stress almost killed them.
| bastawhiz wrote:
| You know, you're totally correct that they're well within
| their right to do... something. But why? What damages could
| they collect? It would take far less cash to rewrite the
| library I made from scratch than it would to pay lawyers to
| write some scary letters. There's no trade secrets. It's
| not even a novel idea. It would be terribly expensive and
| embarrassing for either Box or Uber to try to juice this
| even if they were motivated to. Hell, I'm technically still
| an active contributor to one of the OSS projects Box uses
| and maintains--absolutely treacherous ignorance that
| doesn't make me lose a second of sleep.
| acheong08 wrote:
| I find it seriously disgusting that we have given rights to
| corporations so that they can sue someone over work they did in
| their own free time.
| pc486 wrote:
| What a fantastic perspective from the former Uber BI team. I was
| on the Vertica team during this time period and the amount of
| effort was spent on incentives mind boggling. Millions a day lost
| on downtime, product features, or engineering bandwidth was a
| common theme.
|
| A director asking for an exact spreadsheet to be the UI would
| have been par for the course, especially during the Uber China
| days. Heck, I personally loaded FX prices into Vertica from a
| spreadsheet emailed every month to the team. That process
| remained for more than a year as there just wasn't enough
| bandwidth to invert the control as automated ingestion.
|
| Thanks for digging up these memories, @bastawhiz. I'd love to see
| more. :)
| NavinF wrote:
| >You see, when formulas create a circular reference, Excel will
| run that computation up to a number of times. If, in those
| computations, the magnitude of the difference between the most
| recent and previous computed values for the cell falls below some
| pre-defined epsilon value (usually a very small number, like
| 0.00001), Excel will stop recomputing the cell and pretend like
| it finished successfully.
|
| W
|
| T
|
| F
| lowbloodsugar wrote:
| IANAL but I've paid lawyers to answer this question in the US.
|
| The question is, if you do some work, in your own time, on your
| own equipment, does your employer own it just because the
| employment contract says they do?
|
| In California: if the work in any way _relates_ to the employer
| 's business, then yes, they own it. One way to guarantee that it
| relates to the employer's business is to bring it into the office
| and use it as part of your job. If your employer is Apple or
| Google or AWS or Microsoft, then probably _anything_ you write
| would in some way relate to their business. Write spreadsheets by
| day, but games by night? All of those companies make games, or
| are in the games business.
|
| I would love to hear a lawyer say, "Well, it doesn't matter what
| the employer does, it only matters what your job duties are, so
| writing games at night is fine if they don't pay you to work on
| games related things during they day." But I've never been told
| that by a lawyer, whether I paid them or otherwise.
|
| Everywhere else in the USA: they probably own it. You could write
| software for washing machines, and write a video game, and if
| your contract says they own everything you write _then they do_.
| You signed it. There 's no "but surely not!" defense.
| stevebmark wrote:
| A good and related article about the dangers and poison of domain
| driven design, and why spreadsheets are used at every level of
| every company. https://dev.to/cheetah100/domain-driven-
| disaster-147i
| constantly wrote:
| I wouldn't try moving code written for one employer and using it
| another employer. Unfortunately for me my employers have been
| somewhat litigious; thankfully Uber doesn't have that reputation.
| bsder wrote:
| Side question: Why the hell is it so stupidly difficult to
| display and _edit_ tabular data from programming code?
|
| You can't drive Excel from Python/Rust/etc (Microsoft just
| announced to great fanfare that Excel can call Python--which is
| the wrong way around). All the editable table widgets for the web
| seem to suck. Nobody seems to have a TUI which you can drive from
| an external program.
|
| A poorly written spreadsheet with a driveable API seems like a
| component that has been built multiple times by lots of people
| yet seems to be unavailable.
|
| Is there some solution that I'm missing?
| renewiltord wrote:
| That's a tremendous war story. I _love_ it! Doing a thing that's
| considered unreasonable. Knowing that total value is integral of
| instantaneous value over time (so short high-impact projects can
| easily outvalue long-lived projects).
| easton wrote:
| Excel circular reference doc, for the curious:
| https://support.microsoft.com/en-us/office/remove-or-allow-a...
|
| > Unless you're familiar with iterative calculations, you
| probably won't want to keep any circular references intact. If
| you do, you can enable iterative calculations, but you need to
| determine how many times the formula should recalculate. When you
| turn on iterative calculations without changing the values for
| maximum iterations or maximum change, Excel stops calculating
| after 100 iterations, or after all values in the circular
| reference change by less than 0.001 between iterations, whichever
| comes first. However, you can control the maximum number of
| iterations and the amount of acceptable change.
| hannofcart wrote:
| On reading this article, I realised that maybe the most
| noticeable change that experience brings to a developer is...
| laziness?
|
| When I was 24, I was pretty much exactly this person. "Building a
| spreadsheet engine that runs in a browser. Sounds like so much
| fun!" And then I'd slog away at it for a month and get something
| working.
|
| Now though, with age, I know I can't chug away coffee working
| late into the night. My back hurts when I have to sit too long.
| My wrists aren't being too kind to me these days either.
|
| Now if someone asked me to build Excel I'd first laugh in their
| face. And if I don't see them smiling, I'd ask if they can afford
| any of these A,B,C...Z COTS products that are doing this that we
| can just buy. And if none of those work out, I'd look for how I
| can take something like ethercalc and repurpose it for our use
| case.
|
| Looks like the older I get, rather than writing code, I seem to
| be getting more adept at how not to write it.
| hddqsb wrote:
| Tangential, but regarding footnote 7 (efficiently recomputing
| cells, assuming no cycles), the correct algorithm for determining
| the order is topological sorting
| (https://en.wikipedia.org/wiki/Topological_sorting). Using a
| breadth-first search gives a good approximation in many cases,
| but there are pathological cases where it can produce an
| inefficient order.
|
| > Uber Sheets
|
| Hee hee, this name is funny on a number of levels :)
___________________________________________________________________
(page generated 2023-09-16 23:02 UTC)