HNHacker News
TopNewBestAskShowJobs

throwaway_jddev

81 karma · joined April 10, 2017

submissionscomments
throwaway_jddev··on Farmers look for ways to circumvent tractor software locks
I couldn't possibly comment. This would be close to me breaking NDA ground here, so sorry about that. I know that the legal department took software licensing very seriously and we had a narrow range of licenses we could use.
throwaway_jddev··on Farmers look for ways to circumvent tractor software locks
There is definitely defense in depth but, I never said the software was bug-free. :)

Also you're doing the unfortunate thing of associating me as part of John Deere. I'm not. I had a small hand is writing a small part of this software, a long long time ago. I don't give a shit if they sell tractors or not. I don't care if farmers modify the software or not. I don't really have a dog in this fight. I'm just a guy with an opinion who's seen how the sausage is made.

throwaway_jddev··on Farmers look for ways to circumvent tractor software locks
I would say the JD's tractor software (if taken in it's entirety) is on par with the modern Linux kernel in size, if not larger. Worse yet, the codebase is spread along many different repositories, teams, and build systems.

I've seen integration builds take days to finish (not including running of unit tests).

Look I get it, John Deere is evil. But this codebase is beyond any one person or team's comprehension. It's very massive, and it's very complicated.

throwaway_jddev··on Farmers look for ways to circumvent tractor software locks
Hey all, I worked on software for John Deere. This is a throwaway account for obvious reasons. Opinions expressed here are MY OWN. I no longer work for John Deere or am associated with them in any way.

I was part of one of the many teams that work on this software. Specifically I was part of John Deere's ISG division also known as the Intelligent Solutions Group. The ISG division (was at the time) responsible for tying together various software built by OEM's, for building the central UI within the cabin, and for building various debugging and build tools. The team I was on, consisted of about 8 very senior engineers, and I think there were around 20 total engineers working for ISG at the time (though I saw, and knew only a handful of them). Now, when I say OEM integration, I mean suppliers and other John Deere divisions with their own teams mirroring ours. All told, I would estimate that John Deere has somewhere between 150-300 engineers working full-time on their codebase for their tractors.

Let me disabuse you of any myths. I have worked in software for 20 years. I have worked in large enterprises, and scrappy startups. This software is by FAR the largest, most complex codebase I have ever interacted with. Submission of any new code was seriously considered and reviewed before it entered production (sometimes to a pedantic degree), after which JD put all new code through 10s of thousands of hours of testing on production equipment. Production and release cycles take on the order of months to ensure that we don't kill people.

These are not riding lawnmowers. They are 30-ton combines, and 20 ton tractors tilling fields, with massive horsepower behind them. They have a real potential to end peoples lives in the event of failure, and these tractors do (in testing) fail in spectacular ways. If a team of hundred of engineers struggle with their codebase internally, Joe Farmer isn't going to have a fucking clue how to repair their software correctly.

Now should you, in theory, have the right to modify equipment you own? Sure. Absolutely. Hell, John Deere tractors run on open source software. But trust me on this, locking this down is a very good idea.

If you have the drive to make open source tractor software AND can make absolutely certain no-one ever dies from code you write, then go do it. Just keep in mind that the engineers that work on this shit really care about keeping people safe.