尼加拉瓜使用开源软件构建创新农业信息系统

作者:Johannes Wilm

尼加拉瓜的一项实验表明,开源软件在创造公平竞争环境方面具有多么强大的力量。这个美洲第二贫穷的国家现在拥有西半球最好的农业数据展示软件解决方案之一。

这一切都始于大约一年前。当时我在尼加拉瓜做人类学研究,有人邀请我在首都马那瓜举行的年度 Debian Day 上发表演讲。我讲了 Latex,这实际上与农业无关,但在那之后,Debian 尼加拉瓜的 Denis Cáceres 找到了我。他刚刚开始与尼加拉瓜的一个非政府组织 SIMAS(中美洲可持续农业信息服务中心,www.simas.org.ni)合作,他和其他人正在启动一个项目,为农业部的区域办公室开发信息系统,该项目得到了西班牙和瑞典合作机构的支持。

Johannes Wilm

Johannes Wilm

农业是尼加拉瓜经济的基础,因此有效地管理和向人民传递信息是发展的重要组成部分,也是减贫斗争的关键。SIMAS 是一个由年轻的尼加拉瓜理想主义者组成的非政府组织,长期以来一直试图在尼加拉瓜的各个领域推广开源解决方案,但迄今为止都徒劳无功。“多年来,农业部的每个其他项目都有一个名为‘信息系统’的组成部分”,SIMAS 的 Falguni Guharay 解释说,“然而,这从未真正实现,因为很难找到任何一种可以轻松扩展以处理农业部处理的各种信息来源和数据的系统。”

了解到迄今为止没有人成功提供基于 Web 的动态信息系统来处理来自不同来源的各种数据和信息,我们必须找到一种策略,以免我们也最终失败。我们还需要使系统足够通用,以便将来可以扩展到其他类型的数据。基本思路是将 Wiki 用于文本数据,并将基于 Javascript 的部分与统计数据结合起来展示。当然,所有这些都将放在互联网上以允许公众访问。许可方面,我们将全部采用开源。该系统的名称被选定为 ALBAstryde,以贸易协定 ALBA 和 Stafford Beer 于 1971-73 年在智利创建的 Cyberstryde 软件命名,后者的目标与前者类似,即实现生产信息流的民主化。

ALBAstryde: combining data from different sources in interactive graph including a comment function

ALBAstryde:将来自不同来源的数据在交互式图形中结合,包括评论功能

Cáceres 解释了为什么必须是开源的:“你看,这个系统应该会成长。它可能会在几年内覆盖整个农业部门。为了确保源代码可以自由流动,并且任何人永远不会依赖任何一家公司或组织,从而挟持整个国家,这是前进的唯一途径。”

ALBAstryde 取代专有软件及其推广者

到目前为止,各种 Microsoft 产品(如 Excel 和 Access)已被用于管理大多数数据。使信息交换基于 Web 的尝试迄今为止都失败了:我们被告知,只需几个用户同时从该国不同地区连接,服务器就会瘫痪。例如,农业部工作人员每天或每周从该国大多数主要市场、首都和乡村收集约 59 种产品的价格。然后他们将这些价格输入 Excel,并通过电子邮件或传真发送到农业部马那瓜办公室。在马那瓜,这些数字然后被打印出来,并由负责价格的人员(使用他的个人电脑,容量有限)重新输入到 Access 程序中。现在想象一下,例如,部长或农业部的其他人想知道在某些日期之间某个城市的豆类价格发生了什么变化。他向负责人发送电子邮件或打电话给他。负责人然后检查他的电脑,在 Access 中进行咨询,得出所需的表格,并亲自向对数据感兴趣的一方发回电子邮件。种子或收成数字等数据也以类似的方式进行管理,步骤繁多,数据重新输入,使得访问信息几乎成为一种特权而不是一项权利,更不用说流程的低效性或丢失存储在少数本地计算机中的数据的危险了。

ALBAstryde 将解决这些问题。起初我考虑用 Ruby on Rails 设计系统,但在咨询了 Linux Journal 的前出版商 Phil Hughes 后,他现在住在尼加拉瓜北部,我决定使用 Django。

虽然目前该系统仅承载少量数据类型,但添加更多来源的基本结构已经存在。虽然 Django 的管理层次结构允许不同类型的数据仍然由农业部的不同部门管理,但查找数据的用户不必关心这一点。因此,例如,可以轻松创建一个图表,显示莱昂县的降雨量、豆类价格、豆类总产量和豆类种子供应量,并检查是否存在任何相互关系,即使这些数据由农业部完全不同的部门维护。数值数据可以轻松地与文本数据(通过在图表上放置注释)、wiki 组件中的撰写内容和 PDF 文档(在库部分中添加)相结合。鉴于输入过程如此顺畅,并且无需重新输入任何内容,这为农业部的农艺师留出了时间来添加分析性评论和仔细检查数据条目。

ccombining-texts-pictures-and-interactive-graphs-in-a-wiki.png

在 Wiki 中结合文本、图片和交互式图形

给予甚至超出我们要求的

我们与农业部和 SIMAS 之间签署的合同实际上只题为“关于创建信息系统的研究”,并且明确规定这只是两个县的试点项目。最初的想法可能是创建另一个基于 Microsoft 的系统,因此我们将花费时间来了解操作计算机和工作人员的需求,并粗略设计这样一个系统的外观。既然我们已经签订了合同,我们将继续进行,不仅要设计,还要编程系统。鉴于许多数据存在于国家而非地方层面,我们决定继续前进,并编程一些适用于整个国家的东西——当然,没有要求更多资金。

虽然我们在 SIMAS 对该系统感到非常兴奋,但我们仍然需要说服农业部。鉴于这是美洲第二贫穷的国家,他们遇到的许多技术问题是由于多年来对其基础设施的忽视造成的。幸运的是,我们正在与一群刚刚接管农业部的积极分子打交道,他们正在努力弄清楚如何彻底改变它。他们被证明比人们预期的任何发达国家的政府机构都更加灵活。合同不必正式更改:我们只是开始着手创建国家信息系统——我们总共三个人:Guharay 和 Cáceres 负责寻找数据并在各个机构之间展示数据,而我作为程序员。

Denis Cáceres

Debian 尼加拉瓜的 Denis Cáceres

然而,Cáceres 指出,“达到这一点不仅仅是我们少数人的目标。不,这对这里整个自由软件运动来说意义重大。我们需要将此视为更广泛的计划的一部分,即向公共部门伸出援手,并为其提供符合这些机构当前需求的软件,这些机构在很大程度上对开源技术关上了大门,主要是由于偏见和对开源技术的了解不足。” Guharay 表示:“在此之后,人们对自由软件的兴趣确实激增,但很多时候只是缺乏相关的技术知识。”

第三世界计算

正如第三世界国家经常发生的那样,一些外国专家来这里建造了一些东西,然后离开回到欧洲或美国,而没有在当地留下任何人掌握操作或扩展所建内容的知识,用于记录降雨量的系统(由一位法国程序员在 1980 年代开发)就是这种情况。为了确保这种情况不再发生,SIMAS 找到了额外的资金来雇用另外三名尼加拉瓜 Linux 爱好者——Carlos Rocha、Byron Corrales 和 Adolfo Fitoria——这三个人都很容易在马那瓜的 Linux 聚会上找到,通过对该系统进行为期八个月的编程,他们能够充分研究源代码,以至于他们可以自己扩展它。

Guharay 提出了重要的一点:“但这不仅是系统本身,也是新政府对待谁应该有权访问其收集的数据的方式有所不同,例如价格。以前,他们必须来到马那瓜,或从有影响力的来源打电话,然后有人会坐在电脑前为那个人生成数据,而其他人则无法访问数据。自今年年初以来,我们在 SIMAS 与农业部合作,以试点的形式向两家广播电台发送马那瓜的农产品价格。然后这些电台将价格广播给农民和合作社,从而使他们(通常是第一次)获得了首都市场的价格信息,并在谈判桌上获得了优势。到目前为止,他们根本不知道他们产品的价值,当大型分销商在市场上出售它们时。”已经有其他 16 家广播电台有兴趣分发马那瓜的价格,目前所有这些仍然通过电子邮件完成。一旦 ALBAstryde 在本月晚些时候接管,广播电台将能够自行查询,不仅是马那瓜的价格,还有他们认为对该地区生产者重要的任何市场的价格。

Rocha Fitoria Corrales Guharay

从左到右:Rocha、Fitoria、Corrales 和 Guharay

从这里向前迈进

Cáceres 认为,“下一步是让该系统完全被农业部的所有部门采用,这不仅仅是编程和转换数据。在许多主管中,仍然存在这种‘我的数据库,我的数据,我的密码’的想法,这很难改变。但是一旦完成,我们将扩展系统以包括农村和农业部门的其他公共机构,首先之后我们将尝试向民间社会开放它,例如内容交付方面的合作社和协会。”

Rocha 期待着那一部分,“随着互联网甚至在该国较贫困的农村地区越来越普及,将农业部提供的官方数据与公民提供的有关他们自己生产的数据相结合的社交网络变得越来越可行,但这只有在政府选择继续发展其开源专业知识,而不是让那些唯利是图的专有软件公司向他们出售一系列小型且不兼容的产品的情况下才有可能。”

在查看了该产品并看到在开源软件上运行系统有多方便之后,信息部门负责人向 SIMAS 团队坦言:“你们知道我们从一开始并没有真正支持你们,因为我们不信任自由软件,但现在这种情况必须改变。农业部和 SIMAS 需要合作,也许很快我们将迁移到 Linux 系统,因为我们看到这个系统确实有效。”

包含真实数据的系统可以在 http://magfor.simas.org.nihttp://albastryde.marx.su 上查看

ALBAstryde 本身是开源的,根据 GPL v.3 发布,其源代码可以从 http://albastryde.googlecode.com 下载

加载 Disqus 评论