1 điểm bởi GN⁺ 2023-08-15 | 1 bình luận | Chia sẻ qua WhatsApp
  • OpenFarm là một cơ sở dữ liệu mở miễn phí và ứng dụng web nơi bất kỳ ai cũng có thể chia sẻ kiến thức nông nghiệp và làm vườn, hướng tới mô hình tra cứu và sử dụng thông tin trồng cây như công thức
  • Máy chủ đã ngừng hoạt động vào tháng 4/2025; lý do trực tiếp là codebase không còn được bảo trì và các bản cập nhật bảo mật cho hạ tầng máy chủ dự kiến chấm dứt vào tháng 5/2025
  • Nội dung cốt lõi là Growing Guides, chứa thông tin có cấu trúc cần thiết cho việc trồng trọt như khoảng cách gieo hạt, độ sâu trồng, tưới nước, thành phần đất, cây trồng đồng hành, điều kiện nắng/bóng râm
  • Nhà phát triển có thể thiết lập môi trường cục bộ bằng cách cài đặt đơn giản dựa trên Vagrant·VirtualBox hoặc cài trực tiếp Ruby, Rails, ElasticSearch v6.5.0, MongoDB
  • Phần mềm được phát hành theo MIT License, còn cơ sở dữ liệu theo Public Domain(CC0), nhưng dịch vụ đã ngừng vô thời hạn và chỉ còn kho lưu trữ GitHub được giữ lại dưới dạng kho lưu trữ công khai

Máy chủ ngừng hoạt động vào tháng 4/2025

  • Máy chủ OpenFarm đã ngừng hoạt động vào tháng 4/2025 sau khi được vận hành hơn 10 năm một chút
  • Có hai lý do chính cho việc đóng cửa
    • codebase không còn được bảo trì
    • hạ tầng máy chủ dự kiến sẽ không còn nhận được các bản cập nhật bảo mật từ tháng 5/2025
  • Xét thêm việc lượng sử dụng trang web đã giảm trong vài năm gần đây, dự án quyết định ngừng máy chủ vô thời hạn và chuyển kho lưu trữ GitHub thành kho lưu trữ công khai
  • OpenFarm không đạt được lượng sử dụng đủ lớn để trở thành “Wikipedia cho việc trồng cây”, nhưng trong hơn 10 năm vẫn mang lại giá trị cho người dùng API và khách truy cập web

Mục tiêu và mô hình nội dung của OpenFarm

  • OpenFarm là một cơ sở dữ liệu mở miễn phí và ứng dụng web dành cho kiến thức nông nghiệp và làm vườn
  • Mục tiêu gần với một Wikipedia cho việc trồng cây, nhưng cách sử dụng thực tế lại giống một trang công thức nấu ăn hơn
  • Nội dung chính là Growing Guides
    • tài liệu đơn tác giả có tính sáng tạo và được crowdsourcing
    • bao gồm thông tin có cấu trúc cần thiết để trồng cây
    • đề cập đến khoảng cách gieo hạt, độ sâu trồng, tưới nước, thành phần đất được khuyến nghị, cây trồng đồng hành, điều kiện nắng/bóng râm, v.v.
  • Người làm vườn có thể tìm câu trả lời cho những câu hỏi như “Trồng cà chua như thế nào?”

Cộng đồng đóng góp và các kênh tham gia

  • Người tham gia được hướng dẫn vào Slack room để thảo luận với các cộng tác viên nòng cốt của OpenFarm
  • Các câu hỏi liên quan đến đóng góp có thể xem trong FAQ, nơi liệt kê Angular, issue tracker, IRC channel, v.v.
  • Các hạng mục cần làm được quản lý dưới dạng danh sách ưu tiên tại OpenFarm Projects
  • Việc đóng góp mã nguồn được chia theo GitHub Projects cho cả frontend và backend
  • Việc dịch website có thể tham gia qua Transifex

Nguyên tắc đóng góp mang tính bao trùm

  • OpenFarm chào đón sự tham gia của cả thành viên kỹ thuật lẫn phi kỹ thuật, từ người mới làm vườn đến chuyên gia
  • Để duy trì sự đa dạng cùng một không gian an toàn và hòa nhập, cộng đồng đã áp dụng Code of Conduct
  • Cách tiếp cận giải quyết vấn đề hướng tới ba điểm sau
    • dành thời gian cho tài liệu, câu hỏi và câu trả lời để lưu lại minh bạch lý do của các hành động
    • ưu tiên hoàn thành hơn là hoàn hảo, và chia nhỏ công việc để bất kỳ ai cũng có thể đóng góp trong thời gian ngắn
    • tìm con đường rõ ràng và ngắn gọn nhất để cải thiện khả năng sử dụng và triển khai tính năng

