FarmBot’s Community Architecture

Table of Contents

  1. FarmBot’s Background
    1. History
  2. Leadership and Team Structure
    1. Leadership structure
    2. Core team turnover
    3. Unique knowledge via git-by-a-bus
    4. Commit access and patch approval
    5. Quality control and bug repair
    6. Front-end and back-end support
  3. Stability
    1. Calloway Coefficient of Fail
    2. Major issues
    3. Participation trends
    4. What if FarmBot lost its most active contributor?
    5. What if FarmBot lost its core team?
  4. Onboarding and Support
    1. Documentation
    2. Onboarding
    3. Newbie support
    4. Code of conduct and contributor license agreements
  5. Summary
    1. Decision-making process
    2. Project categorization
    3. Ideal contributor
  6. Links

FarmBot’s Background

History

FarmBot is an open-source farming project created by Rory Aronson in 2011. At the time of creation, Aronson was a student at California Polytechnic State University. He wanted to lessen manual labor and expensive equipment costs for farmers. FarmBot’s vision is to “grow a community that produces free and open-source hardware plans, software, data, and documentation enabling everyone to build and operate a farming machine.”

The FarmBot project consists of multiple parts:

  • Genesis: A planting and cultivating device that can cover an area of 2.9 meters × 1.4 meters with a maximum plant height of 0.5 meters.
  • Software: Genesis’ software can run on most personal devices using a web app. The software allows users to change how the machine plants (seed spacing and soil types), and cultivates seed (watering, fertilizer and pesticide frequency). In addition, the software can use sensor reading to generate maps of the farm. 
  • Documentation: Documentation on hardware, software, software development, educational initiatives, and business practices.

The initial commit was made on January 2, 2014 by Aronson. The latest commit (as of writing) was made on March 4, 2021, by Rick Carlino.

FarmBot Express and Express XL

Leadership and Team Structure

Does FarmBot have a Benevolent Dictator for Life or lead developer? What is FarmBot’s leadership structure?

Aronson is the CEO of FarmBot. Carlino is the lead software developer, while Tim Evers is the lead firmware developer. All three men are founders of FarmBot.

Core team turnover

FarmBot’s core team has remained the same, more or less, for the past year. It comprises of the co-foundersAronson, Carlino, and Eversalong with other members such as Gabriel Burnworth and Connor Rigby.

Who has the highest amount of unique knowledge as per the git-by-a-bus report?

Aronson, Carlino, and Evers have the most unique knowledge of hardware, software, and firmware. 

Commit access and patch approval

Core team members such as Aronson, Carlino, Evers, and Burnworth have commit access. Carlino is responsible for approving the patches.

Quality control and bug repair

Anyone can submit bug reports. Bugs are posted on FarmBot’s GitHub, and core team members review submitted issues. QA and bug fixing seem to be more closed to the core team with the public reporting issues, rather than allowing the public to submit bug fixes. 

Front-end and back-end support

The front-end and back-end developers are separate. FarmBot likely outsources most of its front-end web work. However, FarmBot members handle its user interface implementation.

Stability

Calloway Coefficient of Fail

FarmBot has a good infrastructure set up between their website and GitHub. Accordingly, they pass Calloway’s Coefficient of Fail, pointing to success.Everyone

Major issues

There are no records of any major problems that may have arisen. There is a small list of bugs located in some of FarmBot’s GitHub repositories.

According to the Cauldron report, participation seems to be slowly trending down. It is not immediately clear why this may be. For example, the pandemic may have had an effect on their industry, or it could be for other reasons.

What if the most active contributor was hit by a bus?

Why hit by a bus? Learn more here.

It is unlikely that the project would survive if the most active contributor were hit by a bus. The most active contributor is one of two main contributors and he contributes much more than the second most active contributor. There is a chance of survival since many different companies and organizations have voiced support for the project, but without the main contributor, survival is unlikely.

What if the core team was hit by a bus?

If FarmBot’s core team was hit by a bus the project would almost certainly die. Almost all of FarmBot’s contributions come from just two people, Carlino and Aronson. Without the main team, there would likely be little to no support for the project.

Onboarding and Support

Documentation

FarmBot’s strength shines through their documentation. FarmBot has extensive documentation for their software and hardware (more hardware). It includes coding examples, troubleshooting, and contact information for dealing with specific issues. 

FarmBot also includes documentation for their software development, educational initiatives, and business practices

Onboarding

FarmBot is a small project, so they do not have an onboarding process.

Where can new contributors get help?

Potential contributors can email contact@farm.bot for technical problems. If the issue is a bug or feature request, they can submit it on GitHub.

Code of conduct and contributor license agreements

FarmBots’ software is available under the MIT license (also known as the “Expat License”) on GitHub. FarmBot has a code of conduct, and uses the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. FarmBot’s code of conduct also lists resources its creators used as inspiration, which gives FarmBot’s creators and community a progressive vibe.

FarmBot had a contributor license agreement (CLA) at one point, but does not have one available at the moment. There are a few official mentions of FarmBot’s CLA. One mention was by Aronson, which provides a broken link to FarmBot’s CLA page, and explains why contributors need to sign a CLA for each repository they contribute to. Other mentions of the CLA are located on the project’s old GitHub page, but those links are broken too.

Summary

FarmBot’s decision-making process

FarmBot’s decision-making process is hierarchical. Only five people contribute to FarmBot, so project decisions are made by them.

Is FarmBot a toy, group, federation or stadium?

FarmBot is a toy project because it has very low contributor growth and user growth. While there are a lot of organizations who sponsor FarmBot, there are only a few that contribute to the development of it. 

Who should, if anyone, contribute to FarmBot?

FarmBot is suitable for professional developers and novices. Although professionals would probably be more welcome, FarmBot is in dire need of contributors, a novice would also be good for that same reason. FarmBot is an interesting project with a great goal. We recommend anyone interested in open source farming to join.


Like Community Analyses?


Written by Olivia Gallucci, Justin Nauta, Mark Shaw, and Bryan Xue.

The original post is located on the HFOSS blog.