Improving Agriculture Tech

The typical farmer must make critical decisions each year on the crops to plant, when to plant them, how to best fertilize, how and when to water and weed, when to harvest, and how to best sell finished crops. Failing at even one of these decision points can ruin a crop year. Farmers also increasingly want to use farming practices that strengthen the soil rather than deplete it. Modern farming is a complex business, and a farmer has to annually interface with seed companies, equipment makers, chemical companies, crop distributors, temporary laborers, banks, insurance companies, and the government.

There has been a lot of effort made over the last decade to develop technology solutions to help farmers with some of the major decisions. For example, there are now ways to use aerial photography to diagnose the conditions of each section of a field. We’re in the early stages of developing sensors that will report on everything from moisture content to nutrient levels. Farmers can now buy a dizzying array of smart tractors and other smart farming equipment.

Unfortunately, the new hardware and software solutions have brought a new dilemma to the typical farmer – how to use these new tools for the specific local conditions at a given farm. Farmers suddenly find themselves juggling a dozen different pieces of software that don’t work together. There is no easy way to transfer data between different software systems. Software that might help a corn farmer likely won’t work as well for a farmer growing sweet potatoes or tomatoes. Farmers are complaining that they need to hire a systems analyst just to make sense of all of the new tools.

The Linux Foundation has begun a new open source software project to try to integrate the many software challenges suddenly confronting farmers. Labeled as the AgStack Foundation, the new effort will solicit input from across the industry, from farmers, equipment manufacturers, academics and researchers, and the government. The stated goal of the foundation is “to improve global agriculture efficiency through the creation, maintenance, and enhancement of free, re-usable, open and specialized digital infrastructure for data applications”.

The Linux Foundation is a non-profit consortium that has tackled other complex challenges like software for self-driving cars, wireless networks, and security systems. The Linux approach to software development is to create an open core platform of middleware that is made available to everybody. The Linux goal is to create a platform that can take inputs from multiple ag software packages and integrate the data exchange between products in a way to feel seamless to farmers. For example, data gathered from a smart tractor would be made easily available to software used for other purposes.

This integrated software approach makes it even more vital that farms get good broadband. The AgStack software is going to have to operate in the cloud, and a farm needs a robust broadband connection to load data to and from the cloud. Even when farms have adequate download broadband speeds, many have terrible upload connections.

The early members and contributors to the effort include the Hewlett Packard Enterprise (HPE), Purdue University/OATS & Agricultural Informatics Lab, the University of California Agriculture and Natural Resources (UC-ANR), and FarmOS. As the initiative gets legs and starts producing results, it seems likely that almost every maker of Ag software will want to integrate into this new platform. Joining this effort will enhance the value of every software package.

Agriculture is our largest industry, but because farms come in many sizes and produce a huge variety of crops or livestock, it’s an amazing challenge to develop standard software in the industry that can be useful to more than a small percentage of the market. This effort can hopefully bring the entire software ecosystem together while operating behind the scenes and not being evident to the farmers who will benefit the most.

Should You Consider Open Source Software?

grayLinux1600There is a big shift going on in the software world that you should keep an eye on. More and more large companies are moving big parts of their software platforms to open source software. The question I raise today is whether or not it’s now time for smaller companies to consider doing the same?

Open source software has been around for decades and used by programming purists who never trusted software from big companies like Microsoft. I can remember free versions of spreadsheets, word processors, and numerous other kinds of free software as far back as the early 80s. The free software never got much traction for a number of reasons, the primary of which is that it made it hard to share your work with other people not using the same free platforms. But a small business, or a writer, or anybody who created content just for their own use was able to get by without paying hundreds of dollars every few years for the latest Microsoft Office upgrades.

Small ISPs were the first group that I can remember using open source software for commercial purposes. In the early days of ISPs, when AOL and Compuserve were signing up millions of customers, there were a few thousand local ISPs that sprang up around the country. These small companies provided more personalized ISP services than the giant companies and catered largely to business customers. Some among these ISPs wrote software that took care of basic ISP functions like operating an email server or a DNS server and made this software available to other ISPs. I can remember recommending this software to telephone companies that were getting into the ISP business, with the reasoning that because it was open sourced it was constantly being improved (and it was free). But many of the telcos could not get over the trust factor of using something ‘free’ and instead went out and spent upwards of $50,000 on software that didn’t even have all the features and functionality of the free software.

Linux is the best-known open source software. At its peak it was only installed on about 1.5% of PCs, but the Linux kernel is now built into android and is on billions of phones and devices. I think it was the experience with Linux that gave large corporations the confidence to start using and even contributing to open source programming. This move has been further pushed by the need to deal with hackers. In the last few years open source software has dealt better with hacking, both because it has fewer vulnerabilities, but also because the software recovers much faster when problems arise. And this makes sense. Widely used open source software has hundreds of smart programmers watching after it and responding during an emergency where large corporate software might rely on only a small handful of programmers. Also, the small bugs in open source software are being tested and tweaked all the time whereas vulnerabilities on commercial software are often never noticed until it’s too late.

Today we are seeing some of the biggest tech companies take the open source approach with some of their software. Companies like Microsoft, Google, and Facebook have accepted an open source philosophy for some of their software and have joined a legion of numerous fortune 500 companies that now rely on open source for some of their critical systems. The big companies are growing dissatisfied with the large operating systems like Oracle or PeopleSoft. While there are many things they like about these mega-software systems, there are parts of the big software systems that don’t work well for them and that are too hard to customize for their use. And these huge software systems are incredibly expensive. By the time a large corporation buys a large software system and then pays again to customize it for themselves they will have invested many millions along with having to pay big annual software maintenance fees.

Corporations also started breaking away from the large software packages when they found that more nimble software existed to handle some of their critical needs, such as the way that Salesforce has become a standard for CRM. Once they broke away from part of the big program systems it became easier to consider open source solutions for other needs.

As these large companies allow their programmers to work on open source platforms, those platforms get even better. Where Linux was largely written and maintained by people who also worked other jobs, there are now fleets of corporate programmers who are working to add to and improve open source software.

It’s not always the easiest thing in the world for a smaller company to make the transition to open source. Open source software doesn’t come in a nice neat package with dedicated customer support and training. But when I look around at my clients, I see them still spending a relative fortune on software for such things as billing systems, CRM systems, and hardware monitoring and interface software. Any small carrier who is spending more than a few hundred thousand dollars a year on traditional software might be better off to instead hire a programmer or two and let them find and implement open source software. It’s a bold move, but if it’s working for the big corporations it might well work for you.