.NET 开源关键决策者

微软全球开发平台事业部资深副总裁潘正磊是微软核心开发工具Visual Studio和.NET平台开发团队的领导人,1992年加入微软,从一位工程师做起,历练过多项微软全球性技术和管理职务,3年前也兼任微软亚太研发集团伺服器与开发平台事业部总经理,同时管理美国与中国两地的微软研发团队,就连C#之父Anders Hejlsberg都是她的部属。

潘正磊一手主导微软Visual Studio开发团队导入敏捷开发,拥抱DevOps思维,甚至她还是决定.NET开源的关键人物。

Q:你何时得知.NET要开源?

A: 这是我的决定,而不是被告知。

Q:为何微软需要这麽大的变革?

A: 原本大多是新创公司拥抱开源,但现在有越来越多大企业将开源视为战略的一环。开源商业模式也越来越完善,可以透过提供服务的方式来建立获利模式。软体的程式码只是软体其中一小部分的价值,更大的价值要靠服务(意指云端服务)来实现。

我们的市场竞争者Java也因开源而受到欢迎。比只靠内部.NET开发团队的脚步,大量开源社群参与的创新速度可以更快,我们也有类似Java社群规模的.NET开发人员在微软之外,只是我们没有善加运用。

Q:你如何说服老板,例如微软新任执行长Satya Nadella?

A: 有次和我的老板也就是微软云端和企业部门执行副总裁Scott Guthrie一对一面谈时,我提出.NET开源的计画,他也看到了上述类似的趋势相当认同我的决定,甚至要求我提前3个月完成.NET开源释出的工作。至于Satya Nadella,我根本不需要说服他,他完全支持。

Q:决定开源之后,先做哪些事?

A: 没办法在决定的第一天就开源,因为不是将所有的程式码开源,传统桌面程式码还没有开源,这是很大的剥离工程。另外,改用开源GitHub来管理程式码之后,如何确保全世界任何开发人员都可以使用,不论是编译、组建、测试等工作流程都要重新考虑,等于是整套微软软体开发工程的重建。所以,我们花了很多时间研究Java的作法,才发现JDK也不是完全开源,例如得和Oracle签署使用授权后才能取得程式码。

微软第一个开源的程式是TypeScript,从中开始学习开源经验,了解如何和社群共事,但还没真正学到释出后的商业模式。后续才将C#编译器(Roslyn)开源释出,然后再扩大到将.NET核心释出。採取渐进式一步步开源的策略。

Q:在微软推动开源,最大的挑战为何?

A: 一开始最困难的是跟所有人解释为何要这麽做。例如得说服法务部门,如何避免微软的智慧财产,得向市场部门解释,开源的必要性,什麽样的成功情境,才是开源的成果等。

另外,微软有一套严格的智慧财产权规范,这个规范结构不适合採取开源,因此也有很大的调整,让产品部门未来很容易可以开源。第一次想要释出TypeScript时的挑战最大,等到了.NET开源时已经非常顺利了。

另外在软体架构上也需要调整,能将要开源的程式码单独抽离,若释出的程式码还需要其他未开源的相依元件才能组建,就等于无法开源。

Q:会担心智慧财产权的问题吗?

A: 早在2010年时,微软就开始尝试将开源软体放入自家产品中,但会尽可能採取最安全的方式,斥资进行智慧财产权来避免发生问题,甚至还会考虑,万一有问题,多快能把开源软体从产品中移除。

但是,现在,没有人会再担心这类的问题。倘若是在对外的服务中使用开源软体,部署在后台环境中就不会有任何智慧财产权的风险。但若要放入盒装软体还是会有风险,因此,我们不会考虑任何Copyleft的授权,如GPL。

Q:开源后,对微软工程师有什麽影响呢?

A: 3年前,微软工程师若要看一眼开源程式码,都得经过3道申请程序,得获得我的同意,他们才能看。因为微软经历过很多侵权官司,为了避免工程师犯错,因而设置了很多壁垒。

现在微软工程师要「看」开源程式码,不用获得任何人的同意。只有要将开源程式码放入产品时才需要批淮。

当我们第一次将程式码放上GitHub时,工程师们都非常紧张,还将程式码中所有的注解都看过一遍,深怕写过什麽骂人的话或隐私要赶快删除,后来就习以为常了。

Q:开源对微软开发流程上又有什麽影响?

A: 过去微软设计产品只需和内部沟通,现在得和社群合作,这是一个全新的工作模式。开源社群贡献的程式码如何和套装产品整合,也需要新的流程。拥抱开源最需要的不是调整组织,而是要改变工作方法。

Q:为什麽需要改变工作方法?

A: 因为这是一个全新的模式。倘若微软仍然採取传统的瀑布式开发流程,就不可能开源。瀑布式开发流程是一个全权控制的模式,可以自行决定程式码开发完成的时间点,再来安排后续测试团队的工作排程。

过去,微软开发工作是计画性的,但在开源之后,无法预估有多少人有兴趣贡献程式码。开发社群贡献的程式码越多,就得投入愈多人力来审视提交出来的程式码品质。

程式码开源之后,不论是谁贡献的哪一段程式码,儘管是完成度很高的程式码,几次开源经验来看,都需要进一步检查如程式码一致性或相依性等。

Q:在这种非计画性的开源工作模式下,要如何确保产品的品质?

A: 开源释出的程式码任凭社群使用,但是,要成为微软的产品,会有另一个我们认证过的发行版本,就像RedHat Linux也会发行不同的版本一样。

或者像Google的Chromium和Chrome的作法一样,作为产品发布者,我们有权决定哪些社群贡献的程式码能放入最终产品。

Q:程式码开源后,对微软带来哪些好处?

A: 跨平台是未来的大趋势,能让Runtime跨平台,对所有开发人员都是福音,因为只要写一套程式码就能在多个平台上使用。

若.NET没有释出,只有微软自己能进行跨平台支援,但微软不可能支援所有的Linux平台,开源释出后,可以让其他人针对不同平台修改。

这也是一种变相的群众外包,让开发需求靠社群快速得到解决,而不用依赖厂商解决。

Q:微软长期开源策略是什麽?会将所有产品都开源吗?

A: 我觉得,微软不需要将所有程式都开源,而应该是选择性地开源。首选是Runtime开源,其他则是要看需求程度来释出。例如.NET开源之后,在GitHub上受欢迎程度比C#编译器高很多。

长远策略是来自当下所知,目前,我认为,开源最重要的是Runtime开源,从开发过程来看,工程师能够知道底层Runtime的程式码怎麽撰写,有助于调校程式码,改善软体效能。但是,对于工具软体的程式码,软体工程师不一定有兴趣。工程师倾向于使用一个好用的工具,而不一定会要求工具也要完全开源。

就像小孩成长过程,要先会爬之后才会走,能走之后才会跑。在开源之路,微软才刚刚学会走路,但距离会跑能跳还有很长一段路。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容