为啥不适合,依然有很多人大张旗鼓搞企业内部开源?(下)

为啥,适合,依然,很多,大张旗鼓,企业,内部,开源 · 浏览次数 : 1910

小编点评

**公司利益、团队利益和个人利益之间的关系:** * 利益:公司利益、团队利益和个人利益是同等且互惠的。 * 当三者高度统一时,公司利益可以完全覆盖个人利益,而个人利益可以得到公司利益的保障。 * 即使三者无法高度统一,也需要中间团队负责人的大局观。 **如何判断企业内部开源项目的有效性?** * 衡量标准:代码更新频率、文档贡献人人数、 star、fork数量、 MR 数量、周期、 comment 数量打开的issue,关闭的issue、打开到关闭的时长文档完善度。

正文

公司里做事无非「利益」二字。公司利益,团队利益和个人利益。如果三者能高度统一,那当然是好的。很多时候未必能完全统一,尤其是中间团队的利益,这个时候特别需要中间团队负责人的大局观。有的团队人浮于事,先把团队「吹起来」,然后再把事情「铺开来」,再把效果「美颜起来」,至于真实作用闭口不谈。根本没有一个长远目标和实现路径的规划。

从大局观去考量

集体利益和个体利益之间的差别。好的组织可以让大多数时候的集体利益覆盖个体利益,如果大多数时候个体利益凌驾集体利益之上,这个组织是存在问题的,直到问题积累越来越多,最后组织崩溃。

 

比如在公司基础设施还是刀耕火种的年代进行企业内部开源,尤其是很多基建都不行的时候还大张旗鼓的搞企业内部开源,不是傻就是坏。如果没意识,没法判断、错误跟风,我们没实力也就认了;如果明知不可为依然力挺,对大局的认知就有待商榷了。其实很多时候团队负责人是可以判断出来的。只不过公司不是自己开的,不想认真去思考这个问题。简单说如果你是产研100人的CEO,你会去做企业内部开源么?

为啥很多大公司在搞企业内部开源?

大公司的特点 1)团队多人多 2)分工细 3)内部卷。该占的坑都占了,升职加薪需要业绩;能体现业绩的坑都在那里,早来的都分完了。那咋办?如果已有的坑不满足,那我们就挖新坑。1)影响大 2)没人占 3)效果未知。企业内部开源就满足这些特点。扯虎皮拉大旗,先占上坑干起来再说。让全公司的人都知道我在干这事,成功与否管他呢?企业内部开源整体效能如何,管他呢?毕竟现在也没有一个统一的衡量标准在那里。如果企业内部开源还要有一个衡量标准,情怀呢?文化呢?很多人就开始毛了。衡量一下投入产出比,指定负责人、看下实际的效能还是需要的。

埃隆对于精简流程有很好的直觉。如果没有人强力驱动简化,一切都会变成委员会,公司内部的民主,流程,与利益相关者交谈,决策... 一切都会崩塌。设定非常雄心勃勃的目标,10倍问题并不代表着10倍难度。通常,10倍难度的问题,执行难度大概是2或3倍。

你看腾讯百度华为都在搞,怎么讲?这三家公司每年搞的东西很多,每年黄掉的项目更多。这三家做的很多项目有预研和探索的性质,毕竟是一线互联网公司,通常更激进一些。还有一点就是适合他们那个体量的未必适合我们。同样的一种药给大象可能是麻醉剂,给人用可能直接 gg。

企业内源衡量标准

如果真想做好一个企业内部开源项目/模块/产品,那我们先可以定一些衡量标准。先拿去跑一跑现在企业内部开源的项目,如果都达标了,我们可以继续往下跑,如果不成,立刻划分团队归属专人负责。

  1. 代码更新频率
  2. 代码和文档贡献的人员个数和趋势,人员所在部门分布及趋势,持续贡献的人数
  3. star、fork数量和趋势
  4. MR 数量、周期、comment 数量
  5. 打开的issue,关闭的issue,打开到关闭的时长
  6. 文档完善度:文档内容是否完善、文档内容和实际功能是否一致
  7. 发布频率和趋势

通过体检做决定

如果通过数据看到上面的人员过于集中,那么就应该划分到一个团队来负责;如果人员过于分散,那么就要思考下这是一个什么神仙级的项目,每个部门都在用且都在贡献代码,是功能严重缺失大家想集中完善,还是质量太差已经失控。

 

问:已有的内部项目团队可以只保留几个核心成员。其他的功能都开放给所有的人,需求任务领取,bug任务领取,文档任务领取等,全员都可以参与,PR或者文档编写之类;以开源的方式来运作。如果有好的需求也可以提,审核,开放,等着领取,如果大家都不参与就看如何运营?

答:关键是其他人为啥要参与进去?这是最需要想清楚的原因。

 

问:主动性、人脉、利益、成长,都是参加 github 的项目的理由。下次找工作,github一看就有背书了,交际认识了一群人,可以互相介绍了?个人能力提升了?
答:在开源世界中积攒的这些,会一直存续在开源社区,还有可能渗入到你的雇主;但是你在企业内部的人脉、利益、成长,无法「全部同步平移」到下家公司。

 

