开源是什么?
- 放在全世界公开的github上面
- 相关的文档 脚本 属于谁、谁可以用、可以干什么、公司用/还是卖钱
- 要附带协议
- 宽松协议 Apache/BSD/MIT
- 严格约束 GPL v2/v3 LGPL/Mozilla
- 可持续发展的开放社区
- 开源精神: 信任 分享 贡献 协作 热爱 共识
- 热爱它 才能做大做强
- 周末 非工作日做的 可能是很多人一起来做 所以需要共识
错误观点
- 开源是慈善
- 开源意味着 免费 低成本
- 开源软件在快速的迭代和发展
- 除非可以投入人力成本 将开源软件吃透,否则出现问题后 排障的成本高
正确观点
- 开源是一种组织形式
- 开源的项目做一个产品 和在公司开发的产品 是一样的,只不过组织形式更松散
- 开源意味着更加透明和开发
- 所有的commit coment都是开放的 大家都可以看到
- 开源意味着有限但是明确的责任
- you build it, you manage it
- 作为负责人 需要对合入的代码负责
- 责任有边界 但是没有尽头
开源经济学
stack overflow
每种商品都有代替品 商业软件太贵了有低价的开源的替代品 IBM
国内开源乱象
笑话:
- 一次性开源 然后就没有后音了
- 按揭开源
- 磨磨唧唧
- KPI驱动式开源
- 开源了 但是没有社区的概念
- 随便一放 没有反馈的渠道 别人想要贡献的话 找不到人
开源模式一 个人开源
现在有上千万个开源项目 有很多失败了 有的走向塄正规军的路子 有的被大公司收购 然后继续发展
开源模式二 公司开源 参与制定标准
JVM oracle IDM saleforce CNCF 云厂商 Hadoop 大数据厂商 大公司参与 这样后面有话语权
开源模式三 左手开源 右手商业
两个版本 一个开源 一个商用
- 开源版本/社区版本 基本功能
- 商业版本 高可用 管理工具 商业支持
- 赚了钱 才能更好的支持开源
WSO2 Mule Hazelcast
Himly Soul
开源模式四 提供增值服务
文档全部提供出去
- 软件全部开源出去, 提供云/SaaS 服务: 类似Kafka RocketMQ
- 提供咨询服务 方案 调优 兼卖人头
总结
- 没有最好的模式
- 生存压力与发展的平衡
- 必须不断的维护 不断的往前跑 因为有竞争的商业软件
- fastjson/德鲁伊
- 聚沙成塔 积水成渊
-
从新手开始 不断的学习总结 不可能一次吃透
-
体系化的了解 然后去实践
-
开源模式总结
对个人 更好的职业生涯
-
职业生涯可以得到更多的锻炼
- 工作机会 自身技能的提升
- 工作一直CRUD 工作中用到的技术 一成不变 怎么可以得到更多的技术 接触更多的优秀人、提升自己的技术 发展前景的技术 找到圈子
- 公司也用开源项目 你自己踩的坑 经验可以直接应用到项目
- 找一个精通Kafka的人 公司愿意找一个Kafka项目的贡献者
- 公司需要的是Kafka才过很多坑的, 有经验的人 可以给公司带来价值 绕过潜在的坑、规避一些问题
- 学习快的人 还是会才一些坑和错误 公司更愿意花钱 买这些坑和经验
- 技术水平 在同年龄段 能达到前30% 有竞争的优势
- 工作机会 自身技能的提升
-
人际关系的扩展
- 天南海北 可以认识更多的技术
- 以后有更多的可能性
-
个人品牌的打造
- 职位 title 总监/架构师 换公司就没有了
- 技术能力 换了部门就没了
- 属于个人的标签
-
成长的乐趣 每天都有正能量 会有成就感 哪怕是工作遇到挫折
对公司
- 增强公司的技术品牌和技术输出
- 为公司招聘人才 提供标杆和增加吸引力
- 更多的商业化机会
要不要开源?
- 软件的能力服务是toB还是toC?
- toC不太适合
- toB可能比较合适
- 是不是完全领先与竟对
- 有没有直接的变现渠道
- 符合技术/政策的大方向
- 符合 才能走的更远
- 是否有一个清晰的 开源/商业化 路线
- 要进军哪一个领域?
开源基金会
- 自发的 非盈利性质的组织
- 要么是自发 自愿的
- 要么是大公司支持的 给发工资
APACHE
ECLIPSE
LINUX
CLOUD NATIVE
CNCF