360 有什么知名的开源软件?大家怎么看待 360 开源领域的表现

问与答 · outofmemory · 于 发布 · 最后由 weishu回复 · 2554 次阅读
390

看到360最近即将举办第一届360开源大会 http://code.360.cn/ ,因为自己做Android开发的原因,所以只能知道360开源的DroidPlugin 受到很多人的赞赏。

想了解360有什么知名的开源软件?大家怎么看待360开源领域的表现,比如和腾讯阿里巴巴百度等比起来呢?

共收到 5 条回复
29

看到这个问题,表示想要强行回答:

今天早上在高可用架构微信号上看到一个文章:《首发丨360开源的类Redis存储系统:Pika》

然后顺着链接点进去就能发现360的其他开源项目啦:https://github.com/Qihoo360 一共21款。

按照github里面的star和fork排行DroidPlugin勇夺第一哈,可能是Android开发比较多,而且DroidPlugin很早就提出插件化方案,360其他的开源项目表示不是很懂,大多是服务器端和前端的东西。

然后说和腾讯阿里等相比?差的不是一点点吧?尤其阿里的程序员个个恨不得都是开源社区的领袖啊!!!什么你要证据?朴灵,勾三股四,ruanyf ,玉伯 ,寒冬winter ,huacnlee,云舒(离职不久),左耳朵耗子(离职不久),道哥,sofish(已经离职现在在饿了么)等等等等等等,很神奇的阿里,到底是因为喜欢招开源社区领袖,还是阿里的文化造就?

390

#1楼 @appcode 360前几年都在战斗,最近几年业务上来了,估计工程师才会有时间去整点开源的东西,当然这个跟技术领导人的习惯有很大关系

48

今天整理了下360在github上面开源的东西,总共没多少而且很多都长期没有维护,据说国内白帽子一半以上都在360,360在安全方面的确无人能敌,但是360在开源社区方面几无建树!!

项目名称 分类 fork 功能
pika C++  61  Pika是一个可持久化的大容量redis存储服务,兼容string、hash、list、zset、set的绝大接口(兼容详情),解决redis由于存储数据量巨大而导致内存不够用的容量瓶颈,并且可以像redis一样,通过slaveof命令进行主从备份,支持全同步和部分同步
QConf C++  197 QConf 是一个分布式配置管理工具。 用来替代传统的配置文件,使得配置信息和程序代码分离,同时配置变化能够实时同步到客户端,而且保证用户高效读取配置,这使的工程师从琐碎的配置修改、代码提交、配置上线流程中解放出来,极大地简化了配置管理工作。
huststore C 54 huststore 是一个高性能的分布式存储服务,不但提供了 10w QPS 级别的 kv 存储的功能,还提供了 hash、set 等一系列数据结构的支持,并且支持 二进制 的 kv 存储,可以替代 Redis 相关的功能。此外,huststore 还结合特有的 HA 模块实现了分布式消息队列的功能,包括消息的流式推送,以及消息的 发布-订阅 等功能,可以替代 RabbitMQ 相关的功能。
logkafka C++ 29 一个日志收集代理,可以按行收集日志文件并发送到kafka 0.8,每行为一条消息。
DroidPlugin JAVA 1404 DroidPlugin 是360手机助手在Android系统上实现了一种新的插件机制:它可以在无需安装、修改的情况下运行APK文件,此机制对改进大型APP的架构,实现多团队协作开发具有一定的好处。
phptrace C 262 phptrace是一个低开销的用于跟踪、分析PHP运行情况的工具。它可以跟踪PHP在运行时的函数调用、请求信息、执行流程,并且提供有过滤器、统计信息 、当前状态等实用功能。在任何环境下,它都能很好的定位阻塞问题以及在高负载下Debug,尤其是线上产品环境。
Atlas C 576 Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性。目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条。同时,有超过50家公司在生产环境中部署了Atlas,超过800人已加入了我们的开发者交流群,并且这些数字还在不断增加。
Mario C++ 23 Mario是一个让编写从同步到异步的类库,它的线程安全较大,易于使用。Mario 的最基本的想法就是为了减少人员的安排,降低成本和时间投入。但是有了这个类库,操作人员就可以抽出精力做别的事情了。所以 Mario 类库能够很轻易的解决你的问题,你只需要你自己的消息功能。
artdumper C++ 12 android5.0之后,从oat文件中dump出来dex的工具
elog C++ 4 elog 是一个用 Erlang 编程语言写出来的日志库,使用起来很简单很快速。
thinkjs JavaScript  302 ThinkJS 是一个快速、简单的基于MVC和面向对象的轻量级Node.js开发框架,遵循MIT协议发布。秉承简洁易用的设计原则,在保持出色的性能和至简的代码同时,注重开发体验和易用性,为WEB应用开发提供强有力的支持。thinkjs里面很多特性来源于ThinkPHP,同时根据Node.js的特点,使用了Promise, WebSocket等特性,让代码更简洁、优雅。
novajs JavaScript 23 Nova.js是一个小巧的Web Component框架,旨在帮助开发者方便快速地开发组件。作者起初希望在一个移动端项目中使用Polymer进行开发,但发现Polymer的代码对于移动端小型项目过于庞大、且只支持到Android4.4。因此借鉴了Polymer的部分组件开发的思想,实现了Nova.js。Nova.js使用gzip压缩后的总大小为12K。

