FarmOS is a Drupal-based software project aimed at easing the day-to-day management of a farm. It allows different roles to be assigned to managers, workers, and viewers. Managers can monitor how things are going with access to the whole system, workers can use the record-keeping tools, and viewers have read-only access to, for example, certify the farm's records.

I spoke with Mike Stenta, lead developer of farmOS and active developer since 2010, and he had a number of reasons for using Drupal and putting their files, code, and documentation on GitHub.

"I settled on Drupal for farmOS because I see it as a good intersection of flexibility, scalability, and community," Stenta said. "It uses a modular architecture, so you can build applications in Drupal like building Legos. The community is huge, and the number of contributed modules and themes is mind-boggling. If you can think of it, you can probably build it in Drupal—and chances are someone already has."

Fourteen modules are currently being developed, including Farm Access, Farm Admin, Farm Asset, Farm Crop, and more.

"The focus right now is laying a strong groundwork so that others can more easily join in and contribute," Stenta said. "The world of agriculture wasn't even on my radar until 2008. I started college in computer science, but switched to art and photography—partly because web development wasn't in the curriculum. After college I found my way to the Olympic Peninsula in Washington state. There I worked as a farm apprentice. Then I came back to the east coast. In 2010, I helped my friend start a small CSA in Connecticut, and the philosophy of food and cultivation sank in deeply over those years. It shaped my direction profoundly."

Then, he had the inspiration for farmOS. It came from some software he developed for the CSA. To take it to the next level he started generalizing his work, which led to the creation of the modules that are the core of farmOS today. Stenta is also working on a general ledger module for Drupal, which is a double-entry accounting system similar to popular proprietary products.

The community surrounding the project is important too, and farmOS is looking for beta testers and other contributors to the project.

"FarmOS is developed by a handful of contributors, and more are getting involved steadily," Stenta said. "Community is everything, and it's important to foster good communication and planning in any open source project. We publish monthly roadmaps and invite people to help. All the planning and task management is done in the Drupal issue queues and on GitHub, so it's transparent and accessible. The monthly development meetings are a new experiment we're trying to invite more people into the conversation. The project is still very young, but the interest has been huge and it's starting to take on a life of its own."