这里是本站的开放图书项目总目录。
这里是“开放”的:所有内容是开放版权、每个人都可以阅读、评论和编辑现有的开放图书(编辑需要注册)。您可以帮助我们改进现有页面、参加翻译和编写;如果您有合适的开放版权的内容,欢迎在相关项目下直接发布或创建新的项目。有问题请在论坛留言。
以下是各个项目的简介。您也可以访问没有说明的开放图书项目/上一级目录。
杂谈,文学,其他
提醒读者:这里的许多页面是编辑中的工作页面,请注意页面上的提示并自己甄别。
提醒作者:请尽量在页首注明工作状态和版权方法。
这是Tony在祈愿行发起的项目。欢迎加入讨论。
http://www.zh.pledgebank.com/gnubook
以下是发起人的话:
“如今在世界上很多的国家和地区,包括许多的发展中国家,人们开始意识到开源软件的积极意义,并非常热情的拥抱开源软件,参与开源软件的开发与社区建设。南美的巴西就是其中最为出名的一个例子。但是,在中国大陆,这个拥有世界上最多人口的国度,我们在开源领域的贡献则是一直处于一种令我们自己也觉得汗颜的境地。当然,这一现象与多方面的因子有关。程序员的积极性固然起关键作用,但是社会普罗大众的认识和觉悟也往往能起到积极的推动作用。我希望写一本书,用最简单的语言讲述开源软件的故事,以及当今开源开发的理念在社会经济其他领域的推广。我们搞开发的人一向给人的印象是只会写代码(当然我们确实非常需要好的代码),但是却一直缺乏一种与用户的沟通,我希望能有这么一本书来弥补这样的缺陷。
这样的任务也许比较艰巨,但是我相信,只要我们下定决心去做,路总是会有的。”
注册用户请在相应的类别下添加文章(使用相应开放图书页面下的“添加子页面”)。
如果有不便归类的内容,可以加在这个路径下。本站的编辑会作进一步组织。
一切幸福的境界,一切满足的情感,就其性质而言,均属消极,换句话说,也就是脱离了痛苦而成的,痛苦则是人生的积极原素。 —— 叔本华。
回首过去,将今天的社会与历史上曾经存在过的那些奴隶社会,封建社会相比较,人们普遍会有一种幸福感与进步感。人们总是很主观地认为,生活在现代与生活在过去相比较,现代的确更能令人产生幸福感与进步感。换而言之,也就是说活在现代的人比活在过去的人更幸福。
但事实的确是如此的简单吗?
在此,我们首先探讨一下,幸福感究竟是什么。
幸福感是主观的,是一种主观的臆想物,它是一种由对比而产生出来的感觉。幸福感与不幸感是两种相对立而又相互依存的东西,不存在仅仅只有一方的可能性。
众所周知,在一个社会上,若人们普遍拥有幸福感,那么这个社会自然就会比较稳定。
那么,幸福感到底是怎样来的?
人类所处的,所赖以生存的环境永远不是完美的,为了适应这种不完美的环境,人类创造了一种叫做“忍耐”的东西。可以说,人类的所谓幸福感,其实就是忍耐度高于社会与人自身的状况。
为什么奴隶社会时,奴隶会心甘情愿被奴隶主赤裸裸地奴役而不反抗?
因为,在当时,他们只有当奴隶,才不致于饿死,也就是说,当一个奴隶成为了他们唯一的生存方法。因为是唯一的生存方法,所以他们只能心甘情愿地被奴役主奴役,只能忍耐残酷的现实,认同残酷的现实,接受残酷的现实,而不会想方设法去反抗,也不会认为自己是不幸的。有许多时候,他们甚至会觉得自己很幸运,因为他们毕竟能生存下来了。在那个生产力极度落后,生存物质极度贫乏的年代,作为一个处于社会最底层的人,生存是最高的,也是唯一的追求。
那么,为何奴隶社会最后会走向灭亡?为何一个新的社会——封建社会能走上历史的舞台?其直接的原因其实很简单——因为奴隶们的忍耐度降低了,而他们的生活条件与社会地位并没有相应地调高。当他们再也无法忍受这个社会,这种权力,权利与物质财富的分配关系的时候,暴动与革命自然就来临了。
若人的忍耐度能用数字来量度,人类社会的公平,公正,合理,自由程度与财富也能够用数字来衡量,那么我们就能够得到这样的一条式子:1(忍耐度):1(社会环境)=社会稳定。
社会的发展与变化决定了社会是绝对不可能永远维持绝对稳定的。随着社会的发展,上层阶级将越来越富有,而底层阶级的生活却没有什么改善,对于底层阶级中的人来说,他们的处境和以前是一样的,但他们的忍耐度却大大地下降了。
当忍耐度的指数小于社会环境的指数的时候,社会就必然面临变革。
再奴隶社会的后期,奴隶们看见奴隶主们的生活蒸蒸日上,但自己的景况却维持不变(有时候甚至更为糟糕了),此时他们的仇富心理与日俱增,同时他们也意识到,只要他们争取,反抗,他们的生活就能变好。当成为一个任劳任怨的奴隶未必是他们生存下去的唯一方式,当反抗能使得社会重新变得能符合他们的忍耐度时,那么,一个新的社会就此诞生了。
由上述推理,我们可以知道,生产力的发展并不能直接推导出生产关系的变革。生产关系的变革的原因并非是为了继续发展生产力,继续发展生产力只是生产关系变革所带来的后果而已。变革的真正原因是底层阶级忍耐度下降。
因此,社会发展的正确的基本模式应该是:生产力的发展-贫富差距的加大-底层人民的布满-忍耐度的降低-生产关系的变革。
若忽略了中间的环节,而只看到生产力与生产关系,从而得出由生产力的变化直接推导出生产关系的变化的结论,那是非常片面的。
同时,我们也要注意到,上面我所推理出的只是最机械化的模式,实际上,许多其他的东西也能影响忍耐度,如本地区的宗教,习俗,文化,甚至是预言。这些东西经常会插手到模式的中间环节去,所以基本模式会在不同环境中产生不同的结果。
我们可以看出,社会的进程可以用一种十分简单的循环来说明,那就是:忍耐-反抗-变革-忍耐。。。。。。
幸福感与不幸感皆是源自此对比。一个人认为他现在的生活是幸福的,是由于他将他现在的生活与比他现在的生活坏的生活相比较。
一个人是如此,整个社会也是如此。
人们要评价所处的社会是好是坏,主要采取两种对比方法。一,是将当前的社会的总体与过去的社会的总体来作比较,二,是将现在社会的上层阶级A与下层阶级B的处境来作比较。
在一般的情况下,运用方法一,人们得出的结论往往能令自己产生幸福感与进步感的,而用方法二,则会使人对社会的现状感到不满,从而要求进步。
那么,一般来说,人们是在何时使用方法一,又在何时使用方法二的呢?
在一个旧的社会淡去,一个新的社会对此取而代之的时候,人们往往会运用方法一,而当这个新的社会发展到一定程度后,人们则会使用方法二。
运用方法一能令到新的社会得以稳定地发展,运用方法二则使得已经由新变旧的社会产生变革的动力。
人们普遍地认为,奴隶社会中的奴隶的幸福感会比今天的民工少。之所以有此判断,除了客观的因素之外,更重要的是人们的主观因素。人们在作比较的时候,并非用奴隶的忍耐度来作为衡量奴隶的幸福感的尺子,而是用现代人的忍耐度来作为尺子放到古代的环境中去。这样一来,人们就会认为现代人的幸福感会比古代人的幸福感要高。
同样,对于未来的设想也是如此。人们将现在所无法实现的美梦,把比现代社会更为公平,公正,合理,自由,民主,富有,人性化的社会设想放置于关于未来的幻想中去,然后用现代的忍耐度来比较,就会得到未来的人类会将会得到比现代更多的幸福感。
这种用某一个时代的忍耐度来作为尺子衡量两个不同的,一新一旧的社会的做法,令人们产生了进步感,使得他们认为社会是正朝着一个越来越能使人幸福的地方前进。他们其中的好大一部分人甚至会认为,照此进步下去,人类终将会步入一个终极的,如天堂般美好的社会中去。
但从我们之前所作的推理中,我们是否可以从中得到一个结论——人类是从来没有真正幸福过的!而且人类也永远得不到真正的幸福!
难道,人类是真的从来没有幸福过,也永远得不到真正的幸福吗?!
是的,人类从来没有真正地,绝对地幸福过,但也没有绝对地不幸过。不单过去如此,现在如此,未来,也如此。人类的幸福感与进步感都将以一种波动的形式维持着一个相对的平衡。
没有幸福社会的终极模型,没有完美的大同社会,没有完美的自由世界,没有完美的共产主义社会,可以说,人类的幸福感只可能依靠人类社会的发展与进步(假如这个发展的过程可以称作为进步的话)来勉强维持在某一个程度,只是有时候会侥幸地向前推进几厘米。
似乎整个历史都在围绕着人的忍耐度来转动,似乎社会就是每个人的忍耐度的集体体现。富有为何会带来空虚?金钱何以会产生精神的异化?从忍耐度这一核心出发,上述的问题都能轻易地解答。
让所有人都幸福是我们的共同追求,但那并不是一个可以实现的目标。这仅仅只能当作一个追求而已。因为幸福是在与不幸的对比中产生出来的,若人全都同化了,失去了对比,那么也就无所谓幸福了。若人是有差异的,那么自然地,有的人就会于对比中发现自己的不幸之处。
有差异就会有幸福感与不幸感。就算某一天,所有人都被同化了,成为了一摸一样的人,有着一摸一样的生活,但只要他们的天性还没有泯灭,那么追求过得比以前,比现在,比别人更为幸福,优越的天性就会使得差异再度出现,人类社会又会重新回到原来的模样里去。
完。
咖啡的研磨和烹制
(编译自wikipedia.org)
咖啡豆的采集和烘制是农业和工业领域的事情。这篇文章只涉及后期的三个过程:研磨、烹制和出品。一般家庭或咖啡馆从市场里买烘制好的咖啡豆或粉末,接下来的才是如何展现和享用各自的艺术才能。什么,速溶咖啡?公孙曰:白马非马,速溶咖啡不是咖啡。
===研磨===
咖啡末的好坏对接下来的烹制过程有重大影响。磨制过程也要和烹制方法匹配,这是能从咖啡豆中提炼出最佳风味的关键一点。咖啡末与热水接触时间长的烹制方法需要粗一点的颗粒。如果咖啡末相对于烹制方法过细的话,制出的咖啡会有太苦、硬涩、“煮过了头”的味道。当然在另一个极端,咖啡末过粗会使成品淡而无味。
因为粉末与空气的接触面积大,所以磨好的咖啡末容易氧化降解。随着人们饮用咖啡的品味的提高,越来越多的人倾向于在家里磨咖啡豆,现磨现煮。现在专门用来磨咖啡的家用电器很多。
咖啡豆的磨制有三类方法:“研磨”、“打磨”和“臼磨”。
“研磨”是用两个转动的部件挤压和粉碎咖啡豆。研磨部件可以是园盘形或圆锥形。锥式机械的噪音要小一些,阻塞的几率也要小一些。研磨的方法产出的咖啡末比较均匀,在烹制的时候出味也比较一致。锥形磨盘的设计降低了所需要的转速,一般低于每分钟五百转。研磨的速度越慢,摩擦产生的热量越少,因而咖啡的香气不易流失。通过调节研磨的参数,锥式研磨机可以胜任各种不同的咖啡的制备。好一点的机器可以磨制土耳其咖啡所需的超细粉末。盘式研磨机一般转速要高一些,产生热量多一些;但它们功能广泛、经济实用,可以胜任多数家用咖啡的制备。
“打磨”:多数现代机器实际上是在每分钟两万到三万转的高速下把咖啡豆切成碎末(有的人干脆用打浆机)。这类刀片式打磨机的耗件寿命要长一些;但是打磨中积聚热量、制成的咖啡碎末大小不均,难以提出优质的饮品。这类打磨机理论上只能用于滴漏式咖啡壶。它们产生的尘粉会堵塞Espresso和French press机器中的滤网。
“臼磨”:如果找不到好的研磨设备的话,您能做的只有使用一支捣杵和一座臼钵,“玉兔捣药”式的慢慢享受劳动的乐趣了。
===烹制===
根据水和咖啡末的接触方式,咖啡的烹制归类为四种:“泡煮法”、“加压法”、“重力法”和“浸滤法”。
如果水经过咖啡末只一次,成品中将主要包含易溶物质(包括咖啡因)。如果水循环多次经过咖啡末(像常见的循环滤机一样),咖啡豆中那些不怎么易溶的物质也会进入成品,导致味道偏苦;这种方法因而不被发烧友看好。
所有的咖啡都是由磨好的咖啡末和热水制出的;事成后咖啡末被清理出局。所需的咖啡末的粗细程度与选用的烹制方法有关。
适当的水温至关重要。推荐温度是93摄氏度。水温过低,咖啡豆中的风味不能充分提取出来;水温过高,萃取过度,口味恶化而常常偏苦。
西方国家中常见的咖啡末与水的比例是15~30毫升咖啡末(一到二汤匙):300毫升水(六盎司)。咖啡爱好者们常常取这个比例的上限。请注意根据咖啡末的粗细程度作适当调整。
持续加热会破坏沏好的咖啡的风味,降解在室温下也有发生。因此对沏好的咖啡进行保温常常成为败笔。然而在绝氧的环境中,咖啡可以在室温下长期保澊存。所以您在商店的货架上可以见到密封包装的咖啡。
现在许多电动咖啡壶的自动化程度很高,有的甚至包括研磨咖啡豆的功能。
“泡煮法”
不要被这个名字误导。不要把咖啡煮沸(至少不要煮沸太久),否则会太苦。
最简单的方法是把咖啡末放在杯子里,加入热水,让它冷却同时咖啡末沉底。这是个老办法,现在印度尼西亚的一些地方还在使用。小心不要吃到杯底的咖啡末。这个方法的好处是简单,水温正好。
土耳其咖啡是一个早期的方子,仍在中东、北非、东非、土耳其、希腊和巴尔干地区使用。超细的咖啡末加水在小口容器中煮开,一般加糖和豆蔻调味。盛在杯子里的浓咖啡上有泡沫,下有一层淤积的粉末。
“牛仔咖啡”是把咖啡末加水直接在锅里煮开了饮用。这个名字暗示一个在简陋条件下的权宜之计;然而有人偏好此道。在咖啡人均消费最高的芬兰和瑞典,这是他们传统的烹制方法。
“加压法”
Espresso是由91~96摄氏度的热水在8~9个大气压下通过压实的咖啡末制成。它是常见咖啡中最浓的之一,带有独特的香气和一抹浮油。它可以单独饮用(适用于晚餐后的甜点);也可以进一步制成多种其他饮品。
摩卡壶,也叫“意大利咖啡壶”,是一个三层结构的炉具。沸水在底层烧开后被汽压推过中层的咖啡末进入上层,所得到的咖啡浓度可与espresso相比,只是没有浮油。
“重力法”
美式咖啡或滤纸法是把咖啡末放在滤纸或金属滤器上,热水自上而下流过即成。咖啡的浓度由加水比例和咖啡末粗细而定,但一般低于espresso。按照惯例,这样制成的普通咖啡用褐色或黑色杯子,无咖啡因咖啡用橙色杯子。
电动循环滤机在七十年代以前的美国及其普遍。它和上面提到的摩卡壶不同:热水烧开进入顶层,然后自上而下通过咖啡末、回到加热室;如此循环数次。正是因为在这个方法中热水多次经过咖啡末,这种咖啡品味不佳。
“浸滤法”
法式压滤机(French press)是一个高廋的玻璃圆筒,配一个带滤器的活塞。热水和咖啡末在圆筒中泡上四到七分钟,然后由活塞滤器把咖啡末压到底部,上层的咖啡便可以倒出饮用。这种“完全浸入法”被很多专家认为是泡制咖啡的理想的家用方法。
咖啡袋是出游用的便携包装,平时很少见。
马来西亚人用穆斯林式的口袋装咖啡末,浸入热水里。这种口袋和使用滤纸是一个道理。这对马来的口味浓烈的本地咖啡更适用——袋中的咖啡可以重复使用。
真空咖啡壶是由一个加热容器和一个漏斗式容器连接而成。连接部分是一个滤器,上面放咖啡末。水在加热容器中烧开后进入漏斗式容器,与咖啡末混合;这时断掉加热源,加热容器冷却而形成的部分真空又将漏斗式容器中的咖啡经过滤器抽回底部。
===出品===
用不同的方法烹制出来的咖啡,又可以添加不同的成份,做成或热或冷的成品。您可以在wikipedia上看到二十多种例子(http://en.wikipedia.org/wiki/Coffee_preparation,查阅于2006年9月15日)。多数还没有正式的中文译名,所以我不在这里一一介绍了。您可以在wikipedia网页上进一步查询并浏览有关图片。
[Rockies' Lounge] http://rl.rockiestech.com,欢迎指教。
如果您希望开放式发布您的文章,而又不便归类在已有的图书项目里,可以暂时把文章放在这个路径下。
文章可以在未来加入某个图书项目;不影响文章的永久网址。
Open Source: The Unauthorized White Papers
Chapter 9
The Secret Battlefield: Embedded Systems
Although its progress in small devices is largely unnoticed, Linux is one of
the best-suited technologies to take over a space few consumers are aware of.
In this chapter you will learn about the strengths of Linux and other Open Source
operating systems in this growing market, and why it may likely surround you
before you are even aware of it.
Background and Advantages
Although a latecomer to the field, Linux has a bright future in embedded systems.
From cell phones to household appliances, the number of places in which we find
embedded systems in everyday life is growing. The automobile is probably the
most widespread intensive user; from brakes to air bags to fuel/air mixture
controls, a new model may contain 30 to 50 embedded systems.
Embedded software originated in the late 1960s as "stored program control"
in telephone switches; it moved to other devices, but was always custom written
for a particular piece of equipment. The coming of the microprocessor enabled
programmers to write to a particular microprocessor that could be used in different
devices, and to reuse code from device to device. Originally this code was machine
or assembler language, but by the 1970s libraries of code appeared, and by the
end of the decade there were packaged operating systems intended for embedded
use; each operating system was tailored to a particular microprocessor. Eventually
systems began to use C, the portable language that gave rise to UNIX, the portable
OS.
Linux has several advantages for embedded systems: a small footprint, ease
of use, portability to many processors and platforms, scalability, and its famous
stability. A minimal embedded Linux consists of the core kernel and boot utility,
along with memory and process management, timing services, and an initialization
process. To this we might add hardware drivers, one or more applications, networking,
a file system, storage space, and perhaps a simple user interface. Some RAM
is needed to hold the kernel and applications; flash memory can be used for
file storage, from which the application can load and unload files as needed,
saving RAM space. Because Linux is an operating system, it can control all these
functions and manage memory as well. Its ability to check and repair itself
is useful in case of interruptions, such as a power failure in mid-upgrade.
Although the Linux kernel is small, as full-sized operating systems go, it
is not tiny enough for the world of embedded systems. Its size and power suit
it to the middle and high end of the embedded systems range; its flexibility
and functionality make it large in terms of embedded systems, which are sharply
focussed on a particular device. For these reasons, part of the skill in deploying
Linux for embedded applications is trimming it down to appropriate size and
functionality. Linux has the significant advantage of being able to draw on
the entire code resources of the Linux Community for faster development and
for driver support.
Linux strength in networking is important in modern embedded systems. Hotels,
for instance, control electronic keying through console software at the front
desk and embedded systems in the door locks; heating and air conditioning are
activated or not depending on the remotely sensed presence of guests in their
rooms. In any embedded system, networking may be used to manage the embedded
software by installing upgrades or by adding or collecting data. The convergence
of computers and telephones on digital data, and the growth of communication
in embedded devices, particularly over the Internet, calls for an operating
system that already implements the new IPv6 communications standard. This standard
greatly expands the number of possible network addresses, making it possible
to connect many billions more devices to the Internet (a manufacturing plant
might need 10,000 addresses for the assembly line; the ESRF laboratory uses
some 4,000).
Because current users of embedded Open Source systems are early adopters seeking
a competitive advantage for their enterprises, we hear very little about what
they are doing. Nor are we able to track the spread of Linux devices through
license counts, because Linux is freely distributable. Only recently are tools
for embedded Linux becoming available, along with the associated publicity for
them and for embedded Linux.
Many early adopters of Linux are found in scientific research laboratories;
an example is the European Synchrotron Radiation Facility (ESRF) in Grenoble,
France (http://www.esrf.fr/),
home of a gigantic X-ray beam device. The laboratory now runs all its operations
on Linux; at the embedded end, the main use of Linux is to control the stepper
motors that direct the beams and to control the target samples that the beam
bombards. There are 40 beamlines, each operating around the clock seven days
a week. Each beamline has over 100 stepper motors. Some of them move independently,
and some are moved in coordination with each other.
ESRF chose Linux because it incorporates standards such as POSIX, CORBA, Java,
HTTP, and TCP/IP. This enables the embedded Linux software to work with all
the other software at the institution, including the Beowulf (Linux) supercomputing
installation. Because the controller project is based on a 10-year schedule,
the scientists wanted to be sure that they had the source code so that their
work would be vendor-independent. They began by cutting down a SuSE Linux distribution
to 24MB; they then used a Debian file management system. Finally, they wrote
their own device drivers for the equipment, and turned these over to the Community,
anticipating both that the drivers would be useful to others and that others
would in turn contribute maintenance code and additional drivers.
Some Embedded Systems and Tools
Embeddable Linux appeared early in its hobbyist phase. The Embeddable Linux
Kernel Subset (ELKS) took the Linux designed for a 386 Intel chip and pared
it down to run on the 8086 because at that time the 386 chip was too expensive
for embedded uses.
|
Cross-Reference Links to other embedded Linux projects can be found |
To name just a few, RTLinux, (http://www.rtlinux.org/)
is an extension to handle interrupts, so that Linux can be attached to data
acquisition and control devices. It is also available in a version for multiple
processors (SMP). Linux on a Floppy (LOAF, http://loaf.ecks.org/)
is a cut-down Linux that fits on a floppy along with ftp and Lynx browser software.
Its main purpose is to enable the user to walk up to any networked computer
and turn it into a temporary Linux box; it could also be modified for special
purposes. A special-purpose Linux ready for use is the Linux Router Project
(LRP, http://www.linuxrouter.org/);
it also fits on a floppy, and can be used to build and maintain embedded systems,
but particularly routers, access servers, thin servers and clients, and network
appliances. Its limited functionality increases its security when used for Internet
connections.
|
Cross-Reference |
Besides these Open Source projects, there are commercial Open Source and proprietary
resources for embedded development. Caldera Systems’ sister corporation, Lineo
(http://www.lineo.com/),
provides the Embedix system (based on the Caldera distribution), along with
a browser, Embrowser (Caldera’s DR WebSpyder). The firm recently bought Zentropix
(http://www.zentropix.com/)
to add its development tools to the Lineo product line. The rapidly growing
start-up MontaVista Software (http://mvista.com/)
makes a strong selling point of offering its Hard Hat Linux as royalty-free
Open Source software. Lynx Real-Time Systems (http://www.lynx.com/)
is now supplying BlueCat, its embedded adaptation of the Red Hat distribution,
to interoperate with its own proprietary Lynx embedded OS.
|
Note Open Source embedded systems can offer |
Besides selling embedded software, firms can offer the hardware as well: 3iLinux
(http://www.3ilinux.com/),
part of 3iNET, offers a 386-based Internet appliance with a Linux system already
on it, ready for the customer’s software. This way customers can invent their
appliances and supply the software for them; 3iLinux acts as manufacturer to
mount these on their Universal Internet Box (UIB) hardware and software platform.
A small 2x16 LCD screen, power supply, two fax modems, and pushbuttons are included
in the small device, which has already been cleared by the FCC and EC. All the
3iLinux code is Open Source.
Cygnus Solutions has traditionally been strong in the embedded sector; this
capability is the major reason for its purchase by Red Hat Software. Cygnus
has its own embedded operating system, eCos, and has large plans for embedded
Linux (see "Standards" later in this chapter), which include an SDK
and configuration technology.
Linux may be getting the publicity, but BSD also offers embeddable technology
with similar advantages. Free versions include picoBSD, from the FreeBSD project
(http://www.FreeBSD.org/~picobsd/);
among free real-time systems there is RTEMS (http://www.rtems.army.mil/),
which includes FreeBSD material, and you can develop for it using FreeBSD. RTMX/OS
from RTMX (http://www.rtmx.com/)
has proprietary real-time extensions based on OpenBSD, and is POSIX compliant.
BSDI offers the proprietary e/BSD (http://www.BSDI.COM/products/eBSD/);
it has per-copy licensing fees and a fee for a separate development license.
Business models
Whether any of these companies put out Open Source tools for free, or proprietary
tools for money (see Table 11-1), they all face the same economic question of
how to make enough money to cover development, distribution, and support of
their products, besides making a profit. Lineo and BSDI enforce a per-copy royalty,
a model frequently difficult to administer and collect. For companies with a
truly open model (that is, the software can be downloaded from the Web and modified
and freely distributed), charging for a nice copy of the product (bound manuals,
CD, and so forth) will probably not generate much income.
Table 9-1
Commercial and Proprietary Embedded Systems
(Linux and Others)
Product |
System | Acquire for Free? | Modifications Allowed?
| Free Distribution of Modifications? |
Embedix (Lineo) | Linux |
System free; tools and browser not free | Yes | Royalties for proprietary material |
Hard Hat (Monta Vista) |
Linux | Yes | Yes | Yes |
BlueCat (Lynx) | Linux | No | Yes |
Yes? |
eCos (Red Hat) | Other | Yes |
Yes | Yes |
picoBSD (FreeBSD) | BSD |
Yes | Yes | Yes |
e/BSD (BSDI) |
BSD | No | Yes | Royalties |
Another difficulty is the potential conflict between the GNU GPL, the license
that covers Linux and asserts the recipient’s right to modify received code,
and legal constraints. If the software in a device can’t be altered after manufacture,
few people would claim that limitation as a violation of the GPL, but in a device
that could allow the software to be modified (in a PROM, for instance), there
may be legal constraints against providing the means of altering the code. FDA-approved
medical devices, for example, may not be altered without voiding that approval.
In the case of devices not under FDA approval, some people believe that supplying
the source code would be a tacit encouragement to modification, and that the
manufacturer could be liable for damages resulting from such modifications.
This is an unfortunate but understandable conflict between the desire to have
peer review and improvement of code on which lives depend, such as medical devices
and flight control systems, and safety policies that don’t want to leave the
devices and systems open to tampering of any sort.
Apart from the legal restrictions described previously, you may modify a Linux
distribution received in an embedded device, provided there is a way to access
it. Vendors who do not want to deal with problems arising from customer modifications
might consider using a form of BSD system because the license allows binary-only
distribution. In addition, a vendor can freely mix proprietary code with BSD
code to build a device; BSD licensing is an important strength in the tight
confines of the embedded world. Using BSD will also relieve a vendor of any
worry about who in the downstream distribution should be receiving source code
or a notice of its availability, as would be the case with Linux.
Standards
Because the embedded world has a large variety of devices and tends to have
individually crafted software on each device, it is a highly fragmented world.
The Linux world is haunted by the example of the fragmentation that robbed UNIX
of much of its influence, and as they look at the many Linux hacks created for
embedding, particularly at the low end, the embedded world seems to some people
the most likely spot for that fragmentation to accelerate.
Standards are the logical answer to fragmentation, and some thirty companies
have recently formed an Embedded Linux Advisory Board. Lineo, Inc., like its
sister firm, Caldera Systems, Inc., is a strong supporter of standards bodies.
Such bodies, however, tend to move slowly; the market, on the other hand, likes
to follow successful implementations and award them the status of de facto standards.
We have already spoken of the advantages of controlling a standard, and of Microsoft
as a successful example.
We have also looked at de facto standards in the Open Source world, in terms
such as forking and project control. Although anyone can begin a new fork of
a project, the original project group and its leader, so long as they continue
to invest resources in the project and show responsiveness to their public,
are unlikely to be bypassed. Cygnus plans to continue to be a leader in the
embedded market. Its acquisition by Red Hat led to the Open Sourcing of eCos
under an arrangement like the Mozilla Public License, and called the Red Hat
eCos Public License (http://sourceware.cygnus.com/ecos/license.html).
This Open Sourcing serves to reinforce the central position of Cygnus in embedded
systems, a position that the company intends to extend by promoting the EL/IX
interface as a standard.
The Cygnus answer to fragmentation is the EL/IX embedded Linux application
program interface (API) based on POSIX real-time standards. The object is to
encourage embedded systems to implement this API, as eCos is doing. Then any
tool that writes to the EL/IX API can expect portability across systems that
implement it, whether they are Linux, eCos, or any other system that chooses
it. This arrangement ensures that eCos, a highly specialized, deeply embedded
(that is, not nearly so large as Linux) system will continue to evolve, along
with Linux. An Open Source, freely downloadable and distributable eCos is more
likely to become widely used, and a standard; Cygnus will flourish by providing
packaging, support, and consulting.
Cygnus’s deep knowledge of eCos and EL/IX will enable it to do a superlative
job of incorporating EL/IX support into its own tool, which it also sells to
Windows developers. By arranging the pieces properly, Cygnus (and Red Hat) tap
into the much larger Windows market. Other Windows development toolmakers may
also wish to implement the EL/IX API, especially to take advantage of free eCos.
This is great leverage of its resources by a small firm; participation will
only make the arrangement stronger and more profitable for everyone. This is
the classic Open Source approach; you don’t pay for the software, you pay for
the support. If you can’t afford paid support, you can use free versions of
software and look on the Internet for community support.
Although the strategy is very young, it is already bearing fruit. Red Hat/Cygnus
has invested the developer effort and made the Open Sourcing commitment on both
eCos and EL/IX. A demonstration of the strategy’s attractiveness is that the
100 persons attending the Linux Real Time Workshop (http://www.thinkingnerds.com/projects/rtl-ws/rtl-ws.html)
in Vienna in February 2000 (an estimated 20 or 30 Americans attended) voted
99 to 1 to adopt EL/IX as the interface they would write to. They did not legislate
anything, but their vote shows the attraction of the EL/IX standard, and the
worldwide reach of Linux.
Red Hat intends to leverage its new strength in embedded systems even further.
Michael Tiemann’s persistent talk about "the post-PC world" points
to a world of devices with Internet capability rapidly taking over functions
now belonging mostly to PCs. This world of intercommunicating autos, appliances,
telephones, computers, and other devices will come about much more quickly if
there is an open standard of cross-platform development that ranges from high-end
systems to embedded systems. Linux can play a large part in this system, and
may be the eventual winner. Red Hat has two roles to play: it can provide the
technology to put the software on all these systems, and it can provide hosting
and services and storage in this Internet-based world. If eCos helps bring on
this new world and flourishes, that’s fine; if all the improvements are gradually
imported into the Linux kernel itself, that’s fine, too. All Red Hat needs to
do is be careful not to point EL/IX too specifically at eCos, as Microsoft pointed
its Java tools at ActiveX.
On its way to becoming all things to all people, Red Hat is bound to encounter
Sun Microsystems, who began to dream the same dream some years back. The Sun
implementation is to use Java, which began as an embedded language and which
is also network-enabled. By putting a Java Virtual Machine (or Sun’s Jini technology)
on your device, you should be able to run Java code written to the proper Java
standard. The adoption by developers of the EL/IX standard, providing it is
not hijacked by any vendor, would bring Linux closer to this goal than Sun.
In its NT version, eCos has the sort of visual interface favored by Microsoft-based
developers, as mentioned previously. The strategy here is to milk the Windows
market by allowing developers to use NT as a development platform (writing to
the EL/IX API) and then to deploy the applications on a free system. Developers
at eCos are working on implementing a GNOME-based interface to bring the same
sort of graphical interface features to the Linux end of the market. GNOME,
by the way, will enable developers to write handsome user interfaces on embedded
applications as well.
Microsoft is entering the embedded market by offering a variety of products.
Vendors have been slow to adopt Windows CE because it is too cumbersome for
its main target, the palm-top market currently dominated by the PalmOS, and
so Microsoft will soon enter the market for the larger hand-held computers with
a PocketPC device running its own version of Windows. Microsoft also makes an
embedded Windows NT product, but it is basically an NT that will run without
a monitor, and is intended for ISPs and similar sites. In the anonymous space
of device software, the Microsoft name is not a strong advantage. The newly
announced Microsoft X-Box runs a cut-down version of Windows 2000; it would
be interesting to consider Microsoft’s position as an embedded device vendor
if they were to adopt Linux. There are rumors that one faction within Microsoft
wants to Open Source Windows CE. Even if Microsoft did not do so, merely dropping
royalty fees on the distribution would be a boost to Microsoft embedded ambitions,
and Microsoft could sell its development tools to a larger group of developers.
Over the long haul, however, the Linux and BSD advantages of having a separate
operating system and graphics system mean that smaller, simpler interfaces are
possible, and the fact that they will interoperate with much larger UNIX machines
(or Beowulf clusters) gives a strong push into wider adoption.
Some implementations
Embedded software may originally have meant an application with no user interface,
hidden deep within a device, but the addition of a button or two does constitute
an interface. It is thus common nowadays to talk about "deep embedded"
(more like the original embedded) and "high embedded," meaning with
quite a lot of interface and functionality — examples would be kiosks or handheld
devices, such as the little hand-held computers running Windows CE or PalmOS.
Linux and BSD, because of their size, came late to the embedded market, but
they shine in large devices with extended functionality. Internet appliances,
for instance, are plug-in servers that require a minimum of configuration, such
as the Interceptor firewall from Technologic, Inc. (http://www.tlogic.com/),
which uses BSD/OS, or the Cobalt Qube Web server (http://www.cobalt.com/),
which uses a BSD variant, or the similar Whistle InterJet (http://www.whistle.com/),
which uses FreeBSD. A Linux system forms the basis of the secure server BRICKHouse
from Systems Advisory Group Enterprises (http://3rdpig.com/).
High-end systems could even have voice interfaces added with the SDKs available
for Linux from IBM (http://www.ibm.com/)
and Learnout & Hauspie (http://www.lhs.com/).
|
Note Samsung has announced a Linux PDA and |
Linux is also at the heart of the Philips TiVO personal video recorder, and
WebPad, an information appliance platform from National Semiconductor (the WebPad
also runs PSOS and Stinger embedded systems). Interestingly, Sun Microsystems
gave a demonstration of its digital living room using a WebPad running Linux
to substitute for a PC, remarking that the operating system was not "a
big issue." Sony’s Playstation2 will use Linux; this box will compete against
the forthcoming Microsoft entry into the video game console, the X-Box. A French
product called Everybook will use Lineo’s Embedix and Embrowser, while several
companies are using NetBSD for their embedded projects.
Finally, Linus Torvalds’s employer, Transmeta Corporation (http://transmeta.com/),
has launched what amounts to an embedded computer. The Crusoe chips from Transmeta
will have built-in software to enable them to run a number of different operating
systems and their applications on one chip.
|
Open Source Databases The larger embedded systems for which Linux and
|
This Part of the book has shown you the technical range covered by Open Source,
a spectrum running from tiny to huge implementations. The next Part, "Open
Source Software AS Your Business," will show you a number of the current
ways that businesses are making money by writing, supporting, or distributing
Open Source software. New businesses are emerging all the time as they find
needs and figure out how to fill them. The whole industry is just now getting
off the ground, and there is probably room for you, too.
Next chapter: The Platform: Software and Hardware
Table of Contents
Copyright © 2000 by IDG Books Worldwide, Inc. Published
under IDG Books Worldwide, Inc. Open Content License.
有待编辑
==页面过期。请直接访问开放图书目录==
随着这里内容的增加,一个目录有助于归类导航。这个页面可能更新不够及时;请访问“最新内容”来查看新发布的文章。
注册用户均可以编辑此页。请大家自己添加适当的内容。以原创为主。
《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》《》
公益性图书项目,欢迎加入
消失中的报纸系列
科技纵览
文史杂谈
页面有待更新。
主要提供开放图书PDF版的下载。
注册用户可直接编辑。
IOSN《自由/开源软件:通论》中文版v1.01发布,点击这里下载(953KB,欢迎镜像)。
报到页,供交流用。请大家自己添加自己的信息。
===snakehsu===
Hi, I am a GNU foundamentalist...well, used to be. I use VIM now. :)
===habpi===
Site admin for now. I'm a biologist, just learning my way around open source and the world.
===Amber Lee===
Say hello to everybody.
===Shine=== ?
===冰儿===
a PhD student living in MA, can read both Chinese and English :)
have many books but don't love them
love cats...mmm.. and dogs, smallerones only, but never own any :(
===Feng Lei ===
Trained in Psychiatry, and doing Ph.D in Singapore now.
Willing to do some translation when spare time available. :P
===这是一个给新手练习/测试使用的练习簿===
===您可以随便修改这个页面和创建/修改子页面===
===任何一个注册用户登录后都可以编辑图书页面===
===配合的论坛是在“新手练习区论坛”==
Hello. this is MPI.
没有格式的文字
blah blah blah...