开放的意义

Google高级副总裁Jonathan Rosenberg于2009年12月22日撰写下文。观望3日,居然无人动手,唯见数篇快餐翻译,深感可惜……敝菜不才,愿翻译之,与互联网上的诸君共享。
 
事隔三日,终于翻译完毕。虽然这期间发生了一些事情,但无论如何,这篇译文的完成仍令我感到欣慰……
 
译文最初发在天幻网社区,并在那里陆续完成,得到了天幻好友们的很多关照。欢迎移步围观
 
以下是Jonathan的邮件正文:

The Meaning of Open
开放的意义
我在上周给Google员工们发了一封电子邮件,分享了与互联网、Google以及我们用户相关的“开放”一词意义之思考。本着开源的精神,我认为将这些思考与Google以外的人们分享是合适的。
在 Google,我们相信开放的系统会胜利。它们带来了更多的创新、价值与消费者选择之自由,并为产业带来活力、利润,以及一个充满竞争的生态环境。很多公司也会发出一些类似的声明,因为他们知道摆出开放的姿态会对他们的品牌有好处,同时还毫无风险。再说了,我们这个产业还从来没有对开放一词的真正含义做出过明确的定义。这是一个罗生门式(译者注:Rashomon,直译为罗生门,在心理学中代表观察者的主观意识一方面带来对事实的歪曲与误导,同时又能够创造出对自己有利的解读。这一用语来自黑泽明的电影,被传为惊世之作的《罗生门》)的用语:高度主观而又至关重要。
最近,开放这个话题在Google当中被频繁的提起。我有时在讨论产品的会议中听到有些人发出“我们应该更加开放”的呼声。这往往会导致一场辩论,从而揭示出一个真相:尽管会议室中差不多每一个人都信仰开放,但我们并不一定认可它实际的意义。
这样的事情发生了很多次,于是我认为有必要将我们对于开放的定义开诚布公:这个表述必须清楚无误,且人人都能够理解并支持。基于我本人在Google的经验以及几位同事的参与,我总结出来了一些定义。这些定义是我们在运转这个公司以及为产品做决策时所依据的原则,因此我鼓励你们仔细的阅读,评价,并对其展开辩论。然后,吸收它们,并尝试在你的工作中贯彻这些原则。这是一个复杂的课题,而如果产生了辩论(我可以肯定是会有的),这辩论也应开放!那么,请阅读并留下你的看法吧。
我们对开放的定义分为两个组成:开放之技术,以及开放之信息。开放之技术包括开放源码,即我们发布并积极支持的那些帮助互联网成长的代码;开放标准,即我们遵循一系列约定好的标准,同时如果这个标准还不存在的话,我们将投身于创建这个标准,以助益于整个互联网之前进(不仅仅是对Google有利)。开放之信息则是,当我们拥有用户的一些信息之时,我们用这些信息带来对他们而言有价值的事物;对于我们拥有他们哪些信息,我们是透明的;最终,我们将他们信息的最终控制权交给他们自己。这些就是我们应做之事。在很多地方我们并没有做到这些,但是我希望,在这些文字的指导下,我们可以逐渐抹平现实与理想之间的缝隙。
如果我们可以全身心的、持续的投身于开放之事业——我相信我们是可以的——那么我们将有极大的机会领头走在产业的最前方,并且可以鼓励其他的公司和其他产业投身于这同一个事业。如果真能如此,则世界将成一福地。
开放的系统会胜利
为了更加细致的了解我们现在的状况,首先强调开放的系统会胜利是很有帮助的。这与传统培训出来的MBA的观念相反——他们受到的教育是,创造一个封闭的系统,使其流行,然后将其灌入一个产品生命周期,从而生成一个可持续的竞争优势。这一传统的智慧认为公司应当通过把用户锁入的方式把竞争者锁在门外。遵循这个方针有不同的策略——制造刮胡子刀的把架子造的便宜而把刀片卖的贵,而老牌IBM则把大型主机造的贵而软件……也同样昂贵。无论哪种方法,一个管理良好的封闭系统可以带来大量利润。短期内,他们或许会带来设计精良的产品——最显著的例子就是iPod与iPhone;但是最终,一个封闭系统内的创新将逐渐退化为简单的增值举动(四刀片的刮胡子刀真的比三刀片的好么?),因为人们的思路将局限于维持现状的框框中。沾沾自喜是任何封闭系统的标志。如果你无须努力工作就能够保留你的客户,那么你将不会努力工作。
开放的系统则恰恰相反。他们竞争激烈,而且更加富有活力。在一个开放的系统中,一个富有竞争力的优势并非来自于把用户锁入的意图,而是来自对一个快速变化之系统的、超越业内其他任何人的理解,并且借助于此来创造更好、更有创意之产品的举动。在一个开放的系统中,一个成功的公司既是一个快速的创造者,又是一个思想领袖;思想领袖的品牌价值吸引着用户,而快速的创新则保留着他们。这并不容易,非常的不容易。但快速的公司们是无所畏惧的,而他们的成功往往带来巨大的股东价值。
开放的系统具有催生产业的潜力。他们汇聚广大群众的智慧,掀起商家的竞争大潮,创新,并且胜利——不仅仅因为他们商业策略高超,更重要的是因为他们产品的种种优点。人类基因组计划就是一个很好的例子。
在 Wikinomics一书中(译者注:Wikinomics直译为维基经济学),Don Tapscott和Anthony Williams解释了在20世纪90年代中期的私人公司是如何发现大量的DNA序列数据,为它们上专利,并对于哪些人可以以怎样的价格拿到这些数据进行掌控。如此多的基因信息被私有化,使得研究成本居高不下,而药物的研究效率也非常低下。然后在1995年,默克制药(Merck Pharmaceuticals)与华盛顿大学的基因组测序中心(Gene Sequencing Center at Washington University)改变了游戏规则:他们带来了一个全新的、开放的创意:默克基因索引(Merck Gene Index)。在三年间他们公开发布了超过800,000个基因序列,而其他的合作项目也很快加入到了这个行列中。在这个产业中,早期的科研在传统上都是在私人的、封闭的实验室中进行的。因此,默克的开放举动不仅改变了整个产业的文化,同时也加速了生物医药研究和药品开发的节奏。它令全世界的研究者们可以不受限制的访问一个开放的基因信息资源库。
还有另一个角度可以看到开放和封闭系统的不同。在开放的系统中,创新可以发生在所有的层面—— 从操作系统到应用层——而并非仅限于顶层。也就是说,一个公司无需因为他人造成的瓶颈而影响到自己产品的进度。比如说,如果我用的GNU C编译器有一个bug,那么我可以自己修复它,因为编译器是开源的。我不用提交一个错误报告,然后寄希望于那边能够快速的修复它。
因此,如果你正在尝试让整个产业尽可能宽广的发展,那么开放的系统远胜封闭的系统。而我们在互联网这块做的事情正是如此。我们对于开放系统的投入并非是无私的。正相反,这是一个很好的业务,因为一个开放的互联网创造着一股持续稳定的创意流,这股创意流吸引着用户来使用,并灌溉了整个产业。在Hal Varian的Information Rules一书(译者注:此书书名直译为《信息规则》,但在英文中也有“信息统治一切”之意味)中有一个公式,可以在此处一用:
回报 = (投入到产业中的所有价值)*(我们占有的那部分产业价值)
在其他因素不变的情况下,我们的占有率增加10%和产业总价值增加10%带来的回报上升应该是一样的。然而在我们这个产业中,产业总价值上升10%将产生远大于此的回报,因为这10%将在整个产业中刺激规模经济(economies of scale),令所有竞争者的生产力提高,成本下降。因此只要我们持续不断的贡献优秀的产品,我们将随着整个生态系统而繁荣。我们可能会分到比较小的一块,但这是从一块变大了的蛋糕上切下来的。
换言之,Google的未来取决于互联网保持一个开放之系统。而我们对开放的拥护将令所有人的web得以成长——这所有人当中也包括Google本身。
开放之技术
开放的定义起于自互联网诞生以来便与之相伴的技术:开放标准,以及开放源码软件。
开放标准
网络从来都因标准而昌盛。在19世纪初,铁路刚刚铺在美国大地上的时候,铁轨间距有七种不同的标准。这个网络一直难以繁荣并扩展,直到不同的铁路公司达成4 英尺8.5英寸标准铁轨制的那一刻。(在这件标准之战上倒是真的发生了一场不折不扣的战争:内战的结果是南方输给了北方,于是在战争结束后,南方铁路被迫将超过11,000英里长的铁轨转换为新标准。)
所以这就成为了一个惯例。1974年,Vint Cerf和他的同事们提出了一个开放标准的草案,以此将全美国的几个计算机网络连接起来(这个草案就是后来的TCP/IP)。他们并不知道一共有多少个网络,因此Vint提出“互联网”必须是开放的(Internet一词正是Vint所提出)。所有的网络都可以通过TCP/IP连接,而这一决定的结果就是,现在的互联网上有差不多6.81亿个主机相连。
今天,我们依据开放标准开发产品,因为互操作性(interoperability)是用户选择的关键因素。这对于Google的产品经理和工程师们意味着什么?很简单:无论何时何地,尽可能的使用已经建立起来的开放标准。如果你发现自己进入到一个还没有建立起开放标准的领域,那么建立它们。如果现有的标准表现的差强人意,那么改进它们。改进要尽量简单,并且有充足的文档来描述。我们的首要任务将永远是用户以及整个产业,而并非限于Google自身的利益。因此你应该与标准委员会一起工作,让我们带来的改进成为公认规范的一部分。
这方面我们有优良的历史。在Google数据协议(Google Data Protocol,我们的标准API协议,基于XML/Atom)诞生的早期,我们以IETF Atom协议工作组成员的身份(IETF Atom Protocol Working Group)帮助完成了Atom规范。最近我们和W3C一起建立了一个标准地理定位API,这个API可以帮助开发者建立基于浏览器的地理位置感应应用。这个标准不仅有助于我们自己,还有助于所有人:用户们将可以体验到大量来自上千开发者的、更加有意思的应用。
开放源码
大部分这些应用将基于开源软件——这一现象带来了过去15年间互联网的爆炸性发展。这里也有一个历史上的旧例:虽然“开源”一词诞生于90年代末期,但借助共享有价值的信息来催动整个产业之发展这一概念远在互联网诞生之前便存在了。在20世纪初,美国的汽车产业开始实行交叉许可协议(cross- licensing agreement)。在这个协议下,制造商们可以开放并自由的共享专利。而在这个协议出现之前,二冲程汽油发动机(two-cycle gasoline engine)专利的所有者一直是整个产业的瓶颈。
今天的开源早已远远超出了当年汽车制造商“专利池”的范畴,而且带来了复杂软件组件的开发——Linux,Apache,SSH,以及其他——Google的建造正是依赖了这些。事实上,我们的产品中使用着多达数千万行的开源代码。我们也反过来做出贡献:我们是世界上最大的开源贡献者,贡献了超过800个项目,共计2千万行代码给开源界,其中有四个大项目(Chrome,Android,Chrome OS,以及Google网页工具包),每一个都有上百万行代码。我们有团队为Mozilla和Apache提供支持,还有一个专门用于托管开源项目的服务(Google Code)——这个服务已经托管了超过250,000个项目。这些举动不仅是用来确保别人可以帮助我们创造更好的产品:这同时也意味着如果我们没有足够的创新,那么别人可以使用我们的服务作为基础来发展他们自己的产品。(译者注:这句话说的直白点就是,挖取别人的智慧和辛苦劳动来为我们做嫁衣并非我们的唯一目的,我们这样也是帮助别人发展,从而刺激我们自己持续不断的创新。)
我们的代码开源是遵循标准的:我们使用开放的Apache 2.0协议,在此协议下我们不会去控制这些代码。别人可以取用这些开源代码,修改之,打包之,并放在自己的产品里发布贩卖。Android就是一个经典的例子:多个OEM(译者注:此处指智能手机生产商)已经通过Android的代码弄出了很多不错的东西。然而这同时也是有风险的,因为软件可能会被拆分成不同的分支,分支之间可能产生不兼容(我们可以回想一下Unix系统是如何衍变成不同口味的——Apollo,Sun,HP,等等)。这是我们在 Android的发展中需要避免的问题。
虽然我们致力于将我们的开发工具开源,但并非所有Google产品都是开源的。我们的目标是保持互联网的开放,从而推动选择和竞争,防止用户和开发者被锁入某一个区域。然而在很多情况下,尤其是我们的搜索和广告产品,将代码开放不但对上述目标毫无帮助,反而会伤害到用户。搜索和广告市场已经处于竞争激烈的状态,而转换成本非常的低,因此用户和投放广告者已经有了充足的选择,不会被锁入。更不用说开放这些系统将会导致某些人通过钻我们算法的空子来操作搜索和广告的排名,导致每个人上网质量的下滑。
所以,当你建造你的项目或添加新功能的时候,停一下,问一下你自己:将这个项目的代码开源是否会促进开放的互联网?这是否将会为用户、广告投放者以及合作伙伴带来更多选择?这是否会带来更大的竞争以及创新?如果答案为是,那么你应该将其开源。同时当你将此事付诸行动之时,记得做正确的事:不要仅仅把这些代码扔到墙的另一边,然后便任其在公共领域漂浮,放任不管了。确保你有足够的资源来照看这些代码并鼓励开发者的参与。Google网页工具包(Google Web Toolkit,简称GWT)就是一个好例子:我们在开放的环境下进行开发,并通过公开的错误追踪和源代码控制系统来维持项目的运转。
开放之信息
开放标准和开放源码铺好的基础带来了一个承载了无时无刻不在上传巨量个人信息——照片,通讯录,更新——的互联网。共享信息的规模以及这些信息将被永远保存,这带来了在数年前还很少有人想过的问题:我们要怎样对待这些信息?
回顾历史,新生的信息技术往往会带来新形式的商业。比如说,当公元前3000年的地中海商人们为了防止货物在运输过程中变得缺斤少两而创造了封条(seal,或称bulla)的时候,他们的商业范围就从本地扩展到了很远的地域。类似的转变还发生在书写文字来临的时候,以及更近一些,计算机们到来的时候。在这个过程中的每一步,交易的过程,以及双方就互利而达成的协议,都是被一种新形式的、可以贯彻契约的信息来推动促成的。
在网上,这个新形式的商业就是个人信息与其他有价值之事物的互换。这样的交易我们每天有上百万人在参与,而这其中潜藏着极大的利益。一个卖汽车保险的可以实时监控一位客户的驾驶习惯并为良好的驾驶习惯给予一些优惠,或者为超速驾驶收取额外的费用——有了GPS跟踪提供的信息,这些都可以实现,而在几年前这些还根本没有。这是一个相当简单的交易,不过我们会遇到很多更加敏感的情景。
比如说,你的孩子对某些药物过敏。你是否会允许这些信息储存在一个智能的无线注射器上,以防止某个急救员或是护士不小心给你的孩子注射这些药物呢?我个人对此是认可的,但你可能会觉得在孩子的手腕上带一个金属手镯就足够了。这就是问题所在:人们可以做出不同决策——他们往往正是这样做的,而当事关他们个人信息的时候,我们需要平等的尊重他们的每一个决策。
所以,虽然让更多个人信息在线可以为所有人带来好处,但对这些信息的使用应当遵循一系列的原则:这些原则必须负责,可伸缩,并且足够灵活,能够成长以适应我们产业的变化。而且,与开放的技术不同——我们追求开放的技术是为了让互联网的生态系统得以成长,但我们对开放信息的诉求则是为了建立起在此生态系统内的每一位个体的信任——这包括用户,合作伙伴,以及客户。信任,是网络上的真金白银。因此,为了建立信任,我们在开放信息这一点上遵循三大原则:价值,透明,以及控制。
价值
第一个也是最首要的,我们需要制造对用户有价值的产品。在很多情况下,我们可以在拥有更多用户信息的基础上把产品打造的更加优秀;但如果人们不理解提供个人信息能给自己带来什么好处,那么人们对隐私问题感到担忧是很正常的。然而,如果你向他们解释这一价值,那他们则往往会认可这一交易。比如说,上百万的信用卡用户同意信用卡公司保留自己的购物记录,而自己则得到了无需携带现金到处跑的便利。
今年三月我们启动了基于兴趣的广告服务(Interest-Based Advertising,简称IBA),在这个服务上面我们做的就相当成功。IBA令广告相关度更高,因此更加有用。这正是我们基于信息收集而创造的额外价值。IBA还包含了一个用户意向管理器,这个管理器清楚地解释了用户提供自己的信息能得到什么回馈,并允许用户退出或进行设定。在众多意向管理器的访客中,绝大多数选择了进行设定而非退出,因为他们意识到接收与自己关注方向相符的广告是有价值的。
这应当成为我们的默认方式:使用浅白的语言告诉人们,我们知道他们的哪些信息,以及为什么我们知道这些会对他们有价值。你以为你的产品价值明眼人一看便知因此无需费口舌解释么?你很可能是错的。
透明
接下来,我们需要让用户方便的知道我们收集并存储了和他们相关的哪些信息——这些都是在他们使用我们产品的时候收集到的。随着Google Dashboard(直译为仪表盘)的启动,我们在这个方向前进了一大步:在这个仪表盘上,用户可以看到每一个Google产品收集了他们的哪些个人数据(目前仪表盘覆盖了20多个产品,包括Gmail,YouTube以及搜索),并且可以修改他们的个人设置。据我所知,我们是提供此类服务的头一家互联网公司,而我也希望这能够成为一个标准。另一个很好的例子是我们的隐私声明:这份声明是为了人类而写的(而并不仅限于律师们)。
我们还可以走的更远一些。如果你正在管理一个消费型产品而你又从用户那里收集了信息,那么你的产品应该成为Dashboard的一部分。如果它已经是了,那也并不代表你的工作做完了:每当有新特性或新版本出来之时,你需要问问自己,有没有什么新东西是可以添加到Dashboard上的(这甚至可以包括用户在其他站点留下的公开信息)。
同时,你也要思考在你的产品内部要如何增加透明度。比如说,当你下载一个Android应用的时候,设备会告诉你这个应用将会获取有关你以及你的电话的哪些信息,并让你决定是否继续使用。你无须掘地三尺去探明你在泄露哪些信息——手机已经清楚的告诉了你答案,并让你做出选择。你的产品是这样的么?你是否能够通过增强产品的透明度来提升用户的忠诚度?
控制
最终,我们必须永远让用户拥有控制权。如果我们手上有一位用户的信息,好像IBA那样,我们应该允许用户简单的删除信息并走人。如果他们使用了我们的产品,在我们这里储存了内容,那么这些内容是他们的,不是我们的。他们应当能够在任何时候导出或删除这些内容——这应该是免费而且简便的。Gmail就是一个绝佳的例子:我们提供往任何邮箱地址的免费转发功能。可转换的功能至关重要,因此不要往你的产品周围盖墙:你应该做的是搭建桥梁。给用户真实的选择权。
如果对于用户数据的处理有现成的标准,那么遵循这些标准。如果这个标准还不存在,那么致力于创造一个开放的新标准——这将使整个互联网获利。虽然有时候封闭的标准看似对我们更加有利,但是记住了——它并非如此!同时我们需要让脱离Google变得尽可能的容易。Google不是加州旅馆——你可以在你高兴的时候退房,并且离开!(译者注:加州旅馆是一首美国流行歌曲,歌词的最后一句是“但你却永远无法离开!”)
正如同Eric在他的2009战略回忆录中所说,“我们不会绑架用户,我们让用户通往竞争对手的道路更加平坦。”这项策略有点像是飞机上的紧急出口——这是我们的飞行员CEO相当喜欢的一个类比。你希望永远不要使用它们,但你会高兴地看到它们在那儿,同时如果看不到他们你会很恼火。(译者注:Eric E. Schmidt是Google的CEO,曾经有一段商业飞行员的飞行经验,于是给人感觉就好像他在驾驶着Google这架大飞机在飞行……)
因此,我们有一个团队:数据解放前线(the Data Liberation Front)。这个团队的工作就是令“退房”更简单。最近的例子包括Blogger(离开Blogger并投奔其他服务的博主们可以方便的把他们的内容都带走)以及Google文档(用户现在可以把他们所有的文档,幻灯片,以及表单打包成zip文件并下载)。在建造你的产品时为数据解放前线小组的魔术做好准备。一个不错的方法是通过一个优秀的公开API将所有用户的数据晒出来。不要等待v2或v3:在早期的产品策划会议中便开始讨论它,并让这个功能从一开始便出现在你的产品当中。
当英国卫报的记者们评价数据解放团队的工作时,他们声称这对于“在以前的商业战场上树立起对锁入理论之信仰”的人和企业而言是“违反直觉”的。他们说得对,对于那些陷于老旧的MBA式思维而无法自拔的人们而言这是违反直觉的,但如果我们做好我们的工作,这个情况很快会改变。我们的目标是让开放成为默认之常态。人们将好像被地心引力吸引一般投向它,他们会认为它应该在那儿,同时会因为得不到它而怒火冲天。当开放成为直觉,我们就成功了。
当更大的就是更好的
封闭系统是被良好界定并且有利可图的,但这仅仅对于那些可以掌控该系统的人和企业而言。开放系统是混沌而有利可图的,但这仅仅对于那些充分的理解了该系统并比其他人动作都快的人和企业而言。封闭系统往往成长迅速,而开放系统的进化要相对缓慢一些。因此,将宝押在开放上是需要乐观,信念,以及长远的眼光的。幸运的是,在Google的我们拥有全部的三个要素。
正是因为我们的努力,我们对技术的了解,以及我们对大型项目的欲望,我们才能够承担起大的挑战——这些挑战需要大笔的投资,并缺乏明显的、短期的回报。我们能给全世界的街道拍照,以便于你们在考虑租用一个千里之外的房子的时候可以事先查看一下房子周围的环境如何。我们能扫描上百万的书籍并让它们可以被广泛阅读(当然,这建立在对出版社和作者们权利的尊重之上)。我们创建的电子邮件系统提供上G的存储空间(现在已经超过7个G),而其他邮箱服务目前提供的空间只有我们的零头。我们能提供即时翻译页面的服务,翻译语言多达51种。我们能够通过处理搜索数据来帮助公立医疗机构在流感爆发之前便探查到它们。我们能创造一个更快速的浏览器(Chrome),一个更好的移动操作系统(Android),以及一个全新的通讯平台(Wave),并向全世界开放它们——人们使用它们构建自己的内容,进行个性化,而它们也因此而成长。
我们能够做到这些,因为这些都是信息问题,而我们有计算机科学家、技术以及计算力来解决这些问题。当我们这样做的时候,视频,地图,移动终端,PC,声音,企业——无数个这样的平台因我们而变得更好,更具竞争性,并且更有创意。我们往往因为体型太大而遭到攻击,但正是因为大,我们才往往能够令不可能变为可能。
但是这一切都是建立在开放的前提下——如果我们没能做到开放,那么这一切都是无用的。所以,我们需要不断地推动自己。我们是否正在建设有利于我们这个产业的开放标准?是什么使我们没有开放我们的源代码?我们是否给用户提供了价值,透明度以及控制权?开放应得寸进寸,得尺进尺;而如果有人质疑这样做的好处,那么说给他们听:这不仅是好的,而且是最好的。在这个仍然年轻的世纪,开放将谱写商业贸易的新篇章,而当我们成功之时,也将是MBA课程被将主导未来几十年的新观念彻底颠覆之时!
一个开放的互联网改变了地球上每一个人的生活。它将能够把全世界的信息带到每一个人的掌中,并给予每一个人自由表达之力量。在今年早些时候我发给你们的一封邮件中,我已经描述过了我对于互联网未来的愿景,其中便包括了这些预测。但是在这里,我谈论的是行动,而非愿景。在开放之互联网的对面站立着很多势力——控制信息流通的政府们,以及为了维护既得利益而战的公司们。它们是强大的,而一旦它们成功,我们会发现我们将栖息在一个破碎的、一潭死水的、价格昂贵的以及缺乏竞争的互联网之上。
我们的技能以及我们的文化为我们阻止此事带来了机遇与责任。我们相信传播信息的技术之力量。我们相信为善的信息之力量。我们相信,开放是使信息之冲击更加广泛的唯一道路。我们是一群技术乐观主义者,我们相信开放之混沌将有益于所有人。但凡有任何机会,我们都将奋起战斗而推广它。
开放将会胜利。它将在互联网胜利,然后延伸至生活的方方面面:政府的未来是透明。贸易的未来是信息对称。文化的未来是自由。科学与医学的未来是合作。娱乐的未来是参与。这其中的每一个未来都将因开放之互联网而到来。
作为Google的产品经理,你所建造的将比我们每个人活的更久,而我们当中没有一个人能够完全看透Google的成长以及它将如何影响人们生活的方方面面。在这一点上,我们就好像我们的同事Vint Cerf一般:他从来不知道会有多少个网络想要成为这个“互联网”的一部分,因此他设定默认即开放。Vint毫无疑问是正确的。我相信我们也是。
更多相关文章
  • 6月19日,笔者与赵福军.丁道师.宗宁等老朋友一起参加了<站长>&速途沙龙,席间大家讨论到站长是否已死,社区的未来发展形态,微博与社区的竞争等热门话题,而让笔者感同身受.最有共鸣的话题则是"Discuz! 第三次开放".那么,笔者既不是站长,也不是开发者,为什 ...
  • 今天这日子,无论如何都应该留下点什么文字.最近的底线比较高,可能莫名其妙的就会触碰到不知哪条敏感的神经,不免令各个留下文字的人们有点蛋蛋的胆战心惊.不过张口说话.下笔写文章这种事情就跟吃饭一样.胆固醇过高?有致癌物质?不小心被噎死?可能吧,但你不能因为遇到这种事情就活活把自己饿死.诚然少吃大鱼大肉和 ...
  • FROM: http://www.csdn.net/article/2015-01-15/2823567-weixin-js-sdk-changes/2摘要:微信近期推出JS SDK,开放了包括分享.图像.地理位置.微店.微信支付等11个接口.新能力给公众号运营者.开发者更多的玩法.而这样的开放,在 ...
  • 今年3月初的时候,笔者有幸获邀参加一个关于腾讯战略的研讨会.在会上笔者悄然获悉腾讯将在未来会面向云计算推出一系列相关产品,而就在4月21日的时候,腾讯一惯低调开发的WEBQQ突然正式上线了3.0版本.很多业界人士于是在微博上讨论腾讯此产品的实质用意以及未来趋势,但在笔者看来,腾讯推出的这款产品或将会 ...
  • 又到周五了,意味着大家又要开始憋周报了,[email protected],某产品专员向他提单,牛人一看内容很扯,质问"你觉得这个需求有价值吗?"对方诚恳回答:"没价值,但是我总得写周报啊."牛人想了一分钟,回答说好吧我帮你做,因为我也得写周报啊.我想 ...
  •  谢文,互联网评论家,曾任和讯CEO.雅虎中国总经理中国许多平台企业目前的作为,与其称之为“开放”,毋宁叫做“吸星大法”,是单向利用自己优势的一种垄断.它们打着开放之名,却没有从根本上解决Facebook.iPhone已解决的平等博弈问题.中国尚无真正的开放平台<中欧商业评论>(以下简称 ...
  • 在今年上半年6月15日召开的“腾讯开放大会”中,腾讯董事局主席马化腾先生向媒体介绍了腾讯的开放计划,通过马化腾的介绍,腾讯将实行与第三方开发者共同分享利益收成的模式,使得腾讯.第三方开发者以及用户共同实现受益的最终目的.针对腾讯此举,有业界分析人士认为,这种模式可谓是当前互联网发展的全新模式,将对产 ...
  • 免费真正意义    在他们决定提供免费的服务器产品的过程中,Vmware承认这个领域内的竞争加剧了,他们正在采取措施以引起人们对他们平台的兴趣.微软,这个任何一个市场上的巨人,在说服客户使用他们的虚拟软件(Virtual Server 2005 R2)方面,采取了咄咄逼人的行动.Virtual Se ...
一周排行
  • 参考了:http://blog.chinaunix.net/uid-29550914-id-4226493.html部分一:vim7.4安装系统版本centos6.5;root权限su - root  卸载$ rpm ...
  • --1.创建ORACLE VCENTER表空间及数据文件CREATE TABLESPACE "VCENTER" DATAFILE '$PATH/VCENTER.DBF' SIZE 1G AUTOE ...
  • WindowsAzure虚拟机备份
    如果我们要在Windows Azure的虚拟机上进行一些“重要且高危”的操作,我们通常会想 ...
  •  近年来,IT技术发展迅速,随着各个企业IT系统的建设,网络架构从单一的局域网扩展到广域网,网络设备也是类型多种多样,路由器.交换机.防火墙.IDS.VPN等等,而且网络设备的供应厂商也是越来越多,这就对网络管理员提 ...
  • cut 截取    -d 分隔符    -f 指定要显示的字段        -f 1,3 1和3        -f 1到3sort 文本排序    -n 数值排序    -r 降序    -t 字段分隔符 ...
  • C语言中的指针和内存泄漏
    C 语言中的指针和内存泄漏在本例中, 已被分配了 10 个字节.这 10 个字节可能包含垃 ...
  • 1. 原始单据与实体之间的关系可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体.在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张 ...
  • Gradle系列教程之依赖管理
    这一章我将介绍Gradle对依赖管理的强大支持,学习依赖分组和定位不同类型仓库.依赖管理看 ...
  • 1.分别登陆两台主机#ssh-keygen目的是简单地在/root下创建目录.ssh,当提示输入passphase时输入两次回车,将生成两个文件:/root/.ssh/id_rsa/root/.ssh/id_rsa. ...
  • 1. 关闭shell中的响铃整体关闭 vi /etc/inputrc添加 set bell-style=none关闭个人用户 vi ~/.inputrc添加 set bell-style=none2. 关闭vi中的响 ...