问:把局限在一个项目A项目B项目C的人,放在了公共的平台上展示自己的能力;算是证明自己的一个机会吧

答:在公司里完成你的现有工作是第一位的。比如去做好项目ABC这是你的本职工作,你就要首先做好;如果你还有空余时间那你再去做公共平台展示你的能力。不能为了展示你的工作能力去做公共平台了,项目ABC给耽误了,这就本末倒置了。

 

相关文章

乱谈开源社区、开源项目与企业内部开源(中)

从特拉斯辞职风波到研发效能中的荒唐事

孙荣辛 | 大数据穿针引线进阶必看——带你盘点那些必知必会的Google经典大数据论文

研发效能|DevOps 已死平台工程永存带来的焦虑

如何快速提升团队软件开发成熟度,提升研发效能?

 

感谢点赞、转载
关注我,了解研发效能发展动向
欢迎进入「DevOps研发效能群」一起探索

 

与为啥不适合,依然有很多人大张旗鼓搞企业内部开源?(下)相似的内容:

为啥不适合,依然有很多人大张旗鼓搞企业内部开源?(下)

公司里做事无非「利益」二字。公司利益,团队利益和个人利益。如果三者能高度统一,那当然是好的。很多时候未必能完全统一,尤其是中间团队的利益,这个时候特别需要中间团队负责人的大局观。有的团队人浮于事,先把团队「吹起来」,然后再把事情「铺开来」,再把效果「美颜起来」,至于真实作用闭口不谈。根本没有一个长远

RALB负载均衡算法的应用

搜索推荐算法架构为京东集团所有的搜索推荐业务提供服务,实时返回处理结果给上游。部门各子系统已经实现了基于CPU的自适应限流,但是Client端对Server端的调用依然是RR轮询的方式,没有考虑下游机器性能差异的情况,无法最大化利用集群整体CPU,存在着Server端CPU不均衡的问题。

自动化离线交付在云原生的应用和思考

本文不谈论具体的技术和方案,在对于每一个产品都有其特殊性存在。单一的产品解决方法并不适合所有的产品。但是我们可以提供一种思路甚至我们曾经在某个技术点走的弯路,旨在为各位在离线设计提供更多案例。

我们小公司,哪像华为一样,用得上IPD(集成产品开发)?

在一些咨询或活动现场,我们经常听到有朋友说:我们是小公司,IPD(集成产品开发)太厚重了,不适合我们。但……到底哪里不合适? 提及IPD,成功的案例多以大公司为主:20世纪90年代,IBM在激烈的市场竞争下,遭遇了严重的财政困难。郭士纳从快消领域转而接手IBM,顶着层层压力引入了IPD流程,将IBM

[转帖]什么情况下适合用UDP协议,什么情况下适合用TCP协议?

TCP与UDP基本区别 基于连接与无连接TCP要求系统资源较多,UDP较少;UDP程序结构较简单流模式(TCP)与数据报模式(UDP);TCP保证数据正确性,UDP可能丢包TCP保证数据顺序,UDP不保证 UDP应用场景: 面向数据报方式网络数据大多为短消息拥有大量Client对数据安全性无特殊要求

[转帖]什么情况下适合用UDP协议,什么情况下适合用TCP协议?

TCP与UDP基本区别 基于连接与无连接TCP要求系统资源较多,UDP较少;UDP程序结构较简单流模式(TCP)与数据报模式(UDP);TCP保证数据正确性,UDP可能丢包TCP保证数据顺序,UDP不保证 UDP应用场景: 面向数据报方式网络数据大多为短消息拥有大量Client对数据安全性无特殊要求

[转帖]shell的for循环

https://www.jianshu.com/p/e549b9b8d744 2020.03.05 17:19:39字数 195阅读 458 最佳推荐While 适合文件逐行处理For 固定循环While until不固定循环(需要满足条件退出) For 循环默认以空格为分隔符for循环: 将读入的

OPPO主题组件开发 - 组件内容自适应

OPPO桌面有 3*5、3*6、4*5、4*6、5*5、5*6 等布局,随着布局不同,组件大小也会发生改变;不同型号手机分辨率不同,组件大小也不一致。这就要求组件内容做到自适应。 说明 OPPO主题组件自适应有两种表现方式,如下图所示。可以很明显的看到,第一种是根据宽高等比例缩放内容,第二种是固定内

WTM的项目中EFCore如何适配人大金仓数据库

一、WTM是什么 WalkingTec.Mvvm框架(简称WTM)最早开发与2013年,基于Asp.net MVC3 和 最早的Entity Framework, 当初主要是为了解决公司内部开发效率低,代码风格不统一的问题。2017年9月,将代码移植到了.Net Core上,并进行了深度优化和重构,

1.5 为x64dbg编写插件

任何一个成熟的软件都会具有可扩展性,可扩展性是现代软件的一个重要特征,因为它使软件更易于维护和适应变化的需求,`x64dbg`也不例外其可通过开发插件的方式扩展其自身功能,`x64dbg`提供了多种插件接口,包括脚本插件、DLL插件、Python插件和.NET插件等。此外,`x64dbg`还支持用户自定义命令和快捷键。这使得用户可以自由地扩展和自定义软件的功能,从而更好地适应开发需求。我们以`C/