@vroyer, as you’ve noticed, some farmwares from the past no longer work with the latest versions of FarmBot OS and require updating to work. This is because we had to make some breaking changes to the way farmware works within FarmBot OS, which is why we incremented from v7 to v8 (marking a major release).
While nobody ever wants to intentionally break integrations, plugins, compatibility, etc, sometimes it is the right decision to make to push the greater platform forward. When we were making this decision, we first looked at the number of farmwares actively installed on our customers’ FarmBots. You might be surprised that the number of unique farmwares that were being used back when v8 came out was less than 10, and the number of FarmBots with those farmwares installed was less than 20. While we immensely value the importance and contribution of our “power users”, we also must recognize that they make up a very small fraction of our customer base. So we must balance the effort expended supporting this small subset of users with the effort spent supporting the vast majority of our users who are not software developers and/or have no interest in finding and using publicly available farmware.
During the v8 build phase, we emailed farmware developers we knew about and discussed plans for how to move forward together. As with most decisions in software development, we had to make tradeoffs. In order to move the core FarmBot feature set forward (adding support for sequence variables via the new “celery script runtime”) farmware would have to be updated.
Unless FarmBot Inc has authored the farmware, we don’t have any control over a 3rd party author updating a farmware other than politely asking. If the author is unable to make an update, and if the farmware is open-source, someone else may feel inclined to pick up where things left off, though nobody is making any guarantees that that will happen.
I hope this sheds some light on the current situation and allows you to understand that we didn’t give up some farmware support for any nefarious reasons, or for no reason at all. We have arrived at where we are today after much deliberation and a lot of calculated decision making.
In terms of FarmBot’s open-source strategy, we are doing everything in our power to support and empower people to make FarmBot better, and are always open to feedback (and PRs!). We not only have licensed all of our technology with permissive open-source licenses, but we have gone above and beyond in providing high quality documentation, CAD models, schematics, a public forum, an open API, hackable hardware, a parts shop, an app experience designed with customizability at its core, and a 3rd party plugin system (farmware). We have done all of this because FarmBot is a very ambitious project that has many moving parts, and our official team is very small. There is no way our team, or any team, could ever realize the full potential of FarmBot. Only an open ecosystem with a strong community that is empowered to make their ideas reality will achieve that.
Okay, so what about these features you want? We want them too! And we’re working on them - every day - and have been building the foundation to get here for years now. We’re also balancing the work on new features with improvements to stability and performance, adding support for our latest electronics, and fielding the myriad of other requests we receive both here on the forum and through our official support email. Check out our GitHub repositories and public project board to see the daily and weekly progress, and feel free to hop in yourself. PRs are welcome, and we’re happy to help anyone who is serious to get started with development.
We also had a meeting yesterday to figure out how to expedite the release of groups based on filters (all weeds, all broccoli plants, all plants that are ‘planned’, etc), and are working on getting out an initial implementation as soon as possible (we’re shooting for next week). After that, as you will see in our project board’s TODO column, next up is improving the MARK AS command to support variables, and a write-in custom option. These features will allow for a very customizable “programming” experience that will offer similar functionality to some of the most popular farmwares.
Additionally, I spoke with Rick this afternoon and we will be lifting the 60s limit on farmware with the next OS release. To be clear, we have not and will not be testing long-running farmware and your mileage may vary. You may run into unexpected issues and your FarmBot may become unstable. We’re doing this because of the feedback in this forum post and to support you all in tinkering. However, we simply don’t have the resources at the moment to fix issues that may arise after 60s of execution, but again, open-source contributions are always welcome.