大家好,欢迎参加OSPO环节的分享那今天我们要分享的话题是走进OSPO开源项目办公室首先做个自我介绍,我叫刘洁目前在华为的开源与开发者部那我自己呢是从2017年开始真正接触到OSPO这块的工作目前我是Linus基辛会理事会的Observer观察员同时也是TutuGrope的华为代表我不知道大家谈到OSPO开源项目办公室的时候大家会想到些什么那随着开源这两年在国内的更加的繁荣的发展我们可以看到就是国内很多的公司都和华为当年一样去建立了自己的OSPO的开源项目办公室但是我观察到这里面的差异其实还是蛮大的比如说规模方面我会看到有的公司他可能是一个人甚至这个人还是兼职的来去完成OSPO这样一个职责那有的公司呢他可能会有2到3个或者是5到6个甚至多的有可能到10几个人他来去旅行OSPO这样的一个职责同时的话就是他的人员的构成还有包括具体的所归属的部门上面也会有很大的差异比如说有的会直接挂在以律师为主然后直接是挂在法务部下面或者这是成员部下然后有的呢是会以提升效率为主那他可能更可能是挂在比如说工程效能部下面那有的他会与社区运营和招聘为主所以他可能会放在营销相关的部门像华为呢比较特殊一点我们是放在集团的战略部下面但是我觉得在OSPO开源项目办公室这件事情上他的业务实质是要重于形式的不管他的人的多少还有挂在哪个部门其实最重要的是如果你现在做的工作是在帮助你所在的公司更好的使用开源更高效的使用开源如果你做的事情是在帮助你所在的业你所在的研发团队更好的去参与开源贡献开源那么其实你已经在做OSPO开源项目办公室的一些是工作了那为什么会有OSPO开源项目办公室这样一个职责呢我觉得个人的理解这个其实和开源当企业参加开源的时候这是一个非常自然的结果为什么呢因为我们可以看到就是开源它的本质或者说基础的价值观是开放透明共识但是当一个企业去参加开源的时候企业的内部它是需要有相应的机制流程然后它会看重我的整个参与的一个效率当然最重要的还有就是一个合规也就是说我不能因为去参与这个事情带来额外的一些分析这就是为什么我们会需要在开源社区开源项目和企业之间其实是需要OSPO作为一个桥梁来去解决这样一些的适配的问题这也是为什么我们可以看到在开源项目办公室的核心职责里面第一个手当起冲的是开源策略的内外部沟通以及开源策略的推动执行同时我们一般比较容易看到的在外部可以看到显性的是开源项目办公室OSPO它会去负责一些企业在开源项目的使用还有包括一些参与甚至会涉及到一些开源社区的运营特别是一些重点参与的或者甚至是企业自身发起的一些新的开源项目我们会在外面比较容易看到的是这些东西但事实上在里面之下我们要看到OSPO它的很大的一个职责我们刚刚提到的法务合规我怎么保证我要去保证我参与这些项目的时候使用这些代码的时候贡献代码的时候我的渠可证的开源许可真的这样一个综存是没有问题的我的商标的使用是没有问题的诸如此类等等等等然后当然还有就是我要高效的去使用这样一个项目那我的相应的基础设施工具有没有具备这个也是OSPO办公室要去考虑的当然我如果参与很多的项目参与很多的资金会组织的话那产业组织和项目会员的身份的管理也是OSPO的核心职责之一最后一个但是其实是绝对不能忽略掉的一个就是我的开源文化在企业内外这样的一个传播也是非常重要的我不知道大家听完这样的一个职责以后你会觉得对OSPO这个角色和定位是一个什么样子感受我自己最初的时候其实会有一点点以祸就是难道我要去做一个万能的管家吗那同样是管家其实也有区别就是一种管家是说我制定各种各样的流程制度和规矩然后大家按照这个规矩去走一种的话可能是我要帮大家所有人去解决这样一些问题然后还有就是我要不要去做一个像101大楼里面的那种阻尼器也就是说当一个企业的开源策略决定以后我要坚定不移然后不左不右然后去坚定的保证我这个战略的执行这两个似乎看起来再看起来好像职责很清晰但是在实际的过程中理想和现实的差距还是有的比如说你会发现虽然你制定了很清晰的开源的策略的决策流程也许你制定了很清晰的参与还有使用开源代码的一些方式规则但是你会在实际的生活中原来会发现会有各种各样的例外情况包括也有的规则都执行如何保证它执行到位其实是会有很多的细节要去做的同时的话上也提到的看似简单的依据振楼神器阻尼器看似非常简单但事实上真的涉及到各方利益的平衡这个地方的利益不但是说公司内外部的利益其实还包括公司内部不同的角色之间他们其实有可能有的时候观点也会不一样所以你会发现实上真的去做的时候不是看上去那么简单那接下来的话我会从我自己个人的角度来去看一下就是在OSPU工作里面一些比较容易的户区还有包括一些感触和建议首先这个其实不算在那四个建议里面第一个呢这个其实是属于免费赠送一个也就是如果你是现在刚刚开始接触OSPU看人项目办公室的这样一个职责的话第一个建议就是第零个建议去多找人聊天因为如果你是刚刚开始接触这一块的话直接去制定那些流程和规章制度很有可能会带跑方向或者说做最后的这个流程制度有可能是没办法解决你的实际问题的所以我会建议第一件事情先去找你身边的你的周边的严大团队也好市场的市场的项目运营的团队也好然后甚至包括业务的战略规划的部门也好去多去找他们聊看一看他们对于OSPU还有对于开源业务本身他们有什么样的诉求有什么样的问题了解了这些东西以后然后你再去看我到底应该做些什么我们缺的是什么样的流程我要去做什么样的规则我要去组织什么样的会议组织什么样的跨部门的团队就是所有的根源必须得回到我可以在帮助公司去使用更好的更高效的使用参与开源这件事情上现在有哪些障碍或者哪些问题阻碍了这个事情我是需要去做的必须得回到最初的原点那第一个经典的坑就是一般来说我们有新的团队或者说有新的项目来的时候大家的第一反应肯定是那我去找国内类似的组织或者类似的社区我去看看他们的这家实践是什么这个其实是非常自然的而且也绝对没有问题的但是一定要提醒的就是前任的经验它不是万能的虽然说经验的积累和沉淀是OSPU的核心职责之一但是OSPU的同学们一定要去不断的去提醒很多时候真的是要去不断提醒别人就是所有的经验都只能说我能够帮助你一可能的避开那些明显的坑我也许能够帮助你告诉你哪些路它成功的可能性会更大一点哪些路可能是正确的路的概率更大一点但是从来没有人能够保证你用这些经验一定会成功这是为什么往往在最佳优秀经验案例分析完了然后大家照抄一段时间以后就会有人来说为什么那些经验我们用了我们都做了但是没有用啊 这到底是为啥呢首先第一点就是适用性也就是说任何的经验都有具体的场景那我举一个例子 用一个笑话来讲就是赶节的时候西方传统师要去烤火鸡的那有一个家族呢他们有好几代人应该说他去烤火鸡的时候有个很特殊的习惯就是把那个火鸡要砍一半 砍成两半然后每一半去烤那有一天那个小孙子因为刚刚开始学习终于忍不住了他去问他奶奶 奶奶 我们家为什么这么特殊是因为这样味道会更好吗然后奶奶说 当年呀你奶奶的奶奶买的那个烤箱太小了所以我们只能砍成两半分开来烤所以这个笑话呢其实就告诉我们一件事情就是任何的经验他都会有他的当时的那个环境背景所以如果你是你知其然不知而不知其所然所以然的话可能会学到一些可能并不适合于你的这个经验所以一定要了解就是他们当时为什么去做这样一个决策而不是简单的去照抄这样一些经验那第二点呢其实也有一点点坑就是一般来说我们去分享一些经验的时候我们都会去分享一些不去讲一些大的框架我们做了什么样的事情但是由于分享的这个时间的限制也好有的时候也许是内容的操作的太所遂然后有的时候可能是保密性所以一般来说很多细节其实是在地表之下被忽略掉的那打个比方比如说我们我们的黄围有一个项目叫做Mindspot那大家可能也都有看到就是他们在开人云上做了大量的尝试包括各种各样的新媒体效果确实也会非常好然后我们也做了大量的这种经验的分享但是呢如果你完全去照那个经验去操作然后你会发现也许仍然效果可能并没有那么好就是可能达不到他那个效果有如此原因呢因为我自己我会去跟他们聊天以后我会看到一些细节比如说其实他们有很多的工作做的是非常的细比如说他的公众号发文章的时间他会去根据一些历史的公众号文章的情况会去看我某一类文章然后我在一个什么样的时间段发布的时候点击量是最高的大家是最喜欢的那我会去看某一类文章然后他不同的城市哪些城市的点击量或者说阅读量是最高的那可能这些城市后续就会变成线下Mikag活动的一些首选的城市因为那里的关注度最高所以诸如此类有很多的细节包括如果办一次Mikag的时候录一次在一些视频的时候小助手应该做些什么然后包括具体跟自己的讲师互动的时候应该是什么样子的流程应该注意哪些细节诸如此类有很多很多我想说这些就是并不是说让大家去找他去了解细节我就想说就是所有的成功的背后他不仅仅是那些规则有大量的细节还有相应的能够把这些细节落下来的这样一些团队和人员所以当我们去参考这样一些经验的时候是需要留意这样一些细节而且去尽可能的去找到适配到自己的一些点那还有一点呢其实也是我自己应该是到去年年底才纠正过来的一个预期就是大家可以看就是我们应该是19年的时候去参加一个海外的一个开源活动的时候然后我们刚好有个机会可以去出海看鲸鱼那我预期的是左边的这张图我觉得也是我可以看到一个很壮观的鲸鱼然后喷水而出的这个画面但是我想说右边那个蓝圈圈圈出来的那个小小的白雾点就是我拍到的实际的画面而且这个画面是我在海上应该飘了两个多小时我还是我们那艘船上少数极少数的拍到成功拍到这个鲸鱼照片的人为什么会讲这个故事呢是因为虽然我们知道海上遇到鲸鱼很难但是我的预期仍然是左边这张图同样在开源社区里面所有人都知道开源社区其实因为大家不是一个上下级任务分配的所以你不可能去给别人去分配任务但是有的时候我们对开源社区的期望值其实你仍然会觉得在什么时间点应该完成什么样的任务我之前其实为什么我会说我到去年年底才这个观念才扭过来那是因为我去年年底的时候没忍住然后终于去问了我们国内的一位开源大咖然后我忍不住我说为什么你的项目你可以去休假然后他还可以正常命转而且为什么感觉每隔几周然后你就会有新的特性出来那我们这么熟了你们告诉我你到底是怎么性开发就怎么让他给你贡献这些东西的然后我们周围专家是这样回答我的他说你要知道开源社区是不可能存在布置任务这个说法的你现在看到的这些隔几个星期出来的新特性很多有可能是两到三年前甚至五到六年前在社区里面就提出来的只不过他的最终的输出的呈现是在现在那这样一个例子其实就说我们必须时刻清醒的包括我们自己包括提醒团队也许甚至是公司的业务们在制定一些目标的手必须要足够的耐心足够的坚持同时一定要做一些期望值的管理那第二个想分享的点呢其实也是一个比较经典的话题那比如说我们大部分的人去参与开源项目的时候从个体来讲的话我们其实就有点像曼雷一样会觉得是因为开源本身可以呈现出巨大的可能性不管是对个人的发展也好对公司企业的这样一个生态发展也好还有包括基于社区的合作本身它都有巨大的吸引性感觉好像帅心而为感觉是不是就好了但事实上在企业从站在SPO有的时候站在企业的角度来看的话我们似乎确实又需要有一些数据来帮助我们那这个要不要量化考核的这个话题呢基本上每一场跟开源治理相关的论坛都会涉及到那我是这样来看待这个问题的就好像如果没有势力表我们可能很难去衡量说我的一个势力到底是好还是不好谁的势力更好但是其实我们每个人也很清楚的会认知有这样一个认知就是势力表如果你没有按照他要求的这个距离去测试或者说有人打小超然后他提前去背了这个势力表他可以势力很差只有0.2 0.3但他可以测出5.0的势力这些都是有可能的这就是为什么我们会说所有的这些可视化的数据他可以帮助我们很快的跟周边的部门特别是对开源没有那么熟悉的人让他们很快的会有一个概念但是我们如果把它当作唯一的一个依据参考的话其实也是非常危险的我记得红帽的一位专家他其实分享过一个例子就是PR数还有A数的数量其实是一个非常重要的参考数据去看一个社区的健康度但是会有一类特殊的情况就是一个项目已经很成熟了他的特性更新也没有那么快了所以看起来他的PR数A数的数量很低甚至有的时候几个月都没有任何的PR但是他你不能说这个项目就不好就失败了他有可能因素的人非常的多所以所有的可视化的数据我们可能需要他来去作为一个量化的数据可以去做一些衡量但是我们一定要结合具体的场景这个项目的具体的情况包括他所处的阶段来去判断做最后的这样一个综合的判断那第三点我其实犹豫了很久这个东西要不要但我觉得作为OSPU人来说还是会遇到各种各样就是各方的立场不同意见不同的情况那作为一个OSPU的工作人员来讲的话我觉得第一是要有担当第二的话是不忘出新就是有一些真正原则新的东西该坚持还是坚持然后还是要有自己的一些专业意见和专业的判断那在具体的操作过程中你也可因为OSPU你也不可能去强迫所有人接受你的观点那有一个会很重要的就是去努力的寻找一些共识点那因为很多时候立场冲突并不等于利益无法调和这个为什么会这样说呢是因为很多看似不合理的要求的背后也许其实是可以通过其他的他的真实诉求可以通过其他的方式来去实现比如说我们家小朋友会要求这两天会要突然提了个很没有办法实现的要求就是他要求我有一个有一个线上的课程他要求我说马上要结束了他说我还要上我一定要上然后一开始我要想那课程结束了我怎么可能给你去上呢感觉这个要求很不合理但后来我想了一想然后我换了个问题问他我是说你是想上这个课程呢还是如果换另外一个课程你可以愿意上吗然后他说那换另外一个课程妈妈你会陪我一起上吗然后我就发现他的真实的诉求核心的利益其实不是向内门不会再有下一集的课而是说希望和妈妈在一起一起陪伴那这个诉求我就可以去满足他这同样的道理就是当我们在OSPO这块遇到了一些所谓的僵持不下的时候我们可能要去尝试去了解在他的立场甚至看私看私很无礼的要求下面不可能接受的要求下面他真正的核心利益到底是什么然后去设计一个方案然后这个方案里面尽可能去减少大家的这样一些利益的冲突所以聚焦利益而非立场这可能是我们去化解这样一些问题的一个方式那第四点也是最后一点但其实很重要就是沟通那这句话其实是上次在红帽OSPO活动的时候有一位Lenskull的专家提到的就是最重要的永远是沟通当时我印象会非常的深是因为事实上我们今年因为疫情原因后来有很多OSPO新加坡的活动我没有参与但是在参与的这几场里面我会发现就是不同的公司不同的人虽然大家所面临的问题所处的阶段然后包括经验可能会差异会肯定是客观存在的但是其实大家的这样一些聊天一方面的话大家经验会互相分享分享另外一方面的话在这个沟通的过程中大家的很多的认知和理念其实都在不断的去碰撞然后慢慢的去磨合反而沟通完以后甚至我们会出现就是最开始大家互相不理解真正相对的人后来发现原来那些问题其实是没什么问题的这个就是为什么所以就是在沟通里面我们为什么会说开源文化传播很重要就是因为很多时候包括刚刚我们前面讲的那些利益的冲突有的情况下它还真不是真的利益冲突它是由于双方的语言认知不对齐所以当你以为你在跟他讲A的时候他脑袋里想的其实是病所以在这样的情况下的话你们谈的可能跟你不是同一件事情这就是为什么我们可能作为OSP人员的话不管是公司内部还是公司外部有机会的时候特别是公司内部不同的部门像我们会跟不但会跟开源云的团队具体接触开源之外我们会跟研发团队法国团队名校团队甚至我们跟政府关系HR我们跟他们都会有一些交流关于开源的一些基础的概念包括开源社区的一些最新的进展其实都会去做一些交流因为这些交流去做完以后一方面是文化传播另外一方面大家的语言甚至对齐以后后续了很多的事情的沟通效率会非常的高但是最重要的一件事情就是外部的交流很重要然后内部的交流分享仍然非常非常的重要那我们虽然也会有很多的就是基于项目的一些自己或者直接分享但是很重要的就是每年的时候我们会有一个大概在年初的时候会有一个类似于Linux金会的OSLS的这样一个会议给大家一个一天的会议给大家一个平台来去分享这一年在开源治理运营策略制定包括跟商业如何结合等等各种方面大家的一些经验还有一些问题那这张照片我们看到的就是今年的3月7号就是在我们刚刚提到这个大会的前一天我们第一次试着做了一个沙龙不设主题的沙龙大家其实就有点有点像就是RV的开源人的一个小型的团聚我们是从下午的两点钟一直料到当晚的10点多大家都不愿意离去因为你会发现就是不同的团队也许在你这里是一个难题然后也许另外一个团队那边他们其实已经去尝试过解决同样的问题而且已经成功了所以这样的一些内部的交流和分享也是OSPU人要去组织的一个活动因为这样的话内部的一个团队包括大家的归属感也会也会慢慢的承托起来那我的分享差不多就到这里了因为从小姐一下的话就是作为一个OSPU的人他的一个职责可能是会他的角色会很多元化也就是说当一些在开始的时候你可能是一个观察者你要去观察大家会去存在一些实量的问题然后当你想要去建立一些规则或者机制或者说是推动一些战略的执行的时候你可能是一个组织者的身份那当你遇到一些新的场面新的问题的时候你可能要变成一个思考者去找一些可能的前代方案那当你寻找到一些方案寻找到一些共识点的时候那你的身份可能又会变成一个行动者因为你要去努力的把这些东西去推动去达成共识去甚至去执行这些事情所以对我来说的话OSPU的工作其实是非常多元化你总有机会去学习更多的新的东西那也欢迎大家后续多多交流好 我的分享就到这里谢谢大家