这个列表还有不全或者有错误的地方欢迎指出来哦,讲真整理到一半都不想整理了,https://github.com/Qihoo360上面还有一个项目是写书还是教程来着,尴尬了

30

@jonsnow nice,整理得挺细致的,360在安全这块确实无人能敌。我YY了一下360公司在开源这块不活跃原因:

企业文化

据我了解,大公司里面开源代码,都需要向上级进行批准申请,不是想说开源就开源。上级不给,员工也不能擅自做主啊。举个栗子,如微软这巨头之前就一直很排斥开源;

企业性质

360是以安全起家,最具特色的业务也是安全这块。涉及到安全技术这块,要进行开源,恐怕会非常审慎吧。当然,这样一家巨头公司,肯定也有别的很牛逼的技术在,可能觉得目前不是自己擅长的领域,所以不想开源吧。

以上两点,纯属个人瞎YY。虽然以360公司的名义进行开源的代码并不多,但不排除360很多优秀的童鞋自己私下有自己的开源项目哦。亦或者360有一天也会像微软一样拥抱开源世界呢。

61
weishu · #5 ·

作为360的员工,确实深感遗憾;我司的开源文化并不浓厚,造轮子的一大堆,开源的没几个。就拿手机卫士来说,我们应该是业界最早研究并实现插件方案的团队之一(据传闻手机助手的DroidPlugin借鉴了我们的思路,但现在看来具体实现方案大不相同),但是我们的方案至今甚至永远都不会开源。
令人讽刺的是,作为手机卫士部门的我,并不能分享我们的插件方案;而是选择业余时间研究DroidPlugin并分享给大家。360确实没有开源的基因,这与前几代的技术leader气质有关。

但是话又说回来,一个公司开源与否与技术是否强大并无必然联系;公司的开源项目其实也是公司的商业模式之一。别看阿里开源很活跃,但是它在公司层面对于开源的战略与FaceBook,Google,square差太远了;很多开源项目一旦push到github最终结果就是基本不维护,开源不是公开,是为了更好的发展。就拿ReactNative来说,你以为FaceBook只是简单的揭示一下自己做的事情有多先进多牛逼么?naive。Google有Android/Java Go的生态,Apple iOS/swift/AppStore的生态,而FaceBook有什么?在我看来,ReactNative如果发展够好是可以颠覆这两者的,这才是它开源的重点——吸引更多的开发者站到自己的阵营,形成自己的生态;而不是简单的把代码丢到github上去。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册