1 pontos por GN⁺ 2023-08-15 | 1 comentários | Compartilhar no WhatsApp
  • OpenFarm era um banco de dados aberto e gratuito e uma aplicação web para compartilhar conhecimento sobre agricultura e horticultura, com a proposta de permitir encontrar e usar informações sobre cultivo de plantas como se fossem receitas
  • Os servidores foram encerrados em abril de 2025, e os motivos diretos foram a interrupção da manutenção da base de código e o fim previsto das atualizações de segurança da infraestrutura de servidores em maio de 2025
  • O conteúdo central, os Growing Guides, reunia informações estruturadas necessárias para o cultivo, como espaçamento entre sementes, profundidade de plantio, rega, composição do solo, plantas companheiras e condições de sol/sombra
  • Desenvolvedores podiam configurar o ambiente local com instalação simplificada baseada em Vagrant e VirtualBox, ou instalar diretamente Ruby, Rails, ElasticSearch v6.5.0 e MongoDB
  • O software foi publicado sob a MIT License e o banco de dados em Public Domain(CC0), mas o serviço foi encerrado por tempo indeterminado e apenas o repositório no GitHub permaneceu como arquivo público

Encerramento dos servidores em abril de 2025

  • Os servidores do OpenFarm foram encerrados em abril de 2025 após pouco mais de 10 anos de operação
  • Houve dois motivos principais para o encerramento
    • a base de código não recebia mais manutenção
    • a infraestrutura dos servidores deixaria de receber atualizações de segurança a partir de maio de 2025
  • Considerando também a queda no uso do site nos últimos anos, decidiu-se encerrar os servidores por tempo indeterminado e transformar o repositório no GitHub em um arquivo público
  • O OpenFarm não conseguiu atingir uso suficiente para se tornar uma “Wikipedia para cultivo de plantas”, mas ainda assim ofereceu valor a usuários da API e visitantes da web por mais de 10 anos

Objetivo do OpenFarm e modelo de conteúdo

  • OpenFarm era um banco de dados aberto e gratuito e uma aplicação web voltados ao conhecimento sobre agricultura e horticultura
  • O objetivo era se aproximar de uma Wikipedia para cultivo de plantas, mas na prática o modo de uso se parecia mais com um site de receitas culinárias
  • O conteúdo principal eram os Growing Guides
    • documentos criativos e colaborativos com autoria individual
    • incluíam informações estruturadas necessárias para cultivar plantas
    • abordavam espaçamento entre sementes, profundidade de plantio, rega, composição de solo recomendada, plantas companheiras e condições de sol/sombra
  • Jardineiros podiam encontrar respostas para perguntas como “como cultivar tomates?”

Comunidade de colaboradores e caminhos de participação

  • Participantes eram orientados a entrar na Slack room para discutir com os principais colaboradores do OpenFarm
  • Perguntas sobre contribuição podiam consultar o FAQ, onde havia informações sobre Angular, rastreador de issues e canal de IRC
  • Itens que precisavam de trabalho eram gerenciados como lista de prioridades em OpenFarm Projects
  • As contribuições de código eram divididas entre front-end e back-end com base no GitHub Projects
  • Era possível participar da tradução do site por meio do Transifex

Princípios de contribuição inclusiva

  • O OpenFarm acolhia a participação de membros técnicos e não técnicos, iniciantes em horticultura e especialistas
  • A comunidade adotou um Code of Conduct para promover diversidade e um espaço seguro e inclusivo
  • A forma de resolver problemas seguia três princípios
    • dedicar tempo à documentação, perguntas e respostas para deixar transparentes os motivos das ações
    • preferir concluir em vez de buscar perfeição, dividindo o trabalho em partes pequenas para que qualquer pessoa pudesse contribuir mesmo com pouco tempo
    • encontrar o caminho mais claro e curto para melhorar a usabilidade e implementar funcionalidades

Configuração do ambiente de desenvolvimento

  • O método de instalação mais fácil recomendava usar Vagrant e VirtualBox
  • Depois de configurar o Vagrant, era possível iniciar o servidor Rails com vagrant ssh, cd /vagrant e rails s
  • Localmente, o acesso podia ser feito em http://localhost:3000, e, com a configuração correta, era possível usar o banco de dados seed e a conta padrão admin@admin.com / admin123
  • O método de instalação direta exigia Ruby, Rails, ElasticSearch v6.5.0 e MongoDB
  • O procedimento de execução direta incluía clonar o repositório, rodar bundle install, rake db:setup, criar o arquivo de variáveis de ambiente e executar rails s
  • Alguns usuários de Linux enfrentavam problemas para instalar o ElasticSearch, e foi sugerido um caminho alternativo com Docker executando elasticsearch:6.5.0 e mongo
  • Problemas com instalação de bundles ou execução eram direcionados para a Common Issues Page

Regras para principais colaboradores e licença

  • Colaboradores que criassem dois PRs podiam ser adicionados como core contributor
  • As regras para principais contribuidores de código eram as seguintes
    • proibição de push com --force ou alteração do histórico do Git
    • uso de branches, e não da master, para trabalhos em andamento
    • mudanças em APIs externas e correções importantes deviam pedir feedback por meio de pull requests internos
    • mesmo outras contribuições, exceto mudanças sem importância, eram recomendadas via pull request interno
    • esforço para seguir o estilo de código existente
  • Os contribuidores reais de código no GitHub podiam ser vistos em GitHub contributors
  • Também houve pessoas que contribuíram fora do GitHub, com apoio financeiro, produção de conteúdo de horticultura para o site e aumento da visibilidade do OpenFarm
  • O software foi distribuído sob a MIT License
  • Todos os dados do banco de dados do OpenFarm.cc foram disponibilizados em Public Domain(CC0)

1 comentários

 
GN⁺ 2023-08-15
Comentários no Hacker News
  • Fiquei surpreso ao ver isso na primeira página do HN. Quando eu estava na FarmBot, era um dos principais mantenedores do OpenFarm e, como alguns já disseram, infelizmente este projeto não está sendo mantido ativamente
    Ainda assim, ele ainda é usado dentro da FarmBot para gerenciar informações de culturas, então não o considero um projeto morto
    O que ele mais precisa agora é, acima de tudo, atualização de dependências. Ele roda em cima de Rails/Mongoid/Angular 1.x antigos. Quem quiser reviver este projeto deveria definitivamente entrar em contato com os mantenedores atuais; eu não estou mais envolvido

    • Angular 1, sério!
      https://github.com/openfarmcc/OpenFarm/blob/mainline/app/ass...
      $scope.$watch(), que nostalgia. Provavelmente Vue seria uma boa opção
    • Eu e minha empresa nos oferecemos para assumir o papel de mantenedores. Essa é uma área pela qual temos interesse com bastante entusiasmo
    • Haveria alguma possibilidade de obter uma cópia do banco de dados de culturas/plantas? Estou fazendo um app pequeno para usar em casa, e foi difícil encontrar dados organizados ou uma API
  • Mandei um e-mail para o contato e recebi esta resposta
    “Olá, o OpenFarm não é mantido nem trabalhado há vários anos, e o grupo do Slack também não está mais ativo. Se você tiver interesse em atuar como mantenedor do projeto OpenFarm, entre em contato por meio do repositório do OpenFarm no GitHub. Observe também que este endereço de e-mail não é mais verificado regularmente. Esta resposta é uma mensagem automática de ausência. Obrigado pela compreensão.”

    • Pelo endereço @farmbot.io no README do GitHub, parece provável que, pelo menos no início, funcionários da FarmBot fizessem a manutenção. Talvez ainda façam; parece haver alguém mantendo o mínimo para a coisa não apagar de vez, como mesclar PRs do Dependabot
      É um recurso valioso, então seria ótimo se a exposição no HN fizesse alguém aparecer para mantê-lo
    • Que pena mesmo
      O repositório https://github.com/openfarmcc/OpenFarm parece conter todas as informações, mas, sinceramente, isso não precisa necessariamente ser um site. Um conjunto de arquivos Markdown interligados no GitHub provavelmente seria muito mais fácil de manter e expandir. Se quiser deixar algo mais apresentável, dá para usar Jekyll
      É um projeto bem limpo para estudantes ou grupos parecidos fazerem em um hackathon de fim de semana
  • Já participei de um projeto semelhante, e um ponto facilmente ignorado é que, especialmente em pequenas fazendas, muitas coisas são extremamente específicas à localização e à variedade da planta
    Datas de poda podem mudar em mais de um mês com uma mudança de apenas algumas centenas de quilômetros; as condições do solo também, e podem até variar indo apenas para a fazenda ao lado. Não sei bem se é possível coletar e distribuir esse tipo de informação de forma sistemática sem tornar tudo extremamente complexo

    • É possível. É por isso que existem coisas como enciclopédias de plantas e informações botânicas
      Botânica é uma ciência, e a informação já existe. Basta ir à biblioteca local e dar uma olhada
      O que me incomoda é a atitude dos tech bros de São Francisco tentando resolver com alta tecnologia um problema que já foi resolvido. Vi colegas instalando o FarmBot, quando uma pessoa poderia ter feito a mesma coisa em algumas horas com uma pazinha de jardinagem. Na prática, o administrador do prédio aparecia uma vez por dia com uma mangueira para regar as plantas
  • Minha mãe poderia contribuir muito com isso, mas a necessidade de configurar Vagrant e git é uma barreira de entrada alta demais para pessoas comuns como ela
    É uma pena. Compartilhar conhecimento em jardinagem faz muito sentido, e talvez até tenha sido parte de como nossa civilização surgiu

  • Um projeto mais ou menos parecido na área de cuidado de animais em santuários, e bastante cuidadoso
    https://opensanctuary.org/

  • A ideia é ótima, mas o conhecimento necessário para cultivar com sucesso não se comprime bem em um simples formato de “guia de como fazer”
    Há variáveis como se a ideia é fazer cultivo orgânico, se foi feita análise do solo, quais pragas existem na região, quantas horas de sol o canteiro recebe por dia
    No fim, há muitas técnicas comuns, mas também muito conhecimento local necessário

  • O site precisa colocar algum bloqueador de spam. A maioria dos guias ou posts está vazia ou é lixo

  • Talvez este projeto pudesse ser assumido pela Wikimedia Foundation. Seria bom oferecer uma UI web para que contribuidores adicionem variedades e conhecimento, armazenando esses dados no grafo de conhecimento do Wikidata

    • Por favor, espero que não. Não quero que um projeto comunitário fique ainda mais afastado por causa de deletionists tediosos que decoram listas de políticas wiki obscuras cheias de siglas
  • O site está fora do ar para mim. Será que ficou sobrecarregado por causa do tráfego do HN?

  • https://agritech.tnau.ac.in
    Cobre muito mais informações. Não é atualizado, mas ainda é relevante