» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[数码手机] ZT:关于google的不作恶:有感于android被踢出linux kennel

引用:
原帖由 RestlessDream 于 2010-2-5 22:11 发表
[posted by wap, platform: Nokia (E71)]

好吧,严格的说google的确是做到了 dont be evil。 但不要以为他做的任何事情就都是 good。 巨大的灰色海洋在召唤着你。
就是这样
所以linuxer的理想主义者们很痛苦


TOP

以下是原文,大意是,android源码因为对kernel改动过大不能接受,无法通过审核,无法merge into mainline,由此将连带使得所有基于android的驱动(由硬件厂商提交的)全部无法通过审核(android刻意使用自己的锁使得驱动不能在非android平台上运行),现在希望google能修改android代码以便通过审核(个人认为可能性很低)

As the Android kernel code is now gone from the Linux kernel, as of the 2.6.33 kernel release, I'm starting to get a lot of questions about what happened, and what to do next with regards to Android. So here's my opinion on the whole matter...

First off, let me say that I love the Android phone platform. Until last week, I used my developer G1, that I bought, every day. It worked wonderfully for me, and as a user, I was more than happy.

I'm also very happy about Android from a technical perspective. It's amazing that Google has taken the Linux kernel, and nothing else from a "traditional" Linux system, and created a portable and robust phone platform. It's so different that you can drop in a "real" Linux system image on top of the Android system, and they both work just fine with no changes needed.

Android also solves the problem that the phone manufacturers had been having for many years: a free version of Java and a unified application layer that programmers can write to that will work on all phone platforms that integrate it. Because of this, all of the existing "Linux Phone Consortium" groups are doomed and will probably close up silently very soon now, if they haven't already.
What's wrong?

So, what happened with the Android kernel code that caused it to be deleted? In short, no one cared about the code, so it was removed. As I've stated before, code in the staging tree needs to be worked on to be merged to the main kernel tree, or it will be deleted.

But there's a much bigger problem here.

The Android kernel code is more than just the few weird drivers that were in the drivers/staging/android subdirectory in the kernel. In order to get a working Android system, you need the new lock type they have created, as well as hooks in the core system for their security model.

In order to write a driver for hardware to work on Android, you need to properly integrate into this new lock, as well as sometimes the bizarre security model. Oh, and then there's the totally-different framebuffer driver infrastructure as well.

This means that any drivers written for Android hardware platforms, can not get merged into the main kernel tree because they have dependencies on code that only lives in Google's kernel tree, causing it to fail to build in the kernel.org tree.

Because of this, Google has now prevented a large chunk of hardware drivers and platform code from ever getting merged into the main kernel tree. Effectively creating a kernel branch that a number of different vendors are now relying on.

Now branches in the Linux kernel source tree are fine and they happen with every distro release. But this is much worse. Because Google doesn't have their code merged into the mainline, these companies creating drivers and platform code are locked out from ever contributing it back to the kernel community. The kernel community has for years been telling these companies to get their code merged, so that they can take advantage of the security fixes, and handle the rapid API churn automatically. And these companies have listened, as is shown by the larger number of companies contributing to the kernel every release.

But now they are stuck. Companies with Android-specific platform and drivers can not contribute upstream, which causes these companies a much larger maintenance and development cycle.
What would be needed to get the Android core code merged?

When the Android code was merged into the staging tree, a number of kernel developers reviewed the code and pointed out places that needed to be cleaned up, and changed, in order for it to be accepted. A number of these changes will affect the kernel/userspace boundry, so some changes to the Android userspace logic would also need to be changed if these kernel changes are made, preventing anyone except a Google employee from making the changes necessary.
So, what to do?

I really don't know. Google shows no sign of working to get their code upstream anymore. Some companies are trying to strip the Android-specific interfaces from their codebase and push that upstream, but that causes a much larger engineering effort, and is a pain that just should not be necessary.
Hope

I do hold out hope that Google does come around and works to fix their codebase to get it merged upstream to stop the huge blockage that they have now caused in a large number of embedded Linux hardware companies.

I've privately offered in the past to help this work get done, and am doing again here publicly. But I need the help of the Google developers to make it happen, without them, nothing can change.

The good news is that it looks like all of the kernel/userspace api changes will have no affect at all on any Android code higher up the stack (like applications), so all of this work can be done with no problem in the overall system.

I'll be giving a talk about this whole Android mess at the CE Linux Forum 2010 conference. Hopefully it improves before then, otherwise CELF will be continuing the long-held tradition of having keynotes in which the presenter yells at the attendees for all of the bad things they are doing.

posted Tue, 02 Feb 2010 in [/linux]



TOP

引用:
原帖由 masterfish 于 2010-2-6 01:51 发表

就是这样
所以linuxer的理想主义者们很痛苦
大家只是希望google能正视自己,勇敢地展示自己真实的一面,不要再欺骗蒙蔽天真的群众了


TOP

[posted by wap, platform: Safari]
引用:
猫猫猫 发表于 2010-2-5 15:00
原帖由 sumeru 于 201025 14:24 发表
G青呢,再次印证了老乔那句'Don't be evil' is 'full of crap'

光看了标题就high的百度青?
看不惯公司扯这种大旗就一定是对手的青?

TOP

如果android成功了,本身就会推进linux商业化前进一大步(以偏离原来设想的方式),这也是linux要面对的本质性问题,如何在大众市场成为人人可用的实现方式。

硬要搞开源原教旨主义,只能说是不尊重现实。

TOP

开源这么多年,还不是大部分核心代码都是商业公司写的,还真不知道linux怎么发展下去?靠公司发善心捐献源代码?还是靠逆向工程做驱动?

我越来越觉得,教旨主义的开源就是共产主义的翻版啊,越到后面越搞不下去。

Google没有违反GPL,那就是没有违法,这就是于理不合;
而无视目前Linux绝大多数都是商业公司雇员开发,而且每况愈下的情况,则是于请于情不合。

既不合情又不合理,现在的Linux早就变味了,越来越讨厌斯托曼了。虽然他可能不自私,但是Linux现在想作为大众都使用的工具就不要老计较硬性的开放源代码,时不时出来指手画脚真的是有点太自大了。

TOP

不客气的说,玩linux的都是一小撮人,根本不代表大众

TOP

看人家Apple拿FreeBSD操得多爽啊,Google换核心用FreeBSD吧!

TOP

[posted by wap, platform: SonyEricsson (M600i)]

乱挥舞道德大棒,往小了说是没有远见阻碍了linux的发展,往大了说还可能有沽名钓誉的嫌疑

TOP

android虽然没有违反GPL,但是google的做法不可能促进linux的商业化,而是背道而驰,分流了开源社区的资源

商业公司为linux贡献代码,可不是在做慈善事业,这是个良性循环

RMS是不讨人喜欢,这位大胡子叔叔越来越极端,连linus都不怎么鸟他,但不能就此否定开源精神

TOP

linux大部分代码是商业公司写的,为什么?
自然是linux能够让那些公司获得足够的利益,即使贡献代码也值得。
这是共赢,GPL能推动的良性发展。
如果大家都学google,那这个良性发展就不会存在。
结果就是逼各个社区上GPLv3了,GPLv3以发行软件为单位,整个软件每一个组件必须是GPLv3许可证的,这就很难绕了,但是也限制得很死了,本来linus是一直不答应linux上GPLv3的。

TOP

还有,从来没有人说过open source == free,阻碍open source进程的最大障碍在于商业代码本身的不干净

TOP

我虽然觉得Android很可能失败,但是说Android会分流资源这点觉得不太可能。首先,计算机中代码的资源,越分享受益人才越多,何来分流一说?是否MAC OSX分流了FreeBSD的资源阻碍了其发展呢?

是否能促进Linux商业化那和Android本身毫无关系,Android是一个开放的,可以让各个手机厂商支持一个广泛开源的Linux实现,是把Linux影响力扩大的一个绝佳机会。Linux现在个人用户越来越少,商业领域除了免费我还真看不到有啥好处,别说很多服务器用这个,大型企业用的都是AIX、HP-UX之类的,我以前干这个的,因为人家的技术支持非常完备,出问题直接找原厂给你来人解决。Linux呢?很多东西所谓的高手都搞不定,你一样要花钱请Redhat之类的来支持,何必呢?

别说Android的代码不干净,因为Google用到了Linux得到了效益,而没有回报给Linux。这个我真就不明白了,大量的个人用户根本就是完全不回报Linux的,他们凭什么用?如果Linux是这种态度,那你指望写Linux核心代码的人才能用Linux?奉献如果加上索要回报,这真让人鄙夷。Google至今很多东西都是免费的,难道回报给Linux才叫回报,回报给全球的网络用户就不叫回报了?别说所有的Linux核心开发者都不用Google的服务,有些东西,并不是要把好处送到你手里。

所以,基于以上的观点,Android被踢出Linux核心我并不反对,这是核心开发者的权利,而Android没有违反GPL也并不应该看成是作恶。但是Linux如此下去,前途堪忧。所以这些技术和自由软件宅们,永远都不知道用户需要什么,因为他们严重,自由永远>用户需要

TOP

引用:
原帖由 henvelleng 于 2010-2-7 15:30 发表
还有,从来没有人说过open source == free,阻碍open source进程的最大障碍在于商业代码本身的不干净
我觉得你的说法是错误的:open source的最大障碍,不,是所有软件的最大障碍——————就是没人用,可怜很多open source的归宿恰恰就是这样,No user。

我不希望Linux将来会到这一步,Linux和Android应该双赢,而不是将来双输。

TOP

GNU的想法是:一个程序只专注做一件事情,并将它做到最好,最终使用者将许许多多这样的程序串起来使用。分流意味着,同样的事情有重复的项目在做,那么开源社区的资源就被浪费了一半,无论是测试的人还是开发的人。我们不需要这样内部竞争

对于商业公司来说,开源意味着以较小的代价对外宣传自己的产品和技术,会引来很多人来使用、测试、提交bug和改进的建议。至于是不是能引来commiter来贡献代码,那不是短期需要考虑的事情。如果真有人提交代码,那么说明这个开源项目已经成功运作起来了,已经有足够数量的用户了,以至于能吸引到外面的开发者的眼球和兴趣(至少这意味着他本人承认了可用性所以在使用该软件并对其代码架构和技术含量给予了较高评价),这个时候公司完全可以考虑直接给报酬甚至是招安,没有任何问题

google为什么会引来争议?因为它没有把自己improved feature回馈给社区。google不能被当作普通的用户来看待,它在用开源社区的成果提供服务直接谋取金钱,而普通用户仅仅只是使用,他们主要做到在使用之便时向身边人宣传就已足够,哦不,实际上他们仅仅只是使用就已足够

TOP

发新话题
     
官方公众号及微博