如何通过开源项目提升个人技术水平,营造技术影响力?

285 阅读4分钟

开源是什么?

  • 放在全世界公开的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 总监/架构师 换公司就没有了
    • 技术能力 换了部门就没了
    • 属于个人的标签
  • 成长的乐趣 每天都有正能量 会有成就感 哪怕是工作遇到挫折

对公司

  • 增强公司的技术品牌和技术输出
  • 为公司招聘人才 提供标杆和增加吸引力
  • 更多的商业化机会

要不要开源?

  1. 软件的能力服务是toB还是toC?
    • toC不太适合
    • toB可能比较合适
  2. 是不是完全领先与竟对
  3. 有没有直接的变现渠道
  4. 符合技术/政策的大方向
    • 符合 才能走的更远
  5. 是否有一个清晰的 开源/商业化 路线
    • 要进军哪一个领域?

开源基金会

  • 自发的 非盈利性质的组织
    • 要么是自发 自愿的
    • 要么是大公司支持的 给发工资

APACHE ECLIPSE LINUX CLOUD NATIVE CNCF