Thiết lập môi trường phát triển

  • Cách cài đặt dễ nhất khuyến nghị dùng VagrantVirtualBox
  • Sau khi thiết lập Vagrant, có thể chạy máy chủ Rails bằng vagrant ssh, cd /vagrant, rails s
  • Trên môi trường cục bộ có thể truy cập qua http://localhost:3000, và nếu thiết lập đúng thì có thể dùng cơ sở dữ liệu seed cùng tài khoản mặc định admin@admin.com / admin123
  • Cách cài đặt trực tiếp yêu cầu Ruby, Rails, ElasticSearch v6.5.0, MongoDB
  • Quy trình chạy trực tiếp gồm clone kho lưu trữ, bundle install, rake db:setup, tạo file biến môi trường, rồi chạy rails s
  • Một số người dùng Linux gặp vấn đề khi cài ElasticSearch, và một cách обход đã được đề xuất là chạy elasticsearch:6.5.0mongo bằng Docker
  • Nếu gặp vấn đề khi cài bundle hoặc chạy ứng dụng, được hướng dẫn tham khảo Common Issues Page

Quy tắc cho cộng tác viên nòng cốt và giấy phép

  • Người đóng góp tạo hai PR có thể được thêm làm core contributor
  • Quy tắc dành cho các cộng tác viên nòng cốt về đóng góp mã nguồn như sau
    • cấm push --force hoặc thay đổi lịch sử Git
    • với công việc đang thực hiện, dùng branch thay vì master
    • các thay đổi API bên ngoài và các sửa đổi quan trọng cần yêu cầu phản hồi thông qua pull request nội bộ
    • ngoài các thay đổi không quan trọng, các đóng góp đều được khuyến nghị thực hiện qua pull request nội bộ
    • cố gắng tuân theo code style hiện có
  • Danh sách người đóng góp mã nguồn thực tế trên GitHub có thể xem tại GitHub contributors
  • Ngoài GitHub, cũng có những người đóng góp bằng hỗ trợ tài chính, viết nội dung làm vườn cho website, hoặc tăng mức độ hiện diện của OpenFarm
  • Phần mềm được phát hành theo MIT License
  • Mọi dữ liệu trong cơ sở dữ liệu OpenFarm.cc được cung cấp theo Public Domain(CC0)

1 bình luận

 
GN⁺ 2023-08-15
Các ý kiến trên Hacker News
  • Tôi ngạc nhiên khi thấy nó lên trang nhất HN. Khi còn ở FarmBot, tôi từng là một trong những người bảo trì chính của OpenFarm, và như vài người đã nói, đáng tiếc là dự án này không còn được bảo trì tích cực nữa
    Tuy nhiên, nó vẫn đang được dùng trong FarmBot để quản lý thông tin cây trồng, nên tôi không xem đây là một dự án đã chết
    Điều cần nhất hiện nay, hơn hết thảy, là nâng cấp các dependency. Nó đang chạy trên Rails/Mongoid/Angular 1.x cũ. Ai muốn hồi sinh dự án này thì nên liên hệ với người bảo trì hiện tại; còn tôi thì không còn tham gia nữa

    • Angular 1 cơ à!
      https://github.com/openfarmcc/OpenFarm/blob/mainline/app/ass...
      $scope.$watch() đúng là gợi kỷ niệm. Có lẽ Vue sẽ là lựa chọn tốt
    • Tôi và công ty của tôi đã đề nghị đảm nhận vai trò bảo trì. Đây là lĩnh vực mà chúng tôi thật sự rất quan tâm
    • Có khả năng nhận được một bản sao cơ sở dữ liệu cây trồng/thực vật không? Tôi đang làm một ứng dụng nhỏ để dùng ở nhà, nhưng rất khó tìm dữ liệu có tổ chức hoặc API
  • Tôi đã thử gửi email đến địa chỉ liên hệ và nhận được phản hồi như sau
    “Xin chào, OpenFarm đã không được bảo trì hay phát triển trong vài năm qua, và nhóm Slack cũng không còn hoạt động. Nếu bạn quan tâm đến vai trò người bảo trì dự án OpenFarm, vui lòng liên hệ thông qua kho lưu trữ GitHub của OpenFarm. Xin cũng lưu ý rằng địa chỉ email này không còn được kiểm tra thường xuyên. Đây là phản hồi vắng mặt tự động. Cảm ơn bạn đã thông cảm.”

    • Nhìn địa chỉ @farmbot.io trong README trên GitHub thì có khả năng ít nhất ban đầu nhân viên FarmBot đã bảo trì nó. Có thể hiện giờ vẫn vậy, và dường như vẫn có người giữ cho dự án không tắt hẳn, chẳng hạn bằng cách merge các PR của Dependabot
      Đây là một tài nguyên có giá trị, nên hy vọng nhờ được HN chú ý mà sẽ có ai đó đứng ra bảo trì
    • Thật sự đáng tiếc
      Có vẻ toàn bộ thông tin đều có trong kho lưu trữ https://github.com/openfarmcc/OpenFarm, mà nói thật thì thứ này không nhất thiết phải là một website. Có lẽ đưa một tập hợp các file Markdown liên kết chéo lên GitHub sẽ dễ bảo trì và mở rộng hơn nhiều. Nếu muốn trông chỉn chu hơn thì dùng Jekyll là được
      Đây là một dự án gọn gàng, phù hợp để sinh viên hoặc các nhóm tương tự làm trong một hackathon cuối tuần
  • Tôi từng tham gia một dự án tương tự, và điều dễ bị bỏ qua là đặc biệt với nông trại quy mô nhỏ, rất nhiều thứ gắn chặt với địa điểm và giống cây cụ thể
    Ngày cắt tỉa có thể lệch hơn một tháng chỉ khi di chuyển vài trăm km; điều kiện đất cũng vậy, thậm chí sang ngay trang trại bên cạnh cũng có thể khác. Tôi không chắc việc thu thập và phân phối loại thông tin này một cách có hệ thống có thể làm được mà không trở nên cực kỳ phức tạp hay không

    • Có thể chứ. Vì vậy mới có những thứ như bách khoa toàn thư về thực vật hay thông tin thực vật học
      Thực vật học là khoa học, và thông tin đã có sẵn. Cứ đến thư viện địa phương mà xem
      Điều tôi không thích là thái độ của mấy tech bro San Francisco muốn dùng công nghệ cao để giải lại những vấn đề vốn đã được giải quyết. Tôi từng thấy đồng nghiệp lắp FarmBot, trong khi cùng việc đó một người có thể làm trong vài giờ chỉ với một cái bay trồng cây. Trên thực tế, quản lý tòa nhà mỗi ngày vẫn cầm vòi ra tưới cây một lần
  • Mẹ tôi có lẽ có thể đóng góp rất nhiều cho dự án này, nhưng việc cần thiết lập Vagrant và git là rào cản gia nhập quá cao đối với những người bình thường như mẹ tôi
    Thật đáng tiếc. Trong làm vườn, việc chia sẻ kiến thức rất hợp lý, và có lẽ thậm chí còn là một phần cách nền văn minh của chúng ta hình thành

  • Đây là một dự án phần nào tương tự trong mảng chăm sóc động vật ở khu bảo tồn, và khá kỹ lưỡng
    https://opensanctuary.org/

  • Ý tưởng thì hay, nhưng kiến thức cần thiết để trồng cây thành công không dễ cô đọng thành dạng “hướng dẫn cách làm” đơn giản
    Có các biến số như bạn có định làm hữu cơ không, đã kiểm tra đất chưa, khu vực có những loại sâu hại nào, mảnh vườn nhận được bao nhiêu giờ nắng mỗi ngày
    Cuối cùng thì có nhiều kỹ thuật chung, nhưng cũng cần rất nhiều kiến thức địa phương

  • Trang này cần thêm bộ chặn spam. Phần lớn hướng dẫn hoặc bài đăng đều trống hoặc là rác

  • Có lẽ dự án này có thể do Wikimedia Foundation đảm nhận. Sẽ tốt nếu họ cung cấp một web UI để cộng tác viên dễ thêm giống cây và kiến thức, rồi lưu dữ liệu đó vào đồ thị tri thức Wikidata

    • Xin đừng. Tôi không muốn các dự án cộng đồng càng bị xa lánh hơn bởi những người theo chủ nghĩa xóa bài nhàm chán, những kẻ thuộc làu làu danh sách chính sách wiki đầy các từ viết tắt mù mờ
  • Website phía tôi đang sập. Có phải bị quá tải vì lưu lượng HN không?

  • https://agritech.tnau.ac.in
    Trang này bao quát nhiều thông tin hơn. Không mới nhất, nhưng vẫn còn liên quan