From 076a6f234899f2ca974c81814b0ba6d34840e31c Mon Sep 17 00:00:00 2001 From: Michael Stenta Date: Mon, 15 May 2023 08:56:24 -0400 Subject: [PATCH] Migrate old blog posts from farmier.com #17 --- posts/2019/farmOS-1.0/funnel.png | Bin 0 -> 30580 bytes posts/2019/farmOS-1.0/index.md | 150 +++++++++++++++++++ posts/2019/funding-farmOS/index.md | 126 ++++++++++++++++ posts/2019/funding-farmOS/relationships2.png | Bin 0 -> 14763 bytes 4 files changed, 276 insertions(+) create mode 100644 posts/2019/farmOS-1.0/funnel.png create mode 100644 posts/2019/farmOS-1.0/index.md create mode 100644 posts/2019/funding-farmOS/index.md create mode 100644 posts/2019/funding-farmOS/relationships2.png diff --git a/posts/2019/farmOS-1.0/funnel.png b/posts/2019/farmOS-1.0/funnel.png new file mode 100644 index 0000000000000000000000000000000000000000..e84021cfd7cf6df785456861e7da323cdf792826 GIT binary patch literal 30580 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⁡ zv{N5=@H-B1DXWk*v;J%u*AaiV(4{_pX=i{2G{?h&g^IobV8hLOsKMw!fH@xQSBNM8 fTPf@I89gJNYkiWC7n#Wx1w}zlRkl{zJnVk}kze`Z literal 0 HcmV?d00001 diff --git a/posts/2019/farmOS-1.0/index.md b/posts/2019/farmOS-1.0/index.md new file mode 100644 index 0000000..7de533f --- /dev/null +++ b/posts/2019/farmOS-1.0/index.md @@ -0,0 +1,150 @@ +--- +title: farmOS 1.0 +date: 2019-03-20 +author: Michael Stenta +slug: 2019/farmOS-1.0 +--- + +# farmOS 1.0 + +## A long journey for a small number + +After more than 5 years of development, I'm pleased to announce that +**[farmOS 1.0 has been released]**! + +What does that mean? In some ways, not much. farmOS is stable, and continues to +improve and grow with every iteration. It is already used by hundreds of farms +all over the world, and is being deployed in agricultural research projects to +help understand how production practices affect soil health, nutrient density, +carbon sequestration, and other indicators. + +What *is* significant about this release is that we've made some big +improvements to the [farmOS API], which allows other software systems to +communicate with farmOS and push/pull data. This means other ag software +developers can build more specialized features using the tools of their choice, +while still leveraging the farmOS server as a central database. This is a huge +step towards interoperability between different tools - and it keeps the data +ownership in the hands of the farmer. + +With this release, I thought it would be fun to take a look back at where things +started, and what we've accomplished along the way. + +![Illustration of data flowing into farmOS](./funnel.png) + +## Initial commits + +The first official commits happened in early 2014, with the creation of the +[farm distribution], along with the [log] and [farm_log] modules (but to be +fair, the ideas [go back even farther] than that). I shared it with Dorn Cox and +RJ Steinert at [Farm Hack], who became the first early adopters and +collaborators. Shortly after, I presented on the topics of open source software +and hardware at the [2014 CT NOFA Winter Conference], and shared my vision for +what we were starting to build. In September 2014, we +[officially adopted the name] "farmOS", and that winter marked the first commits +to the [livestock] and [equipment] modules, followed by the [sensor] module a +few months later. + +## Leaps and bounds + +The project and community has developed rapidly since then! There have been over +3000 [commits] to the [farmOS repository], 2 alpha releases, 18 beta releases, 2 +release candidates, and over 38,000 downloads from the +[drupal.org project page]. We've discussed countless ideas in the form of +[feature requests], [bug reports], and [conversations] in the [chat room] and +[monthly calls], as well as at in-person hackathons and conferences like +[GOAT: Gathering for Open Agriculture Technology]. All of this collaboration has +accelerated farmOS's development, and turned it into a mature platform. + +But that's not all! A number of related projects have been developed to +complement and extend farmOS, including add-on modules for [holistic grazing], +[nutrient management], [produce safety], [beekeeping], [mushroom] and [maple] +production, [weather], and [forest management]. + +Jamie Gaehring and Alex Smith are currently working on a [farmOS Client] app, a +single-page JavaScript application that works offline and provides a simplified +UI for creating observations and other logs in the field (which can be synced +back to farmOS when internet is available). This offline app is the basis for +the Android and iOS native apps that will soon be available in app stores! It +will also be available at [https://farmOS.app], and eventually we hope to pull +it into farmOS core as an offline "field mode", or even as the basis for a +streamlined and simplified default UI. + +We are also developing reusable libraries that other systems can use to +communicate with farmOS over HTTP requests, in [JavaScript] and [Python], along +with a [farmOS Aggregator] tool for pushing/pulling data from sets of different +farmOS systems in bulk. These tools open the doors to a new world of +possibilities, leveraging the distributed and farmer-owned nature of farmOS, +and enabling standardized communication and interoperability of data between +different systems. + +## Thanks to YOU! + +Much of this development has been generously supported through partnerships and +collaborations with organizations including [Wolfe's Neck Farm], [Farm Hack], +the [Cornell Soil Health Lab], [UVM Extension], the [Globetrotter Foundation] +and [Paicines Ranch], [NRCS], [VVBGA], [PASA], [USFS], [NFA], [BFA], and +[Our Sci], and more. And that isn't even counting all the individual farmers who +are using it! We wouldn't be here without the contributions and support of +everyone in the [farmOS community]. + +**Thank you!** + +We've got big plans ahead - and a long way to go from here! The last five years +have put us on a solid foundation, and I believe the next five will produce even +greater things. If you are interested in supporting these efforts, there are +lots of ways you can [contribute]. + +Thanks again to everyone who made this possible. + +-Michael Stenta + +[farmOS 1.0 has been released]: https://www.drupal.org/project/farm/releases/7.x-1.0 +[farmOS API]: https://farmos.org/development/api +[farm distribution]: https://github.com/farmOS/farmOS/commit/1219fc52041a067796e2d01150cd5419962c7844 +[log]: https://github.com/mstenta/log/commit/ac3b0eebcd65515fe97833055d215c89d0450c0a +[farm_log]: https://github.com/farmOS/farmOS/commit/10822e262d552a84d9c5e67bc69e7ce5b8ac244c +[go back even farther]: https://github.com/farmOS/farmOS/commit/53ca3e8753d7eca390338c5563de454c1e3e5a66 +[Farm Hack]: http://farmhack.org +[2014 CT NOFA Winter Conference]: https://www.youtube.com/watch?v=raLwz0Y9YV4 +[officially adopted the name]: https://github.com/farmOS/farmOS/commit/60294e8c5108528e228d5cb922cc271c6a4f3a5e +[livestock]: https://github.com/farmOS/farmOS/commit/cf9824be5c5a582a21e76c8d5ecaacc23c7eda06 +[equipment]: https://github.com/farmOS/farmOS/commit/67539de3dc986b54ae8e88def4703f5f501bf68b +[sensor]: https://github.com/farmOS/farmOS/commit/1678ded540e5fb960129d151af4f6f94bbe651a8 +[commits]: https://github.com/farmOS/farmOS/commits +[farmOS repository]: https://github.com/farmOS/farmOS +[drupal.org project page]: https://drupal.org/project/farm +[feature requests]: https://www.drupal.org/project/issues/farm?status=All&categories=3 +[bug reports]: https://www.drupal.org/project/issues/farm?status=All&categories=1 +[conversations]: http://irc.farmos.org +[chat room]: https://riot.im/app/#/room/#farmOS:matrix.org +[monthly calls]: https://farmos.org/community/monthly-call +[GOAT: Gathering for Open Agriculture Technology]: http://goatech.org +[holistic grazing]: https://github.com/farmOS/farm_grazing +[nutrient management]: https://github.com/farmOS/farm_nutrient +[produce safety]: https://github.com/farmOS/farm_produce_safety +[beekeeping]: https://github.com/farmOS/farm_bee +[mushroom]: https://github.com/farmOS/farm_mushroom +[maple]: https://github.com/farmOS/farm_maple +[weather]: https://github.com/farmOS/farm_weather +[forest management]: https://github.com/farmOS/farm_forest +[farmOS Client]: https://github.com/farmOS/farmOS-client +[https://farmOS.app]: https://farmOS.app +[JavaScript]: https://github.com/farmOS/farmOS.js +[Python]: https://github.com/farmOS/farmOS.py +[farmOS Aggregator]: https://github.com/farmOS/farmOS-aggregator +[Wolfe's Neck Farm]: https://www.wolfesneck.org +[Farm Hack]: http://farmhack.org +[Cornell Soil Health Lab]: https://soilhealth.cals.cornell.edu +[UVM Extension]: https://www.uvm.edu/extension +[Globetrotter Foundation]: https://globetrotterfoundation.org +[Paicines Ranch]: https://paicinesranch.com +[NRCS]: https://www.nrcs.usda.gov +[VVBGA]: http://www.uvm.edu/vtvegandberry +[PASA]: https://pasafarming.org +[USFS]: https://www.fs.fed.us +[NFA]: https://www.nfa.org.ug +[Our Sci]: http://our-sci.net +[BFA]: http://bionutrient.org +[Foundation for Food and Agriculture Research]: https://foundationfar.org +[farmOS community]: https://farmOS.org/community/supporters +[contribute]: https://farmOS.org/community/contribute diff --git a/posts/2019/funding-farmOS/index.md b/posts/2019/funding-farmOS/index.md new file mode 100644 index 0000000..ca16fbe --- /dev/null +++ b/posts/2019/funding-farmOS/index.md @@ -0,0 +1,126 @@ +--- +title: Funding farmOS +date: 2019-05-31 +author: Michael Stenta +slug: 2019/funding-farmOS +--- + +# Funding farmOS + +## How to sustain free software + +When I talk to people about [farmOS], or open source software development in +general, I am often asked: "how do you support yourself?" It's a valid question. +**[farmOS is free]** (as in both [beer and speech]). So how do you make money +giving something away? + +![Illustration of farmOS relationships](./relationships2.png) + +## The case for [Free and Open Source Software] + +If a farmer gave away their harvests for free, they would be unable to pay their +expenses, their workers, and themselves. Farming takes *limited* resources +(soil, inputs, labor) and transforms them into a *limited* product (food). +**Software is different**. It still requires limited resources to create (the +hours and attention of a programmer), but once the code is written it can be +copied for free. + +Proprietary software licenses put restrictions on this ability to copy, in order +to turn an *unlimited* product into a *limited* one, so that it can be sold at +a premium. A [free software] license, on the other hand, explicitly allows users +to copy, modify, and redistribute the software without restriction. + +This allows users to extend, modify, and build on top of the code that was +written by others. Instead of being restricted and controlled by a single +company or individual, communities of users and developers can grow around the +project to build and support it. Furthermore, the development process is +cumulative, building on the work that came before +(["standing on the shoulders of giants"]). + +This gives the power back to the users, and everyone benefits from the shared +effort. For these reasons, open source software has become the backbone of +modern computing, and many people use it every day without even realizing it. + +## Sustainability + +It's important to recognize that software *does* take work, both to create it +and to maintain it. And *that* is what requires funding. In order for a project +to sustain itself into the future, it needs to support the core developers that +build and maintain it. It also needs to maintain the community infrastructure +that enables and encourages collaboration. + +Without the ability to "sell" the software, open source developers have come +up with other ways of supporting their efforts. [Nadia Eghbal] has compiled an +[exhaustive list] of all the ways that people get paid for open source work, +with pros and cons of each. It is a major challenge, and what works for one +project may not work for others. Nevertheless, many open source communities and +companies are making it work, and more users are seeing the value in supporting +the projects they use. + +#### farmOS and Farmier + +When I started farmOS, I wanted to make sure that the *project* remained +independent of any *company*. So I created [farmOS] as the open source project, +and [Farmier] for providing services like [hosting], support, and sponsored +feature development. Farmier is not backed by [venture capital]. It is supported +by the farmers and organizations that use farmOS, and I plan to keep it that +way. I value privacy and data ownership myself, and I want that to be a priority +for Farmier, as well. + +## Sponsored development + +The primary means of supporting my time on farmOS thusfar has been through +sponsored development projects. I work directly with farmers, universities, and +other organizations to build features that address a specific need. We approach +this as a standard development contract: we make a plan, estimate the time it +will take, and then build it. When it's done, it can be released to the farmOS +community, and sponsorship credit is given to the funders on [farmOS.org]. + +This model is used successfully in other open source communities, as well. For +example, in the [Drupal] community, developers use open source modules to build +websites for their clients, and often add features or fix bugs in the process. +These changes are then contributed back "upstream" to the module itself, so that +they can be used again in future projects. A great example of this is +[Jacob Rockowitz]'s work on the [Webform] module, which he describes in his blog +post, "[Sponsor a Feature]". + +## Crowdfunding + +Sponsored development is a great way to add new features to farmOS, but building +things is only part of what makes an open source project successful. Just like +other forms of public infrastructure, free software requires ongoing +maintenance. And supporting the community that grows around a project can be a +full time job in itself. + +In an effort to support the ongoing maintenance and community building work, the +farmOS project accepts donations through an [Open Collective page]. This allows +the project to collect one-time and recurring donations on it's own, apart from +Farmier or other centralized organizations. These funds can be managed +transparently, by submitting expenses for community approval, all in public. + +If you think farmOS is a worthwhile effort, consider becoming a backer/sponsor +through Open Collective. Even if it's just $2/mo, if enough people show support, +it can go a long way to supporting the project into the future. + +**For more information, read "[Donate to farmOS]" on farmOS.org.** + +[farmOS]: https://farmOS.org +[farmOS is free]: https://github.com/farmOS/farmOS +[beer and speech]: https://en.wikipedia.org/wiki/Gratis_versus_libre +[Free and Open Source Software]: https://en.wikipedia.org/wiki/Free_and_open-source_software +[free software]: https://en.wikipedia.org/wiki/Free_software +["Standing on the shoulders of giants"]: https://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_giants +[Nadia Eghbal]: https://nadiaeghbal.com +[exhaustive list]: https://github.com/nayafia/lemonade-stand +[Farmier]: https://farmier.com +[hosting]: https://farmier.com/cloud/ +[venture capital]: https://en.wikipedia.org/wiki/Venture_capital +[farmOS.org]: https://farmOS.org +[Drupal]: https://drupal.org +[Jacob Rockowitz]: https://www.jrockowitz.com +[Webform]: https://drupal.org/project/webform +[Sponsor a Feature]: https://www.jrockowitz.com/blog/sponsor-a-feature +[Open Collective page]: https://opencollective.com/farmOS +[Open Source Collective]: https://opencollective.com/opensourcecollective +[Open Collective]: https://opencollective.com/ +[Donate to farmOS]: https://farmos.org/donate/ diff --git a/posts/2019/funding-farmOS/relationships2.png b/posts/2019/funding-farmOS/relationships2.png new file mode 100644 index 0000000000000000000000000000000000000000..8631e95bf2c35ff04b276bdfdaa9fbbb68cf4526 GIT binary patch literal 14763 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 oxv|NGR`*op0{?%6oZkf4bwG2BS+=|IuLM9x