你好,我是陈亦峰,欢迎你和我一起学英语。
今天我们继续阅读Open Source Benefits to Innovation and Organizational Agility这篇文章。我为你精讲文章的下一部分。
The third benefit open source offers is a better way of building software. As organizations scale their teams and applications, they can create silos between product teams, which in turn can create equally as many development silos. When organizations strategically pair open source with inner-sourcing programs – creating internal networks of shared code, transparency, increased collective code ownership and collaboration – organizations and teams speed knowledge transfer, and produce greater quality code. This in turn leads to more reliable software.
A bank headquartered on the west coast concluded after performing an analysis of their development that only 20 to 25 percent of their code was shared across the organization, and that 50 to 70 percent of their code was redundant, creating duplicate software. They selected six software development teams, created a shared code repository, and developed a process for exposing and sharing those code repositories to different groups within the organization. As an immediate result, their teams doubled the amount of code that was developed and shared, which directly reduced the amount and cost of redundant code.
开源的第三个好处是提高软件开发质量。随着一个组织的团队和应用不断拓展,产品团队之间会形成“孤岛”,进而形成同样多的开发孤岛。当组织战略性地将开源与内源项目(内源项目旨在创建一个组织内部网络,来共享代码、提高透明度、增加代码集体所有权和鼓励内部协作)结合起来之后,组织和团队就能加速知识转移,产生更高质量的代码,并最终发布更可靠的软件。
一家总部设在美国西海岸的银行对其软件开发进行分析后得出结论,只有20%到25%的代码在整个组织内部共享,而50%到70%的代码是冗余的,结果产生重复的软件。他们选择了六个软件开发团队,创建了一个共享的代码库,并开发了一个将代码库公开分享给组织内不同团队的流程。立竿见影的结果是团队将开发和共享的代码量增加了一倍,直接减少了冗余代码的数量和成本。
As organizations scale their teams and applications, they can create silos between product teams, which in turn can create equally as many development silos.
我们先来看一个词silo,它的原意是“农场里储存粮食或草料的筒仓”,看起来很像一个又一个挨得很近的水桶,但每个都高耸、密闭,各自独立,互不相连。后来,商业管理领域的学者就利用silo的这个形象,引申出新的一层意思,中文翻译叫“谷仓现象”,用来比喻企业内不同部门各自为政、不愿分享信息和资源的现象。有的翻译怕中国读者不了解谷仓的比喻含义,也会翻译成“孤岛现象”。
这篇文章的长句比较多,正好是我们复习长句阅读技巧以及各类从句的好机会。
我们从第一句话开始看,首先来找主语和谓语动词。
第一句话的主语里面藏了一个定语从句,而且省略了引导词that或者which,写完整的话应该是benefit that/which open source offers,开源带来的好处,动词是is,我们上次讲过be是系动词,不是实义动词,所以后面跟着的结构是表语,核心词是way,所以是一个名词短语做表语,一种更好的编程方式。
第二句话,我们同样先找主语和谓语动词。
一看到第一个词As开头,又是我们熟悉的时间状语从句,先放在一边。往下看到主语they,他们是谁,一会儿回到从句里面去找;接下来我们看到情态动词can,情态动词表示说话人的语气,这里的can表示一般的可能性,但情态动词不能单独做谓语,必须要和实义动词或者系动词连用构成谓语,所以这句话的谓语是can create,表示非常有可能造成产品团队间的孤岛。
句子的主干找到之后,我们再回过头去看一下前面的状语从句,看看主语they指的是什么。从句里面的主语是organizations,指各类组织(这样说比较全面,企业也是某一种组织),后面的they应该也是指的各类组织;谓语动词是scale,意思是“扩大、拓展”。我们把状语从句的意思和主干连在一起,就很清楚了:随着一个组织的团队和应用不断拓展,组织内的产品团队之间就很有可能会形成“孤岛”(或者“谷仓”)。
这句话还没有结束,从逗号和which我们可以判断出来,后面还跟着一个非限定性定语从句,。我们在前面讲座中说过,非限定性定语从句起到补充说明、增加信息的作用,从句既可以修饰先行词,也可以修饰整个事情。这里的从句就是修饰前面讲的“在组织内的产品团队之间就形成孤岛”整个事情,进而补充说明这个事情还能再进一步,在开发团队之间也形成同样多的孤岛。
When organizations strategically pair open source with inner-sourcing programs – creating internal networks of shared code, transparency, increased collective code ownership and collaboration – organizations and teams speed knowledge transfer, and produce greater quality code.
inner source的概念这几年提得越来越多,我们先来看一下维基百科的定义,了解下它的含义。除此之外呢,因为它是本世纪产生的新词,也有写成innersource、InnerSource、inner-source的,这几种写法都是可以的。
InnerSource is the use of open source software development best practices and the establishment of an open source-like culture within organizations. The organization may still develop proprietary software, but internally opens up its development. The term was coined by Tim O’Reilly in 2000.
简而言之,inner source是用开源的开发方式来做一个组织内部的开发平台。说得更加直白一点,就是闭源代码平台在公司内部对内的“开源”。
对社交编程(Social Coding)还有GitHub等网站,你应该都比较熟悉。那你应该也非常清楚社交网络对开发的激励作用:代码写完交给老板交作业,和提交给社区大家一起讨论修改,感觉当然是完全不一样的。但是,对于一些产品线复杂的大型厂商而言,简单依靠类似GitHub或者GitLab这样的托管平台显然解决不了问题,但如何在传统的专有软件闭源环境中推广开源的文化,说服不同团队开放代码,如何建立访问权限体系,如何激励高贡献员工,如何打通不同的生产环境……这都是需要逐一解决的管理问题。
当然,最适合搞内源平台的还是大厂,产品单一的初创企业很难有那样的内部开发人员数量,人气不够效果也会大打折扣。
所以,inner source翻译成“内部开源”平台应该是准确的。我也看到过有的媒体将其简化成“内源”平台,这样简化也不是不可以,但恐怕简化之后,很多人需要知道一些背景和来龙去脉才能理解。
解释完内源平台的概念,我们回到文章里继续看这句看似很复杂的长句。
一上来第一个词就是When,出现它一般就是时间状语从句,我们先放一边。然后是前后两个破折号(和两个逗号是一样的作用),一看就是插入语,也先放一边。我们先找到主语organizations and teams,然后找谓语动词,speed和produce,这是两个并列动作。主干的意思非常清楚,组织和各团队加快了知识转移和改善了代码质量。
又快又好的编程是怎么实现的呢?我们回去看状语从句,里面的谓语动词是pair,把两样东西配一起,也就是开源结合内源平台,而破折号里面的插入语对内源平台的概念做了补充说明。这样把前后意思一串,就非常清楚了:开源加内源,编程的活干得又快又好。
最后一个小短句就是结论,主语this指代前面一大堆,谓语动词leads to,表示最后的成果,几乎是更为可靠的软件。
我们通过这个长句,来复习一下宾语从句。这句话的主语和谓语动词都非常明显,主语就是bank,带一个后置定语,一家总部在美国西海岸的银行;谓语动词是concluded,得出结论。根据什么得出结论呢?谓语动词后面紧跟了一个分词短语做时间状语,我们知道这家银行就他们的软件开发进行了分析之后,得出了结论。
那么结论的内容是什么呢?也就是concluded的宾语,我们看到了that引导的两个并列的宾语从句,分别说明了分析研究的结论。第一个结论是共享代码只占20%到25%,第二个结论是冗余代码高达50%到70%。
在此基础上,这个句子还没有完,逗号后面还跟了一个分词短语来做结果状语。结果怎么样呢?结果就是重复劳动,产生了重复的软件。
看了很多主从结构的复合句,现在我们通过这句话来讲一下简单句和并列句。
所谓简单句,就是只有一个结构的句子,谁(主语)做了什么(谓语)。
虽然上面这句话看着也比较长,但它的结构其实很简单。主语就是They,根据前面一句话,我们知道这里的they,指的是美西那家银行里面的那些人。他们干了什么呢?后面可以找到并列的三个谓语动词,selected、created、developed,也就是美西银行的“他们”连续做了三个动作:选开发团队、建共享代码库、开发内源流程。
从内容看,这就是一个简单句。但是,按照英语语法里一个简单句只能有一个谓语动词的大原则,虽然是同一个主语,但既然做了三个动作,从形式上讲也可以算并列句。争论这句话究竟是简单句还是并列句没什么意思,你明白背后的道理即可。
所谓并列句(compound sentence),是两个或多个简单句的并列,各简单句意义同等重要,相互之间是平行并列的关系,而没有从属关系。如果有从属关系,就有主句和从句,变成复杂句(complex sentence)。
并列句由并列连词相连,基本结构就是:简单句+并列连词+简单句。并列连词只有下列七个,取每个并列连词的首字母拼成非常著名的“FANBOYS”,这样可以帮助你记忆。十年前还有一部美国电影《星战迷友》,英文名称就是Fanboys。
FANBOYS:
For - Explains reason or purpose (just like “because”)
I go to the park every Sunday, for I long to see his face.
And - Adds one thing to another
I like to read, and I write faithfully in my journal every night.
Nor - Used to present an alternative negative idea to an already stated negative idea
I neither love nor hate to watch TV.
But - Shows contrast
Television is a wonderful escape, but it interferes with my writing.
Or - Presents an alternative or a choice
Would you rather read a book or watch a good TV show?
Yet - Introduces a contrasting idea that follows the preceding idea logically (similar to “but”)
I always take a book to the beach, yet I never seem to turn a single page.
So - Indicates effect, result or consequence
I like to read, so my grammar is always on-point.
expose to是固定搭配的动词短语,常用的意思有两个,第一个意思是“透露或揭露原本保密的信息”,英文的解释是to reveal private information to someone or something。
刚才这个句子里就是这一层意思,即“把原本保密的代码库开放给公司内所有部门”。
例句:She was arrested for exposing state secrets to a foreign agent.
翻译:她因为向外国特工泄露国家机密而被捕。
expose to的第二层意思是“暴露、接触(而遭受危险或不快)”,例如接触病毒、胶卷曝光等,英文的解释是to bring someone, something, or oneself into contact with someone or something, often with negative consequences。
例句:Well, my mom is really sick, which means that we might have exposed the kids to the flu virus when we had her watch them last week.
翻译:嗯,我妈妈病得很重,这意味着上周我们让她看孩子的时候,可能已经让他们接触了流感病毒。
expose的名词形式是exposure。例如,an actor with much recent exposure in television,最近经常在电视上露面的演员。我们在投资领域经常会看到risk exposure、FX exposure等说法,指的是没有对冲保护的投资,因而存在风险,一般翻译成“风险敞口、外汇敞口”。
As an immediate result, their teams doubled the amount of code that was developed and shared, which directly reduced the amount and cost of redundant code.
as a result也是常用的固定搭配,表示结果,中间加上一个immediate,强调是“立竿见影立刻产生的结果”。
最后加黑部分又是一个非限定性定语从句,which指代前面阐述的整件事情,即各团队开发和共享的代码数量翻番。只有非限定性定语从句的which才可以指代整个事情,强调正是这件事直接降低了重复代码的数量和成本。
好了,今天我们就讲到这里。除了重点强调一些特别需要注意的词汇以外,这篇文章和下一篇文章的重点都是分析句子的成分和结构,这是一个需要你不断重复的过程。只有在一句又一句话的不断重复练习中,你对英语长句的感觉才会得到逐步加强。
之前我们提到过,英语可能拥有世界上那么多种语言里最为简单的句法结构之一,不管句子多长,都只有简单句、并列句和复杂句这三种情况;而所有的复杂句不管多复杂,都可以找到一个由简单句组成的主干,其他都是枝叶,用来修饰主干的某个成分。阅读英文句子,最重要的就是找到主干的主谓结构。
今天我们还专门提到了并列句的概念,也就是两个或多个简单句,通过并列连词相连构成的相互平行并列关系的长句。句子之间如果没有从属关系,就是并列句;如果有从属关系,就有主句和从句,就是复杂句。所有英语句子,逃不出这三种情况。
并列句由并列连词相连,而并列连词只有七个,你只要记住FANBOYS这个缩写就好了。当然,每一个并列连词的具体用法,还是要通过一些例句来深入了解和巩固,我给你留的课后作业就是这个目的。
1.你可以阅读下面两篇关于连词以及并列连词的短文。
2.你可以完成关于连词的几个小练习,链接里附有答案和解释。
如果在学习中有什么问题,你可以在留言区提问,同时欢迎你把学习心得分享出来,我们一起每天进步一点。