苹果的另一面:开源软件重镇
刚才一个苹果网站的链接在很短时间内成为Hacker News的头条。这个普通的网址却揭开了以封闭著称的苹果公司不太为人所知的另一面:开源社区的积极一员。
正如这个网页上苹果自己所说的,它是第一个将开源软件作为关键战略的主要计算机公司。了解苹果历史的人肯定知道此言不虚。苹果最重要的软件产品——Mac OS X的内核XNU再加上一些驱动等核心组件合称为Darwin,就是一个开源项目。这个开源项目有个可爱的吉祥物Hexley(达尔文的斗犬赫胥黎是也,不过为什么是鸭子的形状,是因为混合吗?),熟悉FreeBSD的人应该发出会心一笑吧:
这是一个堪称完美的混合内核,著名学院派操作系统Mach的微内核提供了足够的灵活性,也支持着系统的任务、线程、进程、消息传递(IPC)、RPC、SMP调度支持、保护式内存、虚拟内存管理等主要底层功能;而Unix正宗FreeBSD则满足了足够的性能要求,并提供了POSIX API、文件系统、网络栈、安全、抢占式多任务、用户与组管理、权限管理等特性;此外还有Apple独有的面向对象设备驱动框架I/O
Kit。这个内核的模块性如此之好,以至于苹果的架构师们能够比较自由地为Mac电脑以及iOS设备选择底层硬件,从PowerPC到Intel,再到ARM……
Darwin架构图
作为目前普通用户最多的类Unix操作系统,Mac OS X中还内置了Unix中常见的各种开源软件,包括Ruby、Python、Perl等语言开发环境以及各种工具。也难怪现在越来越多程序员将Mac OS作为开发机,并渐渐“沦为果粉”……
苹果的另一个著名开源项目大家应该都听说过,但未必知道出自苹果。这就是浏览器引擎WebKit。WebKit(开源项目网址)是1998年苹果工程师开发的一个(KDE开源项目旗下)KHTML与KJS派生版本,开始的时候代码会提交到KDE项目中,但后来双方产生了矛盾而分裂。2005年6月,苹果宣布WebKit开源,成为一个独立的项目。
除了Safari之外,排名第三的开源浏览器Chrome也是基于WebKit的,甚至Adobe的AIR和Creative Suite CS 5也使用它来渲染HTML。当然,使WebKit日益重要的是手机,目前大多数智能手机浏览器包括Android、iPhone、黑莓、Symbian都基于WebKit,据估计目前用户已经超过4亿。今天的WebKit项目开发团队中,除了苹果的工程师外,Google也是生力军,此外还有不少RIM公司的人,他们应该是来自被黑莓收购的Torch浏览器开发团队。
苹果还有几个在更专业的领域里非常重要的开源项目,比如编译器框架LLVM,异构编程框架OpenCL,服务发现协议实现Bonjour等。其中,LLVM现在已经成为语言创新的温床,看看都有哪些项目因此而如虎添翼吧。
了解了苹果在开源方面的贡献,你对它的印象是否已经有所改观?其实也不稀奇,苹果是一家工程师文化深厚的公司,开源本来就是应该是工程师文化的一部分。
2011-05-21 15:04:20
Objective-C就是SmallTalk之父在Apple工作时搞出来的。所以Objective-C的最大特点就是完全就完全兼容C标准再加SmallTalk消息机制。你好好去看看Wikipedia
回复(0) 支持(0) 反对(0) 举报(0) |
0条回复..
2011-05-15 08:20:34
得了吧,苹果开源是因为用了开源的东西,并且还想从开源社区得到更多的东西
它贡献的,和它得到的,以及它诱使开发人员替他贡献后得到的一比,简直是小巫见大巫
回复(13) 支持(12) 反对(13) 举报(0) |
13条回复..
2011-05-15 08:59:23
这本来就是开源能够得以发展的固有规律。如果都是付出的多回报的少,我们也就看不到开源的今天了。
回复(0) 支持(8) 反对(0) 举报(0)
2011-05-15 15:24:52
你懂个P!WebKit就是Apple自己的!Objective-C开源到GNU之前也是Apple持有的!
回复(2) 支持(4) 反对(8) 举报(0)
2011-05-15 15:25:33
开源不是指只付出不获取,你想让全世界的开源人士都饿死啊
回复(1) 支持(9) 反对(0) 举报(0)
2011-05-15 15:25:37
另外,OpenCL也是Apple先撰写出来,然后再提交给Kronos开放标准的。给你长点知识!
回复(0) 支持(2) 反对(4) 举报(0)
2011-05-15 15:54:24
无知者无畏阿.
回复(0) 支持(2) 反对(1) 举报(0)
2011-05-15 21:00:11
对于我们的骄傲,腾讯联想类是坚决只获取不付出的
回复(0) 支持(8) 反对(1) 举报(0)
2011-05-15 23:26:41
放屁..胡言乱语之前,你就不能自己先搜索一下?
回复(1) 支持(4) 反对(3) 举报(0)
2011-05-17 21:20:10
搜你个魂啊!这些都是常识!哦,对了,如果你在百毒上看到的话那偶真是要昏厥过去了,呵呵呵呵呵呵⋯⋯
回复(1) 支持(2) 反对(2) 举报(0)
2011-05-18 09:04:00
随便你晕。。。说实话,你的常识还不如百毒.
回复(1) 支持(3) 反对(1) 举报(0)
2011-05-18 10:51:55
呵呵呵,是呀,百毒会让你去购买三聚氰氨奶粉,它确实比偶有知识得多,尤其是化学方面⋯⋯
回复(1) 支持(1) 反对(2) 举报(0)
2011-05-19 12:39:39
不仅化学方面,胡扯你也确实跟百毒有点差距.....
就你这Y的,确实也只能跟百毒来比比。
回复(1) 支持(3) 反对(1) 举报(0)
2011-05-21 10:55:42
Objective-C 能干什么?
还不是服务于Mac、IOS……
回复(0) 支持(1) 反对(1) 举报(0)
2011-05-21 13:37:53
哈哈哈哈哈……一看你这厮就是百毒的簇拥啊!!!
回复(0) 支持(1) 反对(0) 举报(0)
2011-05-21 10:21:04
呵呵呵呵呵呵呵呵!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复(0) 支持(0) 反对(0) 举报(0) |
0条回复..
2011-05-20 21:02:58
看评论,开了眼界。
回复(0) 支持(0) 反对(0) 举报(0) |
0条回复..
2011-05-20 14:09:19
其实就是搞笑吗,苹果拿着BSD的内核代码,不给开源做点贡献怎么能行呀,这也是应该的。
回复(0) 支持(0) 反对(0) 举报(0) |
0条回复..
2011-05-15 23:51:36
看成OpenGL了。。。汗
回复(1) 支持(0) 反对(0) 举报(0) |
1条回复..
2011-05-19 13:36:39
我觉得苹果开源 openCL 是应为他做不起来,现在主要是NVIDIA在用openCL做图形上的高性能计算
回复(0) 支持(0) 反对